MIPS, SPARC: fix wrong vfork aliases in libpthread.so
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.
This commit is contained in:
parent
41a359e22f
commit
43c2948756
@ -1,3 +1,10 @@
|
||||
2016-06-18 Aurelien Jarno <aurelien@aurel32.net>
|
||||
|
||||
* 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.
|
||||
|
||||
2016-06-16 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com>
|
||||
|
||||
* NEWS: Mention addition of nextup and nextdown.
|
||||
|
@ -106,6 +106,8 @@ L(error):
|
||||
#endif
|
||||
END(__vfork)
|
||||
|
||||
#if IS_IN (libc)
|
||||
libc_hidden_def(__vfork)
|
||||
weak_alias (__vfork, vfork)
|
||||
strong_alias (__vfork, __libc_vfork)
|
||||
#endif
|
||||
|
@ -44,6 +44,8 @@ ENTRY(__vfork)
|
||||
nop
|
||||
END(__vfork)
|
||||
|
||||
#if IS_IN (libc)
|
||||
libc_hidden_def (__vfork)
|
||||
weak_alias (__vfork, vfork)
|
||||
strong_alias (__vfork, __libc_vfork)
|
||||
#endif
|
||||
|
@ -44,6 +44,8 @@ ENTRY(__vfork)
|
||||
nop
|
||||
END(__vfork)
|
||||
|
||||
#if IS_IN (libc)
|
||||
libc_hidden_def (__vfork)
|
||||
weak_alias (__vfork, vfork)
|
||||
strong_alias (__vfork, __libc_vfork)
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user