Как связать статические библиотеки elf в llvm? - PullRequest
3 голосов
/ 09 февраля 2012

У меня есть файл lib (* .a), созданный с помощью armcc в формате elf.Нет возможности перекомпилировать его с помощью llvm или gcc.(Это ассемблер, написанный для armcc).

Связывание его с gnu ld прекрасно работает на Linux, но у меня проблемы с этим на Mac, с llvm.

Из-за различного внутреннего формата дляв файлах obj будет указано «Игнорирование файла ... который не связан с архитектурой»

Есть ли обходной путь для этого?Способ конвертировать эльфа в формат Mach-O?Рассказать про эльфов?

Существует такой инструмент для x86 / 86-64, написанный Агнером Фогом, но я ищу инструмент ARM.

1 Ответ

3 голосов
/ 16 февраля 2012

Существует objcopy от binutils, который должен конвертировать двоичный файл из одного формата в другой. Я думаю, вы должны иметь binutils, скомпилированные как с Linux, так и с iOS BFD. К сожалению, поддержка Mach-O в binutils была неполной (есть некоторые негативные отзывы об ARM + objcopy + Mach-O).

Смотри также:

Другим способом преобразования является повторная сборка (дизассемблируйте каждый файл .o из архива .a и собирайте его с помощью Mach-O-совместимого ассемблера).

...