gcc4.7编译linux2.6.30的错误解决方法
2012-12-05 20:27
561 查看
1.arch/x86/kernel/ptrace.c:1472:17: error: conflicting types for 'syscall_trace_enter'
解决方法:
以上 引用自https://patchwork.kernel.org/patch/1301031/
2. gcc: error: elf_i386:No such file or directory
原因:
gcc 4.6 不再支持 linker-style 架构。
解决方法:修改 arch/x86/vdso/Makefile: 将以 VDSO_LDFLAGS_vdso.lds 开头所在行的 "-m
elf_x86_64" 替换为 "-m64"。 将以 VDSO_LDFLAGS_vdso32.lds 开头所在行的 "-m elf_i386" 替换为 "-m32"。
以上参考http://blog.chinaunix.net/uid-22041495-id-3259660.html
或者也可以将gcc版本降至[3.2, 4.6)
解决方法:
Patch
--- linux-2.6.32.59/arch/x86/include/asm/ptrace.h +++ fix_ptrace.o_compile_error/arch/x86/include/asm/ptrace.h @@ -130,6 +130,7 @@ #ifdef __KERNEL__ #include <linux/init.h> +#include <linux/linkage.h> struct cpuinfo_x86; struct task_struct; @@ -142,8 +143,8 @@ int error_code, int si_code); void signal_fault(struct pt_regs *regs, void __user *frame, char *where); -extern long syscall_trace_enter(struct pt_regs *); -extern void syscall_trace_leave(struct pt_regs *); +extern asmregparm long syscall_trace_enter(struct pt_regs *); +extern asmregparm void syscall_trace_leave(struct pt_regs *); static inline unsigned long regs_return_value(struct pt_regs *regs) {
以上 引用自https://patchwork.kernel.org/patch/1301031/
2. gcc: error: elf_i386:No such file or directory
原因:
gcc 4.6 不再支持 linker-style 架构。
解决方法:修改 arch/x86/vdso/Makefile: 将以 VDSO_LDFLAGS_vdso.lds 开头所在行的 "-m
elf_x86_64" 替换为 "-m64"。 将以 VDSO_LDFLAGS_vdso32.lds 开头所在行的 "-m elf_i386" 替换为 "-m32"。
以上参考http://blog.chinaunix.net/uid-22041495-id-3259660.html
或者也可以将gcc版本降至[3.2, 4.6)
相关文章推荐
- gcc4.7编译linux2.6.30的错误解决方法
- 在linux下编译遇到 __GNUC_PREREQ 编译错误的解决方法
- linux-2.6.32内核 linux-fusion-8.1.1编译错误解决方法
- Linux下编译时出现的错误及解决方法
- 编译PlatinumKit出现的arm-linux-androideabi-g++: not found错误解决方法
- linux 编译kernel与svn版本冲突解决方法 [drivers/gpu/mali/mali/common/mali_kernel_core.o] 错误 1
- 编译升级linux由2.4.20-8到2.6.10内核时,遇到的错误,以及解决方法
- linux下带有CDT的Eclipse的helloworld编译错误的解决方法
- linux下编译C++程序出现错误 “*** stack smashing detected ***, eclipse解决方法
- linux 编译kernel与svn版本冲突解决方法 [drivers/gpu/mali/mali/common/mali_kernel_core.o] 错误 1
- linux内核编译linux 内核编译常见错误及解决方法
- GCC-4.6.3编译linux2.6.32.12内核出现“重复的成员‘page’”错误的解决方法
- 在ubuntu下编译linux版客户端遇__GNUC_PREREQ编译错误的解决方法
- linux内核编译错误 No rule to make target menuconfig解决方法
- 在ubuntu下编译linux版客户端遇__GNUC_PREREQ编译错误的解决方法
- 一个windows10系统中linux子系统的编译出现“undefine reference to”错误的解决方法
- Linux下Eclipse编译时,报recompile with -fPIC错误,解决方法
- linux 编译段错误解决方法
- iscsitarget 在Linux2.6.32内核上编译 若干编译错误与解决方法(备忘)
- Linux_ubuntu环境下Qt无法编译代码显示-1: error: cannot find -lGL错误的解决方法