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