Hi Leonid,
Leonid Lisovskiy wrote,

> Commit 251a3c19cb "sleep: employ __USE_EXTERN_INLINES (with necessary fixes)"
> introduces following problems:
> 
> 1. __USE_EXTERN_INLINES forcibly enabled build fails
> 
>  ...
>    LD libuClibc-1.0.15.so
>  libc/libc_so.a(cmsg_nxthdr.os): In function `__GI___cmsg_nxthdr':
>  cmsg_nxthdr.c:(.text.__GI___cmsg_nxthdr+0x0): multiple definition of 
> `__GI___cmsg_nxthdr'
>  libc/libc_so.a(close.os):close.c:(.text.__GI___cmsg_nxthdr+0x0): first 
> defined here
>  libc/libc_so.a(creat.os): In function `__GI___cmsg_nxthdr':
>  creat.c:(.text.__GI___cmsg_nxthdr+0x0): multiple definition of 
> `__GI___cmsg_nxthdr'
>  libc/libc_so.a(close.os):close.c:(.text.__GI___cmsg_nxthdr+0x0): first 
> defined here
>  ...
> 
> 2. libuargp wrongly contains 
> __cmsg_nxthdr/__sigismember/__sigdelset/__sigaddset
>   global symbols on platforms which includes signal.h from sys/procfs.h
>   As result, static linking will fail:
> 
>   TEST_LINK argp/ bug-argp1
>  
> /home/wbx/ppc-static/target_qemu-ppc-macppc_uclibc-ng_hard/usr/lib/libc.a(sigsetops.os):
>  In function `__GI___sigismember':
>  sigsetops.c:(.text+0x0): multiple definition of `__sigismember'
>  
> /home/wbx/ppc-static/target_qemu-ppc-macppc_uclibc-ng_hard/usr/lib/libuargp.a(argp-xinl.os):argp-xinl.c:(.text+0x0):
>  first defined here
>  
> /home/wbx/ppc-static/target_qemu-ppc-macppc_uclibc-ng_hard/usr/lib/libc.a(sigsetops.os):
>  In function `__GI___sigaddset':
>  sigsetops.c:(.text+0x28): multiple definition of `__sigaddset'
>  
> /home/wbx/ppc-static/target_qemu-ppc-macppc_uclibc-ng_hard/usr/lib/libuargp.a(argp-xinl.os):argp-xinl.c:(.text+0x28):
>  first defined here
>  
> /home/wbx/ppc-static/target_qemu-ppc-macppc_uclibc-ng_hard/usr/lib/libc.a(sigsetops.os):
>  In function `__GI___sigdelset':
>  sigsetops.c:(.text+0x4c): multiple definition of `__sigdelset'
>  
> /home/wbx/ppc-static/target_qemu-ppc-macppc_uclibc-ng_hard/usr/lib/libuargp.a(argp-xinl.os):argp-xinl.c:(.text+0x4c):
>  first defined here
> 
> We have to partially revert 251a3c19cb to fix problems above. It is
> safe to do this after commit
>  162cfaea20 *: inline constant __sig{add,del}set and __sigismember
> since we are able to use new inlines from within libc and leave the
> rest of world(__USE_EXTERN_INLINES) equal to glibc now.
> 
> Signed-off-by: Leonid Lisovskiy <[email protected]>
> ---
>  libc/signal/sigsetops.c                 |  2 +-
>  libc/sysdeps/linux/common/bits/sigset.h | 14 ++++----------
>  2 files changed, 5 insertions(+), 11 deletions(-)

Great!
Now I can test static build for more architectures.
Applied and pushed,
 Thx
  Waldemar
_______________________________________________
devel mailing list
[email protected]
http://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel

Reply via email to