diff options
author | marino <marino@pkgsrc.org> | 2014-05-12 19:10:08 +0000 |
---|---|---|
committer | marino <marino@pkgsrc.org> | 2014-05-12 19:10:08 +0000 |
commit | 5a2a66d72fb9858dfa6eb7b2f73643f84da46265 (patch) | |
tree | 91c9dd47164d49dd09f2e579b43e4dbedbaa4f9e /devel/binutils | |
parent | ec1c4d1e4a5770d8c9c7e20e217456ae4e077f97 (diff) | |
download | pkgsrc-5a2a66d72fb9858dfa6eb7b2f73643f84da46265.tar.gz |
devel/binutils: Squash erroneous hidden symbol warnings from gold linker
The gold linker is overly pedantic for dynamic references to symbols
with hidden visibility. It will spew error messages about weak symbols
in libc.so that ld.bfd does not complain about. Until the bug is resolved
disable the hidden symbol warnings. These warning also cause > 200
false failures in the gcc gnat.dg testsuite.
https://sourceware.org/bugzilla/show_bug.cgi?id=15574
This patch will keep the internal symbol warnings but suppress those
regaring symbols with hidden visibility because they aren't considered
errors by the bfd linker.
Diffstat (limited to 'devel/binutils')
-rw-r--r-- | devel/binutils/Makefile | 4 | ||||
-rw-r--r-- | devel/binutils/distinfo | 3 | ||||
-rw-r--r-- | devel/binutils/patches/patch-gold_resolve.cc | 22 |
3 files changed, 26 insertions, 3 deletions
diff --git a/devel/binutils/Makefile b/devel/binutils/Makefile index 112bd6d849c..3e1d74cdd7a 100644 --- a/devel/binutils/Makefile +++ b/devel/binutils/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.60 2014/05/12 16:33:20 marino Exp $ +# $NetBSD: Makefile,v 1.61 2014/05/12 19:10:08 marino Exp $ DISTNAME= binutils-2.24 -PKGREVISION= 2 +PKGREVISION= 3 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:=binutils/} diff --git a/devel/binutils/distinfo b/devel/binutils/distinfo index 96d0404dead..abc585ae383 100644 --- a/devel/binutils/distinfo +++ b/devel/binutils/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.18 2014/05/12 16:33:20 marino Exp $ +$NetBSD: distinfo,v 1.19 2014/05/12 19:10:08 marino Exp $ SHA1 (binutils-2.24.tar.bz2) = 7ac75404ddb3c4910c7594b51ddfc76d4693debb RMD160 (binutils-2.24.tar.bz2) = b4aa3ea5ba9d0d9f817b2cf136e7f911f692af8d @@ -9,6 +9,7 @@ SHA1 (patch-configure.ac) = 7bd7b90e57d850705286f2cc6464ecc45e0657c0 SHA1 (patch-gas_config_tc-i386.c) = 16b04ee6c3c46db375c883b4338bf5d796174458 SHA1 (patch-gold_Makefile.in) = e65a81557c49a168e6bbd966e37ce1ad4be34d72 SHA1 (patch-gold_options.h) = 3a1f9f59a1ce105f8f8d5a09fe60e0fe673b61a9 +SHA1 (patch-gold_resolve.cc) = 7e6c45cafddc73a4195c4bdacc43102a0fde3c13 SHA1 (patch-ld_Makefile.am) = 908d0e0e366d08929d27416a3361e1869abd0076 SHA1 (patch-ld_Makefile.in) = 68eba0b8a12211915a1eb99770011090f5c21ff2 SHA1 (patch-ld_configure.tgt) = 7809d739e9a681c0ebe3d60f30dc759accdff6b9 diff --git a/devel/binutils/patches/patch-gold_resolve.cc b/devel/binutils/patches/patch-gold_resolve.cc new file mode 100644 index 00000000000..6b160f8b208 --- /dev/null +++ b/devel/binutils/patches/patch-gold_resolve.cc @@ -0,0 +1,22 @@ +$NetBSD: patch-gold_resolve.cc,v 1.1 2014/05/12 19:10:08 marino Exp $ + + The gold linker is overly pedantic for dynamic references to symbols + with hidden visibility. It will spew error messages about weak symbols + in libc.so that ld.bfd does not complain about. Until the bug is resolved + disable the hidden symbol warnings. These warning also cause > 200 + false failures in the gcc gnat.dg testsuite. + + https://sourceware.org/bugzilla/show_bug.cgi?id=15574 + +--- gold/resolve.cc.orig 2013-11-04 15:33:39.000000000 +0000 ++++ gold/resolve.cc +@@ -276,8 +276,7 @@ Symbol_table::resolve(Sized_symbol<size> + to->set_in_reg(); + } + else if (st_shndx == elfcpp::SHN_UNDEF +- && (to->visibility() == elfcpp::STV_HIDDEN +- || to->visibility() == elfcpp::STV_INTERNAL)) ++ && (to->visibility() == elfcpp::STV_INTERNAL)) + { + // A dynamic object cannot reference a hidden or internal symbol + // defined in another object. |