From bf0baaf7db6c3ab7d54f274a8728612e323b1b08 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 30 Dec 2014 19:58:05 -0500 Subject: gnu: glibc: MIPS: Avoid a dangling `vfork@GLIBC_2.0' reference. * gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/base.scm (glibc): Add patch. --- gnu-system.am | 1 + gnu/packages/base.scm | 1 + .../patches/glibc-mips-dangling-vfork-ref.patch | 45 ++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch diff --git a/gnu-system.am b/gnu-system.am index 729d185d47..405c01fb07 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -366,6 +366,7 @@ dist_patch_DATA = \ gnu/packages/patches/glibc-CVE-2014-7817.patch \ gnu/packages/patches/glibc-bootstrap-system.patch \ gnu/packages/patches/glibc-ldd-x86_64.patch \ + gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch \ gnu/packages/patches/gnunet-fix-scheduler.patch \ gnu/packages/patches/gnunet-fix-tests.patch \ gnu/packages/patches/gobject-introspection-cc.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 117ee74b97..1f479ccbbe 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -377,6 +377,7 @@ included.") (modules '((guix build utils))) (patches (list (search-patch "glibc-CVE-2014-7817.patch") (search-patch "glibc-CVE-2012-3406.patch") + (search-patch "glibc-mips-dangling-vfork-ref.patch") (search-patch "glibc-ldd-x86_64.patch"))))) (build-system gnu-build-system) diff --git a/gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch b/gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch new file mode 100644 index 0000000000..852b6de669 --- /dev/null +++ b/gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch @@ -0,0 +1,45 @@ +Avoid a dangling `vfork@GLIBC_2.0' reference on MIPS. + +Note: Here the ChangeLog and NEWS updates are removed from Maciej's + patch, since they depend on other earlier commits. + +From: Maciej W. Rozycki +Date: Wed, 22 Oct 2014 14:20:37 +0000 (+0100) +Subject: MIPS: Avoid a dangling `vfork@GLIBC_2.0' reference +X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=c14e752fc73d34c75d4f84f37fea8e0b1734cf98 + +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 +--- + +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) -- cgit v1.2.3