Как скомпилировать сборку ARM в синтаксисе ARM с помощью Clang?

Похоже, что по умолчанию Clang предполагает синтаксис GNU на ассемблере.

Как скомпилировать с помощью Clang файл сборки, используя синтаксис ARM как это (директивы) и это (инструкции)?

1 ответ

Язык ассемблера определяется ассемблером - программой, которая анализирует файл и создает из него машинный код. Как мы все знаем, турбо-ассемблер, ассемблер Microsoft, Nasm и GNU-ассемблер для x86 не соответствуют одному языку. Нет оснований предполагать, что любой другой ассемблер соответствует кому-либо еще, кроме языка ассемблера. Никогда не следует использовать ссылки, подобные этим, в вопросе, посмотрите, как задавать вопросы, но если вы хотите использовать синтаксис ARM, вы должны использовать один из ассемблеров ARM, который может стать дорогостоящим. Если вы хотите синтаксис GNU, вы используете GNU, а некоторые другие вы используете другие. Аналогичным образом, автор компилятора C должен или часто желает согласовать входные данные со стандартом C, который определяется не компилятором, а органом стандартизации. Выходные данные этого компилятора не должны соответствовать какому-либо стандарту, отличному от того, который создан этим компилятором, они могут выбирать машинный код в каком-либо объектном формате или могут, поскольку они часто выбирают какой-либо язык ассемблера в любом формате ассемблера, который они хотят. Нет причин ожидать, что они будут поддерживать несколько ассемблеров. Итак, вы, очевидно, объединяете инструменты в цепочку, цепочки компилятора в ассемблер и цепочки этих выходов в компоновщик. Если конкретный инструмент llvm выбирает или поддерживает только один язык ассемблера, как определено одним ассемблером, нет никаких оснований ожидать, что он будет поддерживать какой-то другой. если они хорошо поддерживают других, возможно, вы можете просто использовать правильный параметр командной строки. Инструменты lvm, как и gnu, имеют открытый исходный код, вы можете в любое время изменить то, что вы хотите, чтобы удовлетворить ваши потребности.

Другие вопросы по тегам