[Bug c++/57208] Latest chromium compilation fails with enabled LTO
hubicka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jun 21 13:01:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57208
--- Comment #19 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
chrome.wpa.000i.cgraph:
_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi/8859591 (OnIOComplete)
@0x7f80e10be980
Type: function definition analyzed
Visibility: force_output prevailing_def_ironly
Address is taken.
References:
Referring: _ZN3net12_GLOBAL__N_113DnsTCPAttempt12DoSendLengthEi/8859587
(addr)_ZN3net12_GLOBAL__N_113DnsTCPAttempt11DoSendQueryEi/8859588
(addr)_ZN3net12_GLOBAL__N_113DnsTCPAttempt12DoReadLengthEi/8859589
(addr)_ZN3net12_GLOBAL__N_113DnsTCPAttempt14DoReadResponseEi/8859590
(addr)_ZN3net12_GLOBAL__N_113DnsTCPAttempt5StartERKN4base8CallbackIFviEEE/8859580
(addr)
Read from file: obj/net/dns/net.dns_transaction.o
Availability: available
Function flags:
Called by:
Calls: _ZN3net12_GLOBAL__N_113DnsTCPAttempt6DoLoopEi/8859585 (1.00 per call)
Has 1 outgoing edges for indirect calls.
marxin@marxinbox /ssd/chromium-2/src/out/Release $ grep
_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi *.s
chrome.ltrans16.s: leaq
_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi(%rip), %rax
chrome.ltrans29.s: leaq
_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi(%rip), %rsi
chrome.ltrans29.s: leaq
_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi(%rip), %rsi
chrome.ltrans29.s: .type
_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi, @function
chrome.ltrans29.s:_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi:
chrome.ltrans29.s: .size
_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi,
.-_ZN3net12_GLOBAL__N_113DnsTCPAttempt12OnIOCompleteEi
This actually looks like partitioning problem. I misread the dump ysterday - it
is a local function and it seems that somehow we manage to get referenc eto it
from ltrans16 while it is static to ltrans29. Can I see .cgraph dump of
ltrans16? If you have -fdump-tree-all dumps (or you can just rebuild ltrans16
with this dump) it should be possible to grep the dumps to work out if the
symbol appears as a result of some constant folding.
More information about the Gcc-bugs
mailing list