From 1d9c56ff697d9b03a4124fdd13750e4d5187e239 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Sat, 2 Feb 2019 22:09:17 +0000 Subject: Sat Feb 2 22:09:17 UTC 2019 ap/qpdf-8.4.0-x86_64-1.txz: Upgraded. d/Cython-0.29.4-x86_64-1.txz: Upgraded. d/binutils-2.32-x86_64-1.txz: Upgraded. Shared library .so-version bump. Is it safe to use --enable-initfini-array yet? Guess we'll find out. d/cmake-3.13.4-x86_64-1.txz: Upgraded. d/mercurial-4.9-x86_64-1.txz: Upgraded. d/oprofile-1.3.0-x86_64-2.txz: Rebuilt. Recompiled against binutils-2.32. n/iw-5.0-x86_64-1.txz: Upgraded. n/mutt-1.11.3-x86_64-1.txz: Upgraded. x/libva-utils-2.4.0-x86_64-1.txz: Upgraded. --- source/d/binutils/binutils.SlackBuild | 24 +---- ...-2.31.1-verinfo-fix-corrupt-symbol-detect.patch | 106 --------------------- .../patches/binutils.export.demangle.h.diff | 26 ++--- 3 files changed, 17 insertions(+), 139 deletions(-) delete mode 100644 source/d/binutils/patches/binutils-2.31.1-verinfo-fix-corrupt-symbol-detect.patch (limited to 'source/d/binutils') diff --git a/source/d/binutils/binutils.SlackBuild b/source/d/binutils/binutils.SlackBuild index d628b45c9..4d662efe2 100755 --- a/source/d/binutils/binutils.SlackBuild +++ b/source/d/binutils/binutils.SlackBuild @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=binutils VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-4} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: MARCH=$( uname -m ) @@ -50,23 +50,9 @@ fi NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} -# Uncomment this to include the experimental gold linker: -GOLD=" --enable-gold=yes --enable-ld=default " - # Set to ld.gold or ld.bfd: DEFAULT_LD=ld.bfd -# The --enable-initfini-array option was added in binutils-2.21.51.0.3. -# This option currently causes a world of hurt trying to compile glibc, -# and might break static libraries or cause other ill effects. There -# is an upstream patch for glibc but it does not avoid all of the known -# problems (and there may be some unknown ones, too), so we will avoid -# introducing this feature for now. -# References: -# http://sourceware.org/bugzilla/show_bug.cgi?id=12343 -# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46770 -NO_INITFINI=" --disable-initfini-array " - if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" # The config option below is currently needed to compile on x86: @@ -121,9 +107,6 @@ zcat $CWD/patches/binutils.export.demangle.h.diff.gz | patch -p1 --verbose || ex # Don't check to see if "config.h" was included in the installed headers: zcat $CWD/patches/binutils.no-config-h-check.diff.gz | patch -p1 --verbose || exit 1 -# Patch to Fix invalid version info and detect corrupted objects -zcat $CWD/patches/binutils-2.31.1-verinfo-fix-corrupt-symbol-detect.patch.gz | patch -p2 --verbose || exit 1 - # Set %version to something halfway meaningful: sed -i -e 's/%''{release}/slack15/g' bfd/Makefile{.am,.in} @@ -155,8 +138,9 @@ CFLAGS="$SLKCFLAGS" \ --enable-threads \ --enable-targets=i386-efi-pe,${TARGET} \ --enable-install-libiberty \ - $GOLD \ - $NO_INITFINI \ + --enable-gold=yes \ + --enable-ld=default \ + --enable-initfini-array \ $WERROR \ --build=$TARGET \ || exit 1 diff --git a/source/d/binutils/patches/binutils-2.31.1-verinfo-fix-corrupt-symbol-detect.patch b/source/d/binutils/patches/binutils-2.31.1-verinfo-fix-corrupt-symbol-detect.patch deleted file mode 100644 index 170577d50..000000000 --- a/source/d/binutils/patches/binutils-2.31.1-verinfo-fix-corrupt-symbol-detect.patch +++ /dev/null @@ -1,106 +0,0 @@ -diff -Naur a/binutils-2.31.1/bfd/ChangeLog b/binutils-2.31.1/bfd/ChangeLog ---- a/binutils-2.31.1/bfd/ChangeLog 2018-07-18 00:50:08.000000000 -0700 -+++ b/binutils-2.31.1/bfd/ChangeLog 2018-08-31 02:34:06.852965351 -0700 -@@ -1,3 +1,15 @@ -+2018-08-25 H.J. Lu -+ -+ PR ld/23499 -+ * elf.c (_bfd_elf_get_symbol_version_string): Return -+ _("") for corrupt symbol version info. -+ -+2018-08-10 H.J. Lu -+ -+ PR ld/23499 -+ * elflink.c (bfd_elf_record_link_assignment): Always clear -+ h->verinfo.verdef when overriding a dynamic definition. -+ - 2018-07-18 Nick Clifton - - 2.31.1 Release point. -diff -Naur a/binutils-2.31.1/bfd/elf.c b/binutils-2.31.1/bfd/elf.c ---- a/binutils-2.31.1/bfd/elf.c 2018-08-31 01:07:56.804985073 -0700 -+++ b/binutils-2.31.1/bfd/elf.c 2018-08-31 02:36:40.067964767 -0700 -@@ -1884,7 +1884,7 @@ - { - Elf_Internal_Verneed *t; - -- version_string = ""; -+ version_string = _(""); - for (t = elf_tdata (abfd)->verref; - t != NULL; - t = t->vn_nextref) -diff -Naur a/binutils-2.31.1/bfd/elflink.c b/binutils-2.31.1/bfd/elflink.c ---- a/binutils-2.31.1/bfd/elflink.c 2018-07-13 00:33:03.000000000 -0700 -+++ b/binutils-2.31.1/bfd/elflink.c 2018-08-31 01:30:01.056980022 -0700 -@@ -686,13 +686,11 @@ - && !h->def_regular) - h->root.type = bfd_link_hash_undefined; - -- /* If this symbol is not being provided by the linker script, and it is -- currently defined by a dynamic object, but not by a regular object, -- then clear out any version information because the symbol will not be -- associated with the dynamic object any more. */ -- if (!provide -- && h->def_dynamic -- && !h->def_regular) -+ /* If this symbol is currently defined by a dynamic object, but not -+ by a regular object, then clear out any version information because -+ the symbol will not be associated with the dynamic object any -+ more. */ -+ if (h->def_dynamic && !h->def_regular) - h->verinfo.verdef = NULL; - - /* Make sure this symbol is not garbage collected. */ -diff -Naur a/binutils-2.31.1/binutils/ChangeLog b/binutils-2.31.1/binutils/ChangeLog ---- a/binutils-2.31.1/binutils/ChangeLog 2018-07-18 00:50:26.000000000 -0700 -+++ b/binutils-2.31.1/binutils/ChangeLog 2018-08-31 02:37:48.060964507 -0700 -@@ -1,3 +1,9 @@ -+2018-08-25 H.J. Lu -+ -+ PR ld/23499 -+ * readelf.c (get_symbol_version_string): Return _("") -+ for corrupt symbol version info. -+ - 2018-07-18 Nick Clifton - - 2.31.1 Release point. -diff -Naur a/binutils-2.31.1/binutils/readelf.c b/binutils-2.31.1/binutils/readelf.c ---- a/binutils-2.31.1/binutils/readelf.c 2018-06-24 11:38:57.000000000 -0700 -+++ b/binutils-2.31.1/binutils/readelf.c 2018-08-31 02:47:39.215962252 -0700 -@@ -11252,6 +11252,7 @@ - unsigned char data[2]; - unsigned short vers_data; - unsigned long offset; -+ unsigned short max_vd_ndx; - - if (!is_dynsym - || version_info[DT_VERSIONTAGIDX (DT_VERSYM)] == 0) -@@ -11269,6 +11270,8 @@ - if ((vers_data & VERSYM_HIDDEN) == 0 && vers_data == 0) - return NULL; - -+ max_vd_ndx = 0; -+ - /* Usually we'd only see verdef for defined symbols, and verneed for - undefined symbols. However, symbols defined by the linker in - .dynbss for variables copied from a shared library in order to -@@ -11311,6 +11314,9 @@ - ivd.vd_flags = BYTE_GET (evd.vd_flags); - } - -+ if ((ivd.vd_ndx & VERSYM_VERSION) > max_vd_ndx) -+ max_vd_ndx = ivd.vd_ndx & VERSYM_VERSION; -+ - off += ivd.vd_next; - } - while (ivd.vd_ndx != (vers_data & VERSYM_VERSION) && ivd.vd_next != 0); -@@ -11402,6 +11408,9 @@ - return (ivna.vna_name < strtab_size - ? strtab + ivna.vna_name : _("")); - } -+ else if ((max_vd_ndx || (vers_data & VERSYM_VERSION) != 1) -+ && (vers_data & VERSYM_VERSION) > max_vd_ndx) -+ return _(""); - } - return NULL; - } diff --git a/source/d/binutils/patches/binutils.export.demangle.h.diff b/source/d/binutils/patches/binutils.export.demangle.h.diff index f6834dee5..8720da592 100644 --- a/source/d/binutils/patches/binutils.export.demangle.h.diff +++ b/source/d/binutils/patches/binutils.export.demangle.h.diff @@ -1,30 +1,30 @@ ---- ./bfd/Makefile.in.orig 2018-07-14 14:46:34.003826061 -0500 -+++ ./bfd/Makefile.in 2018-07-14 14:49:56.038807188 -0500 -@@ -248,7 +248,7 @@ +--- ./bfd/Makefile.in.orig 2019-02-02 09:47:56.000000000 -0600 ++++ ./bfd/Makefile.in 2019-02-02 14:10:55.709944225 -0600 +@@ -249,7 +249,7 @@ esac am__bfdinclude_HEADERS_DIST = $(INCDIR)/plugin-api.h bfd.h \ - $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h $(INCDIR)/bfdlink.h \ -- $(INCDIR)/diagnostics.h -+ $(INCDIR)/diagnostics.h $(INCDIR)/demangle.h + $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h bfd_stdint.h \ +- $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h ++ $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h HEADERS = $(bfdinclude_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive -@@ -468,6 +468,7 @@ +@@ -469,6 +469,7 @@ @INSTALL_LIBBFD_TRUE@bfdinclude_HEADERS = $(BFD_H) \ @INSTALL_LIBBFD_TRUE@ $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \ - @INSTALL_LIBBFD_TRUE@ $(INCDIR)/bfdlink.h \ + @INSTALL_LIBBFD_TRUE@ bfd_stdint.h $(INCDIR)/diagnostics.h \ +@INSTALL_LIBBFD_TRUE@ $(INCDIR)/demangle.h \ - @INSTALL_LIBBFD_TRUE@ $(INCDIR)/diagnostics.h $(am__append_2) + @INSTALL_LIBBFD_TRUE@ $(INCDIR)/bfdlink.h $(am__append_2) @INSTALL_LIBBFD_FALSE@rpath_bfdlibdir = @bfdlibdir@ @INSTALL_LIBBFD_FALSE@noinst_LTLIBRARIES = libbfd.la ---- ./bfd/Makefile.am.orig 2018-07-14 14:46:34.019826059 -0500 -+++ ./bfd/Makefile.am 2018-07-14 14:47:53.976818590 -0500 +--- ./bfd/Makefile.am.orig 2019-01-19 10:01:32.000000000 -0600 ++++ ./bfd/Makefile.am 2019-02-02 14:09:28.363952384 -0600 @@ -33,7 +33,7 @@ bfdincludedir = @bfdincludedir@ bfdlib_LTLIBRARIES = libbfd.la bfdinclude_HEADERS = $(BFD_H) $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h \ -- $(INCDIR)/bfdlink.h $(INCDIR)/diagnostics.h -+ $(INCDIR)/bfdlink.h $(INCDIR)/diagnostics.h $(INCDIR)/demangle.h +- bfd_stdint.h $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h ++ bfd_stdint.h $(INCDIR)/diagnostics.h $(INCDIR)/bfdlink.h $(INCDIR)/demangle.h else !INSTALL_LIBBFD # Empty these so that the respective installation directories will not be created. bfdlibdir = -- cgit v1.2.3-79-gdb01