summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorWilly Tarreau <w@1wt.eu>2013-06-07 07:11:37 +0200
committerWilly Tarreau <w@1wt.eu>2013-06-10 11:43:47 +0200
commit4ed3bb08f1698c62685278051c19f474fbf961d2 (patch)
tree360a0a3607a9ce6d3e439fd6308ae65dc533ebc3 /Makefile
parentad6bb568777206368e78b2aaa16d501d14c39be4 (diff)
x86, ptrace: fix build breakage with gcc 4.7
Christoph Biedl reported that 2.6.32 does not build with gcc 4.7 on i386 : CC arch/x86/kernel/ptrace.o arch/x86/kernel/ptrace.c:1472:17: error: conflicting types for 'syscall_trace_enter' In file included from /«PKGBUILDDIR»/arch/x86/include/asm/vm86.h:130:0, from /«PKGBUILDDIR»/arch/x86/include/asm/processor.h:10, from /«PKGBUILDDIR»/arch/x86/include/asm/thread_info.h:22, from include/linux/thread_info.h:56, from include/linux/preempt.h:9, from include/linux/spinlock.h:50, from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/timex.h:56, from include/linux/sched.h:56, from arch/x86/kernel/ptrace.c:11: /«PKGBUILDDIR»/arch/x86/include/asm/ptrace.h:145:13: note: previous declaration of 'syscall_trace_enter' was here arch/x86/kernel/ptrace.c:1517:17: error: conflicting types for 'syscall_trace_leave' In file included from /«PKGBUILDDIR»/arch/x86/include/asm/vm86.h:130:0, from /«PKGBUILDDIR»/arch/x86/include/asm/processor.h:10, from /«PKGBUILDDIR»/arch/x86/include/asm/thread_info.h:22, from include/linux/thread_info.h:56, from include/linux/preempt.h:9, from include/linux/spinlock.h:50, from include/linux/seqlock.h:29, from include/linux/time.h:8, from include/linux/timex.h:56, from include/linux/sched.h:56, from arch/x86/kernel/ptrace.c:11: /«PKGBUILDDIR»/arch/x86/include/asm/ptrace.h:146:13: note: previous declaration of 'syscall_trace_leave' was here make[4]: *** [arch/x86/kernel/ptrace.o] Error 1 make[3]: *** [arch/x86/kernel] Error 2 make[3]: *** Waiting for unfinished jobs.... He also found that this issue did not appear in more recent kernels since this asmregparm disappeared in 3.0-rc1 with commit 1b4ac2a935 that was applied after some UM changes that we don't necessarily want in 2.6.32. Thus, the cleanest fix for older kernels is to make the declaration in ptrace.h match the one in ptrace.c by specifying asmregparm on these functions. They're only called from asm which explains why it used to work despite the inconsistency in the declaration. Reported-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de> Tested-by: Christoph Biedl <linux-kernel.bfrz@manchmal.in-ulm.de> Signed-off-by: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions