From 2ef9f5cf617c07e2488382e95e7567610dab7e0e Mon Sep 17 00:00:00 2001 From: Paul Mundt Date: Mon, 2 May 2005 13:48:27 +0000 Subject: Fix __sigprocmask weak symbol resolution with gcc4. This popped up during a build with gcc4: /home/pmundt/devel/svn/buildroot/build_sh2a_nofpueb/staging_dir/bin/sh2a_nofpueb-linux-uclibc-gcc -Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fstrict-aliasing -mprefergot -Os -funit-at-a-time -mb -m2a-nofpu -fno-builtin -nostdinc -D_LIBC -I../../../../include -I. -isystem /home/pmundt/devel/svn/buildroot/build_sh2a_nofpueb/staging_dir/lib/gcc/sh2a_nofpueb-linux-uclibc/4.0.0/include -DNDEBUG -I../ -c longjmp.c -o longjmp.o /tmp/ccWyQbux.s: Assembler messages: /tmp/ccWyQbux.s:45: Error: Local symbol `__sigprocmask' can't be equated to undefined symbol `sigprocmask' make[5]: *** [longjmp.o] Error 1 make[5]: Leaving directory `/home/pmundt/devel/svn/buildroot/toolchain_build_sh2a_nofpueb/uClibc/libc/sysdeps/linux/sh' Stupid gcc. --- libc/sysdeps/linux/sh/__longjmp.S | 2 ++ libc/sysdeps/linux/sh/longjmp.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libc/sysdeps/linux/sh/__longjmp.S b/libc/sysdeps/linux/sh/__longjmp.S index 7e2b0b16d..1bab16c94 100644 --- a/libc/sysdeps/linux/sh/__longjmp.S +++ b/libc/sysdeps/linux/sh/__longjmp.S @@ -62,3 +62,5 @@ __longjmp: #endif .size __longjmp,.-__longjmp; +.weak __sigprocmask +__sigprocmask = sigprocmask diff --git a/libc/sysdeps/linux/sh/longjmp.c b/libc/sysdeps/linux/sh/longjmp.c index dd4f684ad..14e32d502 100644 --- a/libc/sysdeps/linux/sh/longjmp.c +++ b/libc/sysdeps/linux/sh/longjmp.c @@ -44,4 +44,3 @@ void __libc_siglongjmp (sigjmp_buf env, int val) __asm__(".weak longjmp; longjmp = __libc_siglongjmp"); __asm__(".weak _longjmp; _longjmp = __libc_siglongjmp"); __asm__(".weak siglongjmp; siglongjmp = __libc_siglongjmp"); -__asm__(".weak __sigprocmask; __sigprocmask = sigprocmask"); -- cgit v1.2.3