Ошибка: немедленное не может быть перемещено одним - PullRequest
1 голос
/ 27 октября 2019

Я пытаюсь скомпилировать glibc-2.30 для aarch64. Я использую очень простую конфигурацию:

../configure \
  --with-headers=/tmp/headers/include \
  --disable-sanity-checks \
  --enable-kernel=3.18.0

Нет ошибки при конфигурировании, но при запуске "make" появляется следующая ошибка:

../sysdeps/unix/syscall-template.S: Assembler messages:
../sysdeps/unix/syscall-template.S:78: Error: immediate cannot be moved by a single instruction

Я предполагаю, что должен добавить специфичный для aarch64настроить параметр?

1 Ответ

1 голос
/ 27 октября 2019

Ассемблер AArch64 выдает это сообщение об ошибке, когда встречает константу, которая не может быть закодирована в регистре. Единственными константами в оболочках системных вызовов являются номера системных вызовов, поэтому это говорит о том, что заголовки вашего ядра соответствуют неправильной архитектуре, а номера системных вызовов несовместимы с AArch64. (Заголовки ядра зависят от архитектуры и должны устанавливаться с использованием кросс-компилятора при кросс-компиляции.)

...