Проблема в интерпретации данных. Цель, на которую ссылается clang, связана с платформой, для которой вы генерируете код.
- x86_64 Это 64-битный процессор, совместимый с Intel / и
- неизвестно Я не уверен насчет этого, хотя я полагаю, что он указывает более подробную информацию о процессоре, который недоступен
- linux Вы используете ядро / операционную систему Linux
- GNU. Структура объекта должна соответствовать стандартам GNU, я считаю, что это напрямую отображается в ELF
Это будет отличаться, если вы используете BSD или Windows в качестве ОС, или если ваш процессор ARM, Intel 32 bit, Spark ...
Единственный момент, когда вы должны беспокоиться о цели, это когда вы кросс-компилируете. Другими словами, если компьютер, на котором вы запускаете компилятор, предъявляет другие требования к исполняемой структуре, чем компьютер, на котором вы будете его запускать.
PS: Clang всегда использует LLVM для IR. игнорируя устаревший Clang + C2, он всегда использует оптимизатор LLVM и генератор кода.