]> git.ipfire.org Git - thirdparty/glibc.git/commit
MIPS, SPARC: fix wrong vfork aliases in libpthread.so
authorAurelien Jarno <aurelien@aurel32.net>
Sat, 18 Jun 2016 17:11:23 +0000 (19:11 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 19 Jun 2016 13:48:38 +0000 (15:48 +0200)
commit80bf719031867f6afa96be7813f4dea1296d6bfd
treedac4d62765e3cefcdb7e8a3c4a3058da1bfdb332
parent321e1cef26ccbece949b16622ef74c203bd8ecc6
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.

(cherry picked from commit 43c2948756bb6e144c7b871e827bba37d61ad3a3)
ChangeLog
sysdeps/unix/sysv/linux/mips/vfork.S
sysdeps/unix/sysv/linux/sparc/sparc32/vfork.S
sysdeps/unix/sysv/linux/sparc/sparc64/vfork.S