Messages in this thread Patch in this message | | | Date | Mon, 29 Oct 2007 23:12:27 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: 2.6.24-rc1-82798a1 compile failure (x86_64) |
| |
Thomas,
On Mon, 29 Oct 2007, Thomas Bächler wrote: > x86_64 fails to compile for me with this error: > > CC arch/x86/kernel/vsyscall_64.o > {standard input}: Assembler messages: > {standard input}:434: Error: symbol `vsysc2' is already defined > make[1]: *** [arch/x86/kernel/vsyscall_64.o] Error 1 > make: *** [arch/x86/kernel] Error 2 > > The .config is attached. What's wrong?
Very recent gcc I guess ? Patch below should fix this.
Thanks,
tglx
diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c index ad4005c..1a658a2 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c @@ -102,7 +102,7 @@ static __always_inline void do_get_tz(struct timezone * tz) static __always_inline int gettimeofday(struct timeval *tv, struct timezone *tz) { int ret; - asm volatile("vsysc2: syscall" + asm volatile(".globl vsysc2\n vsysc2: syscall" : "=a" (ret) : "0" (__NR_gettimeofday),"D" (tv),"S" (tz) : __syscall_clobber ); @@ -112,7 +112,7 @@ static __always_inline int gettimeofday(struct timeval *tv, struct timezone *tz) static __always_inline long time_syscall(long *t) { long secs; - asm volatile("vsysc1: syscall" + asm volatile(".globl vsysc1\n vsysc1: syscall" : "=a" (secs) : "0" (__NR_time),"D" (t) : __syscall_clobber); return secs; | |