PE загрузчик в новом ядре Darwin (MacOS X)

Nov 29, 2007 20:02


Наш коллега, Steven Edwards, выяснил интересную особенность новой версии MacOS X Leopard (10.5).

Если скомпилировать простую программку из этого сообщения , которая вызывает стандартную функцию dlopen (описание тут), но передаёт ей не обычный объектный файл Mach-O, а исполняемый файл в PE-формате (простенькую программку, скомпилированную с помощью ( Read more... )

macos, wine

Leave a comment

Comments 6

sb16 November 29 2007, 20:34:15 UTC
У меня есть такое подозрение, что ноги растут из поддержки COFF-файлов (нужна ли она на самом деле или просто кто-то забыл выключить функцию при сборке - не знаю), которая растёт из FreeBSD. Возможно, что просто сейчас функция загрузки "универсальных бинариков" "неправильно" ищет COFF, вот и получается, что идёт загрузка EXE. Но это всего лишь мои догадки.

Reply

alex_bragin November 29 2007, 21:54:56 UTC
Возможно, но есть два момента:
1. В предыдущих версиях MacOS X просто выдавала соответствующую ошибку.
2. Darwin-же опенсорсный. Смотрим в сырцы, а там - есть вызовы, но файл загрузки PE находится в закрытом доступе. К чему бы такая скрытность, если это банальный leftover из библиотеки.

P.S. конечно, не факт что именно вин32 поддержку они делают. Но что-то делают, как всегда сюрприз какой-нибудь будет.

Reply

sb16 November 30 2007, 07:49:00 UTC
мда... наверняка смысл происходящего узнается не скоро и интернет обрастёт сплетнями.

а может ребята портирующие макось на обычное железо что-то откопают?

Reply

ext_1451 November 30 2007, 09:41:02 UTC
Сплетнями обрастают - да..
Сама поддержка до некоторой степени обеспечивается libbfd и gcc, и собственно в BSD появилась вместе с каким-то из импортов GCC, емнимс

Не поменялась ли в леопарде версия GCC?

Reply


rex_lockheart July 22 2008, 13:14:16 UTC
Что ж, очень похоже на то...

Даже было бы странно, если бы этого в планах Эппл не было -
primo, как бы там ни было, но софта под Мак намного меньше, чем под Windows.
(Хотя и есть самый "вкусный"- например, линейка продуктов Adobe)
Значит, надо обеспечить возможность работать с любимыми программками самым яростным сторонникам Windows.
Secundo, грех не подставить ножку конкуренту... ;)
Каждый ушедший от Майкрософт клиент почти наверняка становится клиентом Эппл.
Tertio - а может быть, в планах Apple очередной "финт ушами" и переход на платформу Win 32?

Естесственно, ни в чём подобном раньше времени Apple не признается - наоборот, будет отнекиваться, как уже было до перехода на процессоры Intel...

Reply


Leave a comment

Up