]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
MIPS: Avoid a dangling `vfork@GLIBC_2.0' reference
authorMaciej W. Rozycki <macro@codesourcery.com>
Wed, 22 Oct 2014 14:20:37 +0000 (15:20 +0100)
committerMaciej W. Rozycki <macro@codesourcery.com>
Wed, 22 Oct 2014 14:47:56 +0000 (15:47 +0100)
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

ChangeLog
NEWS
sysdeps/unix/sysv/linux/mips/vfork.S

index 0f9a3e1507e07ba2a0df05f2505d27fe6219b1f2..26ef07235339bdf39754be715820774356c9f26b 100644 (file)
--- 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-08  Roland McGrath  <roland@hack.frob.com>
 
        [BZ #17460]
diff --git a/NEWS b/NEWS
index a1d3053ef82e47d00ebdf202370448723372c95b..29229d74ff40d89e76b6ec14833bb941cc308000 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -9,7 +9,7 @@ Version 2.20.1
 
 * The following bugs are resolved with this release:
 
-  17266, 17370, 17371, 17460.
+  17266, 17370, 17371, 17460, 17485.
 \f
 Version 2.20
 
index 80c362d6ebfa5562b852ad787e384d4128029c63..2c1a747db3e835064943c3ad2a70ff0b3026ed16 100644 (file)
@@ -108,3 +108,4 @@ L(error):
 
 libc_hidden_def(__vfork)
 weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)