about summary refs log tree commit diff
path: root/elf/ifuncmod3.c
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-05-30 21:05:04 -0400
committerZack Weinberg <zackw@panix.com>2017-06-01 08:53:56 -0400
commit491bb0858e2d7edc36ced616e846803671d8db75 (patch)
tree90e756948ffc70d37707260bfe2c59b35ed09ef2 /elf/ifuncmod3.c
parent52bd9381692fd23df859fd0e564af247b1571557 (diff)
downloadglibc-491bb0858e2d7edc36ced616e846803671d8db75.tar.gz
glibc-491bb0858e2d7edc36ced616e846803671d8db75.tar.xz
glibc-491bb0858e2d7edc36ced616e846803671d8db75.zip
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.
Diffstat (limited to 'elf/ifuncmod3.c')
0 files changed, 0 insertions, 0 deletions