#linux-kernel
#linux-ядро
Вопрос:
Я учусь программировать драйвер устройства Linux. Я создал модуль Hello World, который можно было бы создать без ошибок в первый раз. Но всякий раз, когда я делаю это снова, я сталкиваюсь с проблемой:
Makefile:714: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
WARNING: "mcount" [/home/anh/src/lkm/demo.ko] undefined!
/home/anh/src/lkm/demo.mod.c:39:1: internal compiler error: Segmentation fault
MODULE_INFO(srcversion, "3251F071472830E8AC708F4");
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
make[2]: *** [/home/anh/src/lkm/demo.mod.o] Error 1
make[1]: *** [modules] Error 2
make: *** [all] Error 2
Если я перезагружу компьютер, я смогу его успешно скомпилировать, но только в первый раз.
Кто-нибудь может дать мне совет?
Вот файл Makefile:
obj-m = demo.o
ccflags-y = -w
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
Комментарии:
1. Просто сделайте то, что предлагает сообщение об ошибке: «Пожалуйста, отправьте полный отчет об ошибке …». Но перед отправкой ошибки попробуйте устранить проблемы, отмеченные в первых двух строках, about
CONFIG_CC_STACKPROTECTOR_STRONG
и aboutmcount
.2. Обновите свой компилятор и другие инструменты