首页 文章

Linux内核编译错误elf_x86_64丢失

提问于
浏览
0

我正在使用带有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

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

我希望你能帮助我,如果你需要一些进一步的信息,我会尽力提供 .

你真诚的阿德里安

2 回答

  • 0

    我换了 arch/x86/vdso/Makefile

    VDSO_LDFLAGS_vdso.lds = -m elf_x86_64 [...]
    ...
    VDSO_LDFLAGS_vdso32.lds = -m elf_x86 [...]
    

    VDSO_LDFLAGS_vdso.lds = -m64 [...]
    ...
    VDSO_LDFLAGS_vdso32.lds = -m32 [...]
    
  • 2

    问题是gcc如何从 arch/x86/vdso/Makefile 获取一些标志 . 替换

    VDSO_LDFLAGS_vdso.lds = -m elf_x86_64
    

    VDSO_LDFLAGS_vdso.lds = -m64
    

    应该管用 .

相关问题