diff options
author | Maciej W. Rozycki <macro@codesourcery.com> | 2014-10-22 15:20:37 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@codesourcery.com> | 2014-10-22 15:47:56 +0100 |
commit | c14e752fc73d34c75d4f84f37fea8e0b1734cf98 (patch) | |
tree | 9df0c16935058b63d7c37a2428bcb063ba804779 | |
parent | 1b198b7fc764c013d41d1bd7b83fed0ad3dee038 (diff) | |
download | glibc-c14e752fc73d34c75d4f84f37fea8e0b1734cf98.zip glibc-c14e752fc73d34c75d4f84f37fea8e0b1734cf98.tar.gz glibc-c14e752fc73d34c75d4f84f37fea8e0b1734cf98.tar.bz2 |
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
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/vfork.S | 1 |
3 files changed, 7 insertions, 1 deletions
@@ -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] @@ -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. Version 2.20 diff --git a/sysdeps/unix/sysv/linux/mips/vfork.S b/sysdeps/unix/sysv/linux/mips/vfork.S index 80c362d..2c1a747 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) |