[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/3]: Another go at LTO support
From: |
Ralf Wildenhues |
Subject: |
Re: [PATCH 0/3]: Another go at LTO support |
Date: |
Sun, 29 Aug 2010 20:03:40 +0200 |
User-agent: |
Mutt/1.5.20 (2010-04-22) |
Test results for this patch series more or less look the way they did
with the old proposed patch, and more reflect the state of binutils and
GCC than that of Libtool I would say; there might be ways to work around
them though, dunno yet.
1) With -flto in CC, CXX, F77, FC and LDFLAGS, I get failures of
pdemo-make and almost all recursive tests in
112: cmdline_wrap.at:28 Run tests with low max_cmd_len
where I'm hoping that all failures are due to LTO not working across
either 'ld -r' or static libraries; but I haven't checked that.
2) With -fwhopr in CFLAGS, CXXFLAGS, FFLAGS, FCFLAGS and GCJFLAGS,
I get a couple more failures:
- tagdemo-*make.test
- 25. duplicate_conv.at:25: 25. duplicate convenience archive names
(duplicate_conv.at:25): FAILED (duplicate_conv.at:81)
with excerpts below.
Cheers,
Ralf
tagdemo-conf-make.test:
/bin/sh ./libtool --tag=CXX --mode=link /opt/gcc-test/bin/g++ -fwhopr -O2
-o tagdemo main.o libbaz.la -ldl
libtool: link: /opt/gcc-test/bin/g++ -fwhopr -O2 -o .libs/tagdemo main.o
./.libs/libbaz.so /tmp/build-gcc-lto3/tests/tagdemo/.libs/libfoo.so
/opt/gcc-test/lib/../lib64/libstdc++.so -lm -ldl -Wl,-rpath
-Wl,/tmp/build-gcc-lto3/_inst-tagdemo/lib -Wl,-rpath
-Wl,/opt/gcc-test/lib/../lib64
/opt/gcc-test/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/bin/ld:
main.o: in function main:main.cpp(.text+0x71): error: undefined reference to
'vtable for foobar_derived'
/opt/gcc-test/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/bin/ld:
main.o: in function main:main.cpp(.text+0xb8): error: undefined reference to
'vtable for barbaz_derived'
collect2: ld returned 1 exit status
make[5]: *** [tagdemo] Error 1
make[5]: Target `all' not remade because of errors.
make[5]: Leaving directory `/tmp/build-gcc-lto3/tests/tagdemo'
duplicate_conv.at:
../../libtool/tests/duplicate_conv.at:79: $LIBTOOL --mode=link --tag=CC $CC
$CFLAGS $LDFLAGS -o cee.$OBJEXT c.lo a/liba.la b/liba.la
stderr:
stdout:
libtool: link: /opt/gcc-test/x86_64-unknown-linux-gnu/bin/ld -m elf_x86_64 -r
-o cee.o .libs/c.o --whole-archive a/.libs/liba.a b/.libs/liba.a
--no-whole-archive
../../libtool/tests/duplicate_conv.at:81: $LIBTOOL --mode=link $CC $CFLAGS
$LDFLAGS -o main$EXEEXT main.$OBJEXT cee.$OBJEXT
stderr:
collect2: too many lto output files
stdout:
libtool: link: /opt/gcc-test/bin/gcc -fwhopr -O2 -o main main.o cee.o
../../libtool/tests/duplicate_conv.at:81: exit code was 1, expected 0
25. duplicate_conv.at:25: 25. duplicate convenience archive names
(duplicate_conv.at:25): FAILED (duplicate_conv.at:81)