Корректная целевая тройка llvm для симулятора iPhone - PullRequest
1 голос
/ 31 мая 2011

Я написал небольшой фрагмент кода для генерации модуля LLVM, содержащего несколько глобальных переменных. Я преобразую модуль в ассемблерный код LLVM с использованием ассемблера LLVM, а затем в собственный двоичный файл, прежде чем связать его с другими библиотеками для создания окончательного двоичного файла, который представляет собой приложение для iPhone. Все работает нормально, когда я строю для устройства, но когда я строю для симулятора, я получаю следующую ошибку при преобразовании сборки LLVM в машинный код:

file.asm:1:Unknown pseudo-op: .syntax
file.asm:1:Rest of line ignored. 1st junk character valued 117 (u).

Я подозреваю, что целевая тройка неверна для архитектуры симулятора. Я использую armv6-apple-darwin9 для устройства и i386-apple-darwin10 для симулятора. Может кто-нибудь указать правильную целевую тройку для симулятора? Любые другие советы приветствуются. Симулятор работает на машине "10.7 Darwin i386" (или так uname -a говорит мне).

1 Ответ

1 голос
/ 31 мая 2011

Похоже, вы передаете код ассемблера arm ассемблеру i386 (".syntax unified" - вещь только для ARM).Итак, да, вы должны сгенерировать код для x86.Скорее всего - для i386-apple-darwin10.Хотя не уверен насчет симулятора.

...