Sfoglia il codice sorgente

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.
Paul Mundt 19 anni fa
parent
commit
2ef9f5cf61
2 ha cambiato i file con 2 aggiunte e 1 eliminazioni
  1. 2 0
      libc/sysdeps/linux/sh/__longjmp.S
  2. 0 1
      libc/sysdeps/linux/sh/longjmp.c

+ 2 - 0
libc/sysdeps/linux/sh/__longjmp.S

@@ -62,3 +62,5 @@ __longjmp:
 #endif		
 .size __longjmp,.-__longjmp;
 
+.weak __sigprocmask
+__sigprocmask = sigprocmask

+ 0 - 1
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");