]> git.ipfire.org Git - thirdparty/glibc.git/commit
Avoid tickling a linker bug from microblaze pt-vfork.S.
authorZack Weinberg <zackw@panix.com>
Wed, 31 May 2017 01:05:04 +0000 (21:05 -0400)
committerZack Weinberg <zackw@panix.com>
Thu, 1 Jun 2017 12:53:56 +0000 (08:53 -0400)
commit491bb0858e2d7edc36ced616e846803671d8db75
tree90e756948ffc70d37707260bfe2c59b35ed09ef2
parent52bd9381692fd23df859fd0e564af247b1571557
Avoid tickling a linker bug from microblaze pt-vfork.S.

libpthread used to have its own vfork implementation that differed
from libc's only in having a pointless micro-optimization.  There is
no longer any use to having a separate copy in libpthread, but the
historical ABI requires a compatibility shim.  microblaze was trying
to be slightly too clever about how it did this, and tickled a linker
bug.  The linker bug should get fixed eventually, but there's no
reason for us to keep tickling it in the meantime.

This doesn't reuse the generic pt-vfork.c because microblaze doesn't
have IFUNC support yet, and it doesn't reuse aarch64/pt-vfork.c
because that fails to generate a tailcall (with GCC 7.1.1).

* sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Don't include
alpha/pt-vfork.S.  Provide own compat shim for vfork and __vfork.
* sysdeps/unix/sysv/linux/microblaze/vfork.S: Add __libc_vfork alias.
* sysdeps/unix/sysv/linux/microblaze/localplt.data:
libpthread.so no longer references __errno_location.
ChangeLog
sysdeps/unix/sysv/linux/microblaze/localplt.data
sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
sysdeps/unix/sysv/linux/microblaze/vfork.S