aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2021-01-12 05:45:28 -0800
committerH.J. Lu <hjl.tools@gmail.com>2021-01-12 05:45:44 -0800
commitd546b61084cec687e0063b2e0e169b4690341c23 (patch)
tree389d7dbe570f63dfe1e463499b13a9b3728f2472 /ld
parent18bfb5057f2cee5079208cd70eb463892f5ff154 (diff)
downloadfsf-binutils-gdb-d546b61084cec687e0063b2e0e169b4690341c23.zip
fsf-binutils-gdb-d546b61084cec687e0063b2e0e169b4690341c23.tar.gz
fsf-binutils-gdb-d546b61084cec687e0063b2e0e169b4690341c23.tar.bz2
Implement a workaround for GNU mak jobserver
Compiling binutils using -flto=jobserver with GCC 11 leads to libtool: link: gcc -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Wwrite-strings -I../../gas/../zlib -g -O2 -fprofile-generate -flto=jobserver -o as-new app.o as.o atof-generic.o compress-debug.o cond.o depend.o dwarf2dbg.o dw2gencfi.o ecoff.o ehopt.o expr.o flonum-copy.o flonum-konst.o flonum-mult.o frags.o hash.o input-file.o input-scrub.o listing.o literal.o macro.o messages.o output-file.o read.o remap.o sb.o stabs.o subsegs.o symbols.o write.o config/tc-i386.o config/obj-elf.o config/atof-ieee.o ../opcodes/.libs/libopcodes.a ../bfd/.libs/libbfd.a -L/tmp/binutils-gdb/objdir/zlib -lz ../libiberty/libiberty.a -ldl lto-wrapper: warning: jobserver is not available: '--jobserver-auth=' is not present in 'MAKEFLAGS' since the '+' is missing on the recipe line in Makefiles generated by automake. Add the '+' to the recipe line by hand. bfd/ PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise. binutils/ PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise. config/ PR binutils/26792 * jobserver.m4: New file. gas/ PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise. gprof/ PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise. ld/ PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise. libctf/ PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise. opcodes/ PR binutils/26792 * configure.ac: Use GNU_MAKE_JOBSERVER. * aclocal.m4: Regenerated. * configure: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/aclocal.m41
-rwxr-xr-xld/configure18
-rw-r--r--ld/configure.ac2
4 files changed, 28 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index a4b0ea6..80c232d 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,12 @@
2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
+ PR binutils/26792
+ * configure.ac: Use GNU_MAKE_JOBSERVER.
+ * aclocal.m4: Regenerated.
+ * configure: Likewise.
+
+2021-01-12 H.J. Lu <hongjiu.lu@intel.com>
+
PR ld/27171
* testsuite/ld-x86-64/pe-x86-64-5.obj.bz2: New file.
* testsuite/ld-x86-64/pe-x86-64-5.od: Likewise.
diff --git a/ld/aclocal.m4 b/ld/aclocal.m4
index f6e87a2..d1823c1 100644
--- a/ld/aclocal.m4
+++ b/ld/aclocal.m4
@@ -1191,6 +1191,7 @@ m4_include([../config/acx.m4])
m4_include([../config/depstand.m4])
m4_include([../config/enable.m4])
m4_include([../config/gettext-sister.m4])
+m4_include([../config/jobserver.m4])
m4_include([../config/largefile.m4])
m4_include([../config/lcmessage.m4])
m4_include([../config/lead-dot.m4])
diff --git a/ld/configure b/ld/configure
index 4a965be..551bc72 100755
--- a/ld/configure
+++ b/ld/configure
@@ -20629,3 +20629,21 @@ if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
+
+
+touch config.status.tmp
+if touch --reference=config.status config.status.tmp > /dev/null 2>&1; then
+ sed '/as_fn_exit 0/i \
+sed -e \"s/^\t\\\(\\\$(AM_V_CCLD)\\\)/\t+ \\\1/\" Makefile > Makefile.tmp \
+touch --reference=Makefile Makefile.tmp \
+mv Makefile.tmp Makefile \
+' config.status > config.status.tmp
+ touch --reference=config.status config.status.tmp
+ mv config.status.tmp config.status
+ chmod +x config.status
+ sed -e "s/^\t\(\$(AM_V_CCLD)\)/\t+ \1/" Makefile > Makefile.tmp
+ touch --reference=Makefile Makefile.tmp
+ mv Makefile.tmp Makefile
+else
+ rm -f config.status.tmp
+fi
diff --git a/ld/configure.ac b/ld/configure.ac
index c9c69ab..767eda8 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -597,3 +597,5 @@ AC_SUBST(pdfdir)
AC_CONFIG_FILES(Makefile po/Makefile.in:po/Make-in)
AC_OUTPUT
+
+GNU_MAKE_JOBSERVER