[arch-commits] Commit in binutils/trunk (PKGBUILD binutils-e9c1bdad.patch)

Allan McRae allan at archlinux.org
Sat May 9 21:40:39 UTC 2015


    Date: Saturday, May 9, 2015 @ 23:40:39
  Author: allan
Revision: 238775

upgpkg: binutils 2.25-5

use git to build from release branch as bug fix releases are rare, pull patch to fix qt issues with gcc-5

Added:
  binutils/trunk/binutils-e9c1bdad.patch
Modified:
  binutils/trunk/PKGBUILD

-------------------------+
 PKGBUILD                |   27 ++++++++-------
 binutils-e9c1bdad.patch |   78 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 93 insertions(+), 12 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2015-05-09 21:17:54 UTC (rev 238774)
+++ PKGBUILD	2015-05-09 21:40:39 UTC (rev 238775)
@@ -3,10 +3,12 @@
 
 # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
 
+# build from head of release branch as bug fix releases are rare
+
 pkgname=binutils
 pkgver=2.25
-pkgrel=4
-_commit=c42c779b
+pkgrel=5
+_commit=69352378
 pkgdesc="A set of programs to assemble and manipulate binary and object files"
 arch=('i686' 'x86_64')
 url="http://www.gnu.org/software/binutils/"
@@ -13,22 +15,23 @@
 license=('GPL')
 groups=('base-devel')
 depends=('glibc>=2.20' 'zlib')
+makedepends=('git')
 checkdepends=('dejagnu' 'bc')
 conflicts=('binutils-multilib')
 replaces=('binutils-multilib')
 options=('staticlibs' '!distcc' '!ccache')
 install=binutils.install
