`gcc -print-prog-name=cc1plus` -v
make:***[vmlinux] error 2
解决方法如下:
cd arch/x86/include/asm
vi ptrace.h
注释掉
#include<linux/linkage.h>
146行的
extern asmregparm long syscall_trace_enter(struct pt_regs *);
extern asmregparm void syscall_trace_leave(struct pt_regs *);
增加如下两行代码
extern long syscall_trace_enter(struct pt_regs *);
extern void syscall_trace_leave(struct pt_regs *);
make: *** [headers_install] Error 2
这个只需要
[root@mydream-arch linux-2.6.27.4]# vi /usr/include/stdio.h
在第651行中把getline改成get_line即可,改完后就是下面这个样子
extern _IO_ssize_t get_line (char **__restrict __lineptr,
size_t *__restrict __n,
FILE *__restrict __stream) __wur;
arch/x86/boot/boot .h: Assembler messages:
arch/x86/boot/boot .h:112: Error: bad register name `%dil'
make[1]: *** [arch/x86/boot/video .o] Error 1
make: *** [bzImage] Error 2
解决:
在所在行用"=q"替换"=r"即可。(replace "=r" with "=q" in the affected line ."dil" (lower 8 bits part of [RE]DI) register is inexistent underx86-32, only available under x86-64 .)