Linux内核编译错误elf_x86_64缺失

use*_*421 3 c linux linux-kernel

我使用的是带有 3.11 内核的 Ubuntu Linux 12.04。

为了我的工作,我必须修补内核以使其能够实时运行。

所以我下载了带补丁的Linux 2.6.31.6内核,并尝试修补、编译和安装它。

当我尝试编译它时出现以下错误:

CC      arch/x86/vdso/vgetcpu.o
CC      arch/x86/vdso/vvar.o
VDSO    arch/x86/vdso/vdso.so.dbg

gcc: Error: elf_x86_64: File or directory not found
make[2]: *** [arch/x86/vdso/vdso.so.dbg] Error 1
make[1]: *** [arch/x86/vdso] Error 2
make: *** [arch/x86] Error 2
Run Code Online (Sandbox Code Playgroud)

对于 RT 2.6...内核的编译,我使用与 3.11 相同的配置文件(当然有一些编辑点),并且我查看了 /arch/x86/vdso 目录,并且 vdso.so.dbg 文件丢失(而且我不知道从哪里得到它)。

我希望您能帮助我,如果您需要更多信息,我会尽力提供。

此致 阿德里安

小智 5

我改变了arch/x86/vdso/Makefile

VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 [...]
...
VDSO_LDFLAGS_vdso32.lds = -m elf_x86 [...]
Run Code Online (Sandbox Code Playgroud)

VDSO_LDFLAGS_vdso.lds = -m64 [...]
...
VDSO_LDFLAGS_vdso32.lds = -m32 [...]
Run Code Online (Sandbox Code Playgroud)