[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug binutils/12280] New: Makefiles don't support LTO
From: |
hjl.tools at gmail dot com |
Subject: |
[Bug binutils/12280] New: Makefiles don't support LTO |
Date: |
Thu, 2 Dec 2010 01:16:05 +0000 |
http://sourceware.org/bugzilla/show_bug.cgi?id=12280
Summary: Makefiles don't support LTO
Product: binutils
Version: 2.22 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: binutils
AssignedTo: address@hidden
ReportedBy: address@hidden
In a combined gcc 4.6 + binutils tree configured with
-with-build-config=bootstrap-lto, I got
make -j8
...
...
libtool: link: /export/build/gnu/gcc-lto/build-x86_64-linux/./prev-gcc/xgcc
-B/export/build/gnu/gcc-lto/build-x86_64-linux/./prev-gcc/
-B/usr/gcc-4.6.0/x86_64-unknown-linux-gnu/bin/
-B/usr/gcc-4.6.0/x86_64-unknown-linux-gnu/bin/
-B/usr/gcc-4.6.0/x86_64-unknown-linux-gnu/lib/ -isystem
/usr/gcc-4.6.0/x86_64-unknown-linux-gnu/include -isystem
/usr/gcc-4.6.0/x86_64-unknown-linux-gnu/sys-include -W -Wall
-Wstrict-prototypes -Wmissing-prototypes -Wshadow -Werror -g -O2
-flto=jobserver -fuse-linker-plugin -frandom-seed=1 -o .libs/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 tc-i386.o obj-elf.o
atof-ieee.o -L/export/build/gnu/gcc-lto/build-x86_64-linux/./ld
../opcodes/.libs/libopcodes.so
-L/export/build/gnu/gcc-lto/build-x86_64-linux/opcodes/../libiberty/pic
../bfd/.libs/libbfd.so
-L/export/build/gnu/gcc-lto/build-x86_64-linux/bfd/../libiberty/pic -liberty
../libiberty/libiberty.a -lz -Wl,-rpath -Wl,/usr/gcc-4.6.0/lib
make[3]: *** read jobs pipe EOF. Stop.
make[3]: *** Waiting for unfinished jobs....
lto-wrapper: make returned 2 exit status
lto-wrapper failedcollect2: ld returned 1 exit status
make[2]: *** [as-new] Error 1
make[2]: Leaving directory `/export/build/gnu/gcc-lto/build-x86_64-linux/gas'
make[1]: *** [all-recursive] Error 1
Gcc manual says
---
You can also specify `-flto=jobserver' to use GNU make's job
server mode to determine the number of parallel jobs. This is
useful when the Makefile calling GCC is already executing in
parallel. The parent Makefile will need a `+' prepended to the
command recipe for this to work. This will likely only work if
`MAKE' is GNU make.
---
Binutils Makefiles don't have `+' and failed.
address@hidden binutils]$ grep "^LINK" */Makefile.*
bfd/Makefile.in:LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
binutils/Makefile.in:LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) \
gas/Makefile.in:LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
gold/Makefile.in:LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
-o $@
gprof/Makefile.in:LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS)
\
ld/Makefile.in:LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
opcodes/Makefile.am:LINK_FOR_BUILD = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
opcodes/Makefile.in:LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS)
$(LIBTOOLFLAGS) \
opcodes/Makefile.in:LINK_FOR_BUILD = $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) \
address@hidden binutils]$
We need to prepend `+'.
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
- [Bug binutils/12280] New: Makefiles don't support LTO,
hjl.tools at gmail dot com <=