This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] MIPS, SPARC: fix wrong vfork aliases in libpthread.so
- From: David Miller <davem at davemloft dot net>
- To: aurelien at aurel32 dot net
- Cc: libc-alpha at sourceware dot org, joseph at codesourcery dot com, david dot holsgrove at xilinx dot com
- Date: Fri, 17 Jun 2016 21:28:43 -0700 (PDT)
- Subject: Re: [PATCH] MIPS, SPARC: fix wrong vfork aliases in libpthread.so
- Authentication-results: sourceware.org; auth=none
- References: <1466173263-16155-1-git-send-email-aurelien at aurel32 dot net>
From: Aurelien Jarno <aurelien@aurel32.net>
Date: Fri, 17 Jun 2016 16:21:03 +0200
> With recent binutils versions the GNU libc fails to build on at least
> MISP and SPARC, with this kind of error:
>
> /home/aurel32/glibc/glibc-build/nptl/libpthread.so:(*IND*+0x0): multiple definition of `vfork@GLIBC_2.0'
> /home/aurel32/glibc/glibc-build/nptl/libpthread.so::(.text+0xee50): first defined here
>
> It appears that on these architectures pt-vfork.S includes vfork.S
> (through the alpha version of pt-vfork.S) and that the __vfork aliases
> are not conditionalized on IS_IN (libc) like on other architectures.
> Therefore the aliases are also wrongly included in libpthread.so.
>
> Fix this by properly conditionalizing the aliases like on other
> architectures.
>
> Changelog:
> * sysdeps/unix/sysv/linux/mips/vfork.S (__vfork): Conditionalize
> hidden_def, weak_alias and strong_alias on [IS_IN (libc)].
> * sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S: Likewise.
> * sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S: Likewise.
Sparc bits look fine to me.