aboutsummaryrefslogtreecommitdiff
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:20:37 +0100
commitb5af9297d51a43f96c5be1bafab032184690dd6f (patch)
tree309174e190e6b3665bd7b6e2a62e08ed8124a615
parenta13d0d745ca3ea5e80506db7de0498d74d44a5b7 (diff)
downloadglibc-b5af9297d51a43f96c5be1bafab032184690dd6f.tar
glibc-b5af9297d51a43f96c5be1bafab032184690dd6f.tar.gz
glibc-b5af9297d51a43f96c5be1bafab032184690dd6f.tar.bz2
glibc-b5af9297d51a43f96c5be1bafab032184690dd6f.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.
-rw-r--r--ChangeLog5
-rw-r--r--NEWS3
-rw-r--r--sysdeps/unix/sysv/linux/mips/vfork.S1
3 files changed, 8 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4ba13b3fdb..589da6b2f4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-22 Maciej W. Rozycki <macro@codesourcery.com>
+
+ [BZ #17485]
+ * sysdeps/unix/sysv/linux/mips/vfork.S (__libc_vfork): Define.
+
2014-10-21 Joseph Myers <joseph@codesourcery.com>
[BZ #14132]
diff --git a/NEWS b/NEWS
index f3e222d345..5850c4aa6e 100644
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,8 @@ Version 2.21
* The following bugs are resolved with this release:
- 6652, 12926, 14171, 15884, 17266, 17363, 17370, 17371, 17411, 17460.
+ 6652, 12926, 14171, 15884, 17266, 17363, 17370, 17371, 17411, 17460,
+ 17485.
Version 2.20
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)