diff options
author | Andrew Hsieh <andrewhsieh@google.com> | 2012-12-30 09:16:18 +0800 |
---|---|---|
committer | Andrew Hsieh <andrewhsieh@google.com> | 2012-12-30 09:16:18 +0800 |
commit | ef2c16bf99a63abea1e1ae805499e18dbb9bcb4c (patch) | |
tree | 15ad7dcd64adb498b5976a1072474d992f6a9c4a /binutils-2.21 | |
parent | dc51c7a5e0e2620dc85e6c9c46027dce94a85e1f (diff) | |
download | toolchain_binutils-ef2c16bf99a63abea1e1ae805499e18dbb9bcb4c.tar.gz toolchain_binutils-ef2c16bf99a63abea1e1ae805499e18dbb9bcb4c.tar.bz2 toolchain_binutils-ef2c16bf99a63abea1e1ae805499e18dbb9bcb4c.zip |
Backport for binutil-2.21 to respond to --with-gold-ldflags
This is needed to statically link libgcc and libstdc++ into gold
2011-09-20 Simon Baldwin <simonb@google.com>
* configure.ac: Add new --with-gold-ldadd and --with-gold-ldflags
configuration options.
* configure: Regenerate.
* Makefile.am: Handle GOLD_LDADD and GOLD_LDFLAGS.
* Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
Change-Id: I279fa7c707519cedd994248c63cae13d3c73cd35
Diffstat (limited to 'binutils-2.21')
-rw-r--r-- | binutils-2.21/gold/Makefile.am | 4 | ||||
-rw-r--r-- | binutils-2.21/gold/Makefile.in | 12 | ||||
-rwxr-xr-x | binutils-2.21/gold/configure | 34 | ||||
-rw-r--r-- | binutils-2.21/gold/configure.ac | 20 |
4 files changed, 66 insertions, 4 deletions
diff --git a/binutils-2.21/gold/Makefile.am b/binutils-2.21/gold/Makefile.am index df5e66c6..c1c3588e 100644 --- a/binutils-2.21/gold/Makefile.am +++ b/binutils-2.21/gold/Makefile.am @@ -151,12 +151,14 @@ libgold_a_LIBADD = $(LIBOBJS) sources_var = main.cc deps_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL_DEP) -ldadd_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL) \ +ldadd_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) \ $(THREADSLIB) $(LIBDL) +ldflags_var = $(GOLD_LDFLAGS) ld_new_SOURCES = $(sources_var) ld_new_DEPENDENCIES = $(deps_var) ld_new_LDADD = $(ldadd_var) +ld_new_LDFLAGS = $(ldflags_var) EXTRA_ld_new_SOURCES = $(TARGETSOURCES) diff --git a/binutils-2.21/gold/Makefile.in b/binutils-2.21/gold/Makefile.in index bf729cf8..aad0f3a7 100644 --- a/binutils-2.21/gold/Makefile.in +++ b/binutils-2.21/gold/Makefile.in @@ -101,7 +101,9 @@ am_ld_new_OBJECTS = $(am__objects_4) ld_new_OBJECTS = $(am_ld_new_OBJECTS) am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) libgold.a $(LIBIBERTY) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +ld_new_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld_new_LDFLAGS) \ + $(LDFLAGS) -o $@ @GCC_TRUE@@NATIVE_LINKER_TRUE@am_ld1_OBJECTS = $(am__objects_4) ld1_OBJECTS = $(am_ld1_OBJECTS) ld1_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(ld1_LDFLAGS) \ @@ -251,6 +253,8 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GENCAT = @GENCAT@ GMSGFMT = @GMSGFMT@ +GOLD_LDADD = @GOLD_LDADD@ +GOLD_LDFLAGS = @GOLD_LDFLAGS@ GREP = @GREP@ INCINTL = @INCINTL@ INSTALL = @INSTALL@ @@ -487,12 +491,14 @@ libgold_a_SOURCES = $(CCFILES) $(HFILES) $(YFILES) $(DEFFILES) libgold_a_LIBADD = $(LIBOBJS) sources_var = main.cc deps_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL_DEP) -ldadd_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(LIBINTL) \ +ldadd_var = $(TARGETOBJS) libgold.a $(LIBIBERTY) $(GOLD_LDADD) $(LIBINTL) \ $(THREADSLIB) $(LIBDL) +ldflags_var = $(GOLD_LDFLAGS) ld_new_SOURCES = $(sources_var) ld_new_DEPENDENCIES = $(deps_var) ld_new_LDADD = $(ldadd_var) +ld_new_LDFLAGS = $(ldflags_var) EXTRA_ld_new_SOURCES = $(TARGETSOURCES) incremental_dump_SOURCES = incremental-dump.cc incremental_dump_DEPENDENCIES = $(TARGETOBJS) libgold.a $(LIBIBERTY) \ @@ -600,7 +606,7 @@ incremental-dump$(EXEEXT): $(incremental_dump_OBJECTS) $(incremental_dump_DEPEND $(CXXLINK) $(incremental_dump_OBJECTS) $(incremental_dump_LDADD) $(LIBS) ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES) @rm -f ld-new$(EXEEXT) - $(CXXLINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS) + $(ld_new_LINK) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS) ld1$(EXEEXT): $(ld1_OBJECTS) $(ld1_DEPENDENCIES) @rm -f ld1$(EXEEXT) $(ld1_LINK) $(ld1_OBJECTS) $(ld1_LDADD) $(LIBS) diff --git a/binutils-2.21/gold/configure b/binutils-2.21/gold/configure index 5a7268d3..56a61169 100755 --- a/binutils-2.21/gold/configure +++ b/binutils-2.21/gold/configure @@ -599,6 +599,8 @@ HAVE_ZLIB_FALSE HAVE_ZLIB_TRUE LIBOBJS LFS_CFLAGS +GOLD_LDADD +GOLD_LDFLAGS WARN_CXXFLAGS NO_WERROR WARN_CFLAGS @@ -774,6 +776,8 @@ enable_dependency_tracking enable_nls enable_werror enable_build_warnings +with_gold_ldflags +with_gold_ldadd enable_maintainer_mode ' ac_precious_vars='build_alias @@ -1428,6 +1432,8 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-sysroot=DIR search for usr/lib et al within DIR + --with-gold-ldflags=FLAGS additional link flags for gold + --with-gold-ldadd=LIBS additional libraries for gold Some influential environment variables: CC C compiler command @@ -6483,6 +6489,34 @@ fi WARN_CXXFLAGS=`echo ${WARN_CFLAGS} | sed -e 's/-Wstrict-prototypes//' -e 's/-Wmissing-prototypes//' -e 's/-Wshadow//'` + +# Check whether --with-gold-ldflags was given. +if test "${with_gold_ldflags+set}" = set; then : + withval=$with_gold_ldflags; if test "$withval" = "no" -o "$withval" = "yes"; then + GOLD_LDFLAGS= + else + GOLD_LDFLAGS=$withval + fi +else + GOLD_LDFLAGS= +fi + + + + +# Check whether --with-gold-ldadd was given. +if test "${with_gold_ldadd+set}" = set; then : + withval=$with_gold_ldadd; if test "$withval" = "no" -o "$withval" = "yes"; then + GOLD_LDADD= + else + GOLD_LDADD=$withval + fi +else + GOLD_LDADD= +fi + + + LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" diff --git a/binutils-2.21/gold/configure.ac b/binutils-2.21/gold/configure.ac index 7757d8c5..1bceb1ee 100644 --- a/binutils-2.21/gold/configure.ac +++ b/binutils-2.21/gold/configure.ac @@ -388,6 +388,26 @@ AM_BINUTILS_WARNINGS WARN_CXXFLAGS=`echo ${WARN_CFLAGS} | sed -e 's/-Wstrict-prototypes//' -e 's/-Wmissing-prototypes//' -e 's/-Wshadow//'` AC_SUBST(WARN_CXXFLAGS) +AC_ARG_WITH(gold-ldflags, +[ --with-gold-ldflags=FLAGS additional link flags for gold], +[if test "$withval" = "no" -o "$withval" = "yes"; then + GOLD_LDFLAGS= + else + GOLD_LDFLAGS=$withval + fi], +[GOLD_LDFLAGS=]) +AC_SUBST(GOLD_LDFLAGS) + +AC_ARG_WITH(gold-ldadd, +[ --with-gold-ldadd=LIBS additional libraries for gold], +[if test "$withval" = "no" -o "$withval" = "yes"; then + GOLD_LDADD= + else + GOLD_LDADD=$withval + fi], +[GOLD_LDADD=]) +AC_SUBST(GOLD_LDADD) + dnl Force support for large files by default. This may need to be dnl host dependent. If build == host, we can check getconf LFS_CFLAGS. LFS_CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" |