0

while I "make all" on CentOS 7.0, kernel 3.10.0-123.el7.x86_64, some errors as following:

build-3.10.0-123.el7.x86_64/driver/intr.c: In function 'gdt_seq_show':
build-3.10.0-123.el7.x86_64/driver/intr.c:791:2: error: implicit declaration     of function 'store_gdt' [-Werror=implicit-function-declaration]
store_gdt((struct desc_ptr ) &desc);
^
cc1: some warnings being treated as errors
build-3.10.0-123.el7.x86_64/driver/intr.o] Error 1
build-3.10.0-123.el7.x86_64/driver] Error 2
make[1]: ** [kernel] Error 2

The header file "/usr/src/kernels/3.10.0-123.el7.x86_64/arch/x86/include/asm/desc.h" exists, so I don't know how to fix it?

1 Answers1

1
45  #endif

46  #if !defined(store_gdt) && LINUX_VERSION_CODE >= KERNEL_VERSION(3, 11, 0)

Your LINUX_VERSION_CODE on CentOS 7 is smaller than required here.

Add a new define after line 61 as a workaround:

#define store_gdt(ptr) asm volatile("sgdt %0":"=m" (*ptr))