[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