Я пытаюсь скомпилировать код GAS для проекта с помощью компилятора GCC gnu. Вот как я его компилирую:
gcc -c boot.s -o boot.o -fPIC
После компиляции файла kernel.c с аргументом -fPIC
я пытаюсь связать его с помощью этой команды:
gcc -N -T linker.ld -o Slack\ Berry.bin -ffreestanding -nostdlib kernel.o boot.o -lgcc
Получается:
/usr/bin/ld: boot.o: relocation R_X86_64_32 against '.multiboot' can not be used when making a PIE object; recompile with -fPIC
Это заставляет меня думать, что мой код GAS не компилируется с -fPIC
. Как я могу это исправить?