about summary refs log tree commit diff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@codesourcery.com>2014-10-22 15:20:37 +0100
committerMaciej W. Rozycki <macro@codesourcery.com>2014-10-22 15:47:56 +0100
commitc14e752fc73d34c75d4f84f37fea8e0b1734cf98 (patch)
tree9df0c16935058b63d7c37a2428bcb063ba804779 /sysdeps/unix
parent1b198b7fc764c013d41d1bd7b83fed0ad3dee038 (diff)
downloadglibc-c14e752fc73d34c75d4f84f37fea8e0b1734cf98.tar.gz
glibc-c14e752fc73d34c75d4f84f37fea8e0b1734cf98.tar.xz
glibc-c14e752fc73d34c75d4f84f37fea8e0b1734cf98.zip
MIPS: Avoid a dangling `vfork@GLIBC_2.0' reference
This satisfies a symbol reference created with:

	.symver	__libc_vfork, vfork@GLIBC_2.0

where `__libc_vfork' has not been defined or referenced.  In this case
the `vfork@GLIBC_2.0' reference is supposed to be discarded, however a
bug present in GAS since forever causes an undefined symbol table entry
to be created.  This in turn triggers a problem in the linker that can
manifest itself by link errors such as:

ld: libpthread.so: invalid string offset 2765592330 >= 5154 for section `.dynstr'

The GAS and linker bugs need to be resolved, but we can avoid them too
by providing a `__libc_vfork' definition just like our other platforms.

	[BZ #17485]
	* sysdeps/unix/sysv/linux/mips/vfork.S (__libc_vfork): Define.

(cherry picked from commit b5af9297d51a43f96c5be1bafab032184690dd6f)

Conflicts:
	NEWS
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/mips/vfork.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/sysdeps/unix/sysv/linux/mips/vfork.S b/sysdeps/unix/sysv/linux/mips/vfork.S
index 80c362d6eb..2c1a747db3 100644
--- a/sysdeps/unix/sysv/linux/mips/vfork.S
+++ b/sysdeps/unix/sysv/linux/mips/vfork.S
@@ -108,3 +108,4 @@ L(error):
 
 libc_hidden_def(__vfork)
 weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)