Использует ли ваш проект какой-либо встроенный ARM-ассемблер?Очевидно, что это не сработает при нацеливании на x86-64.
GCC компилирует исходный код C / C ++ в файл temp .s
, а затем собирает его отдельно, поэтому возникает ошибка, подобная этой (включая путь ...\Temp\ccFTr3cX.s
)) это точно то, что вы ожидаете, если пропустите где-нибудь оператор asm
.
Это, вероятно, не расширенный оператор asm с ограничениями ввода / вывода, иначе компилятор, вероятно, заменил быв ldr eax, [rcx]
или что-то.Но в любом случае вам нужен токен asm
или __asm__
в исходном файле C ++, из которого была построена Temp\ccFTr3cX.s
.
Просмотрите журналы сборки, чтобы увидеть, или используйте gcc -save-temps
, чтобывы можете более просто взглянуть на этот .s
и увидеть, из какого исходного файла он был построен.
R13 является указателем стека ARM32, поэтому этот код, вероятно, является частью функции переключения контекста.В противном случае вы редко загружаете новое значение указателя стека из памяти.