Ошибка компиляции модуля ядра (gcc: ошибка: elf_x86_64: нет такого файла или каталога)

Я пытаюсь скомпилировать простой модуль ядра, но компиляция завершилась неудачно из-за неправильного аргумента, переданного с make в gcc.

Это Makefile: [!d1 ]

obj-m += test.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) test

Запуск make вызывает следующие ошибки:

$ make
make -C /lib/modules/3.16.0-33-generic/build M=/home/user/test test
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-33-generic'
gcc   -m elf_x86_64  /home/user/test/test.c   -o test
gcc: error: elf_x86_64: No such file or directory
gcc: error: unrecognized command line option ‘-m’
make[1]: *** [test] Error 1
make[1]: Leaving directory `/usr/src/linux-headers-3.16.0-33-generic'
make: *** [all] Error 2

Этот ответ не помогает: я искал все файлы внутри /usr для тех, которые содержат -m elf_x86, используя grep -rnw '/usr' -e "-m elf_x86" и никакие совпадения файлов, поэтому я понятия не имею, какой файл мне нужно изменить, чтобы переопределить поведение make.

1
задан 23 May 2017 в 15:39

0 ответов

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

Похожие вопросы: