https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71767

--- Comment #38 from Eric Gallager <egall at gwmail dot gwu.edu> ---
(In reply to Iain Sandoe from comment #34)
> (In reply to Eric Gallager from comment #33)
> > I'm not sure if this is due to the patches from this bug report, or if it's
> > due to some other change made to GCC recently, but my fork of Emacs now
> > fails to build with LTO due to a bunch of undefined local symbols:
> 
> honestly, rather hard to tell from the info given, please can you identify
> what you've built (and what version) and on what Darwin etc.

$ /usr/local/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/usr/local/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i386-apple-darwin9.8.0/7.0.0/lto-wrapper
Target: i386-apple-darwin9.8.0
Configured with: ../configure --disable-werror --disable-werror-always
--enable-languages=c,c++,lto,objc,obj-c++ --enable-stage1-checking=release -C
--with-system-libunwind --enable-secureplt --enable-frame-pointer
--enable-debug --with-isl --enable-objc-gc --enable-host-shared
--enable-maintainer-mode --with-ld64 CC=/usr/local/bin/gcc
CXX=/usr/local/bin/g++ : (reconfigured) ../configure --disable-werror
--disable-werror-always --enable-languages=c,c++,lto,objc,obj-c++
--enable-stage1-checking=release -C --with-system-libunwind --enable-secureplt
--enable-frame-pointer --enable-debug --with-isl --enable-objc-gc
--enable-host-shared --enable-maintainer-mode --with-ld64 CC=/usr/local/bin/gcc
CXX=/usr/local/bin/g++
Thread model: posix
gcc version 7.0.0 20161005 (experimental) (GCC) 

$ uname -a
Darwin ian-gallagers-macbook.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul
15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386

There were also a bunch of -Wlto-type-mismatch warnings when linking, but they
were there before, so I trimmed them off.

> 
> > I was figuring it might have something to do with this patch because this
> > patch messed with the "L_" prefixing of symbols. GCC's LTO worked with my
> > fork of Emacs a few months ago.
> 
> yeah, it's possible - although if you look at the logic that adds the "L"
> onto objc local syms it wasn't touched (and they shouldn't pass equality
> test with "LC" either).
> 
> Can you find any reproducer smaller than "emacs" ? 
> 
> I have a current build of 241437 under test with rebased patches and it
> doesn't show this in the LTO tests in the test-suite.  However it might be
> being hidden by some other error.  [I'll re-test with my work-around for
> instancetype applied].

(In reply to Jack Howarth from comment #35)
> (In reply to Eric Gallager from comment #33)
> > I'm not sure if this is due to the patches from this bug report, or if it's
> > due to some other change made to GCC recently, but my fork of Emacs now
> > fails to build with LTO due to a bunch of undefined local symbols:
> 
> Did you actually add the patches for this bug report to your local gcc
> build? The patches haven't been posted to gcc-patches yet or committed into
> trunk.

Yes, I did, I posted test results with them above in this bug, too. I had also
applied a few other patches from gcc-patches that hadn't been committed to
trunk yet. This actually caused a conflict with the patch from this bug that
touched the gcc subdirectory's configure script, so I had to regenerate that
manually.

Reply via email to