-source=(ftp://ftp.gnu.org/gnu/binutils/binutils-${pkgver}.tar.bz2{,.sig}
-        binutils-${pkgver}-roundup-${_commit}.patch::https://sourceware.org/git/gitweb.cgi\?p=binutils-gdb.git\;a=commitdiff_plain\;h=${_commit}\;hp=binutils-2_25)
-md5sums=('d9f3303f802a5b6b0bb73a335ab89d66'
-         'SKIP'
-         '3df8fd5d9dd7cc67413d3816c7584297')
-validpgpkeys=('EAF1C276A747E9ED86210CBAC3126D3B4AE55E93')  # Tristan Gingold
+source=(git://sourceware.org/git/binutils-gdb.git#commit=${_commit}
+        binutils-e9c1bdad.patch)
+md5sums=('SKIP'
+         'eb3aceaab8ed26e06d505f82beb30f8f')
 
 prepare() {
-  cd ${srcdir}/binutils-${pkgver}
-  patch -p1 -i $srcdir/binutils-${pkgver}-roundup-${_commit}.patch
+  cd ${srcdir}/binutils-gdb
 
+  # https://sourceware.org/bugzilla/show_bug.cgi?id=16992
+  patch -p1 -i ${srcdir}/binutils-e9c1bdad.patch
+
   # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS"
   sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure
 
@@ -38,12 +41,12 @@
 build() {
   cd ${srcdir}/binutils-build
 
-  ${srcdir}/binutils-${pkgver}/configure --prefix=/usr \
+  ${srcdir}/binutils-gdb/configure --prefix=/usr \
     --with-lib-path=/usr/lib:/usr/local/lib \
     --with-bugurl=https://bugs.archlinux.org/ \
     --enable-threads --enable-shared --with-pic \
     --enable-ld=default --enable-gold --enable-plugins \
-    --disable-werror
+    --disable-werror --disable-gdb
 
   # check the host environment and makes sure all the necessary tools are available
   make configure-host

Added: binutils-e9c1bdad.patch
===================================================================
--- binutils-e9c1bdad.patch	                        (rev 0)
+++ binutils-e9c1bdad.patch	2015-05-09 21:40:39 UTC (rev 238775)
@@ -0,0 +1,78 @@
+diff --git a/gold/layout.cc b/gold/layout.cc
+index bcdaac8..7836640 100644
+--- a/gold/layout.cc
++++ b/gold/layout.cc
+@@ -4873,7 +4873,8 @@ Layout::finish_dynamic_section(const Input_objects* input_objects,
+     flags |= elfcpp::DF_STATIC_TLS;
+   if (parameters->options().origin())
+     flags |= elfcpp::DF_ORIGIN;
+-  if (parameters->options().Bsymbolic())
++  if (parameters->options().Bsymbolic()
++      && !parameters->options().have_dynamic_list())
+     {
+       flags |= elfcpp::DF_SYMBOLIC;
+       // Add DT_SYMBOLIC for compatibility with older loaders.
+diff --git a/gold/options.cc b/gold/options.cc
+index 7eb8f27..7f1f69e 100644
+--- a/gold/options.cc
++++ b/gold/options.cc
+@@ -1200,13 +1200,6 @@ General_options::finalize()
+   // in the path, as appropriate.
+   this->add_sysroot();
+ 
+-  // --dynamic-list overrides -Bsymbolic and -Bsymbolic-functions.
+-  if (this->have_dynamic_list())
+-    {
+-      this->set_Bsymbolic(false);
+-      this->set_Bsymbolic_functions(false);
+-    }
+-
+   // Now that we've normalized the options, check for contradictory ones.
+   if (this->shared() && this->is_static())
+     gold_fatal(_("-shared and -static are incompatible"));
+diff --git a/gold/symtab.h b/gold/symtab.h
+index aa0cb68..9413360 100644
+--- a/gold/symtab.h
++++ b/gold/symtab.h
+@@ -604,10 +604,8 @@ class Symbol
+     if (parameters->options().in_dynamic_list(this->name()))
+       return true;
+ 
+-    // If the user used -Bsymbolic or provided a --dynamic-list script,
+-    // then nothing (else) is preemptible.
+-    if (parameters->options().Bsymbolic()
+-        || parameters->options().have_dynamic_list())
++    // If the user used -Bsymbolic, then nothing (else) is preemptible.
++    if (parameters->options().Bsymbolic())
+       return false;
+ 
+     // If the user used -Bsymbolic-functions, then functions are not
+diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
+index f767c21..7b73f9d 100644
+--- a/gold/testsuite/Makefile.am
++++ b/gold/testsuite/Makefile.am
+@@ -1518,7 +1518,7 @@ dynamic_list_lib1.o: dynamic_list_lib1.cc
+ 	$(CXXCOMPILE) -c -fpic -o $@ $<
+ 
+ dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
+-	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
++	$(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
+ dynamic_list_lib2.o: dynamic_list_lib2.cc
+ 	$(CXXCOMPILE) -c -fpic -o $@ $<
+ 
+diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
+index 217e472..b4ae3fd 100644
+--- a/gold/testsuite/Makefile.in
++++ b/gold/testsuite/Makefile.in
+@@ -5319,7 +5319,7 @@ uninstall-am:
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXCOMPILE) -c -fpic -o $@ $<
+ 
+ @GCC_TRUE@@NATIVE_LINKER_TRUE at dynamic_list_lib2.so: gcctestdir/ld dynamic_list_lib2.o $(srcdir)/dynamic_list_2.t
+- at GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXLINK) -Bgcctestdir/ -shared -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
++ at GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXLINK) -Bgcctestdir/ -shared -Wl,-Bsymbolic-functions -Wl,--dynamic-list,$(srcdir)/dynamic_list_2.t dynamic_list_lib2.o
+ @GCC_TRUE@@NATIVE_LINKER_TRUE at dynamic_list_lib2.o: dynamic_list_lib2.cc
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@	$(CXXCOMPILE) -c -fpic -o $@ $<
+ 
+-- 
+1.9.4
+



More information about the arch-commits mailing list