This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug lto/84213] [8 Regression] 521.wrf_r from SPEC 2017 fails to build (link) with LTO
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 08 Feb 2018 13:00:43 +0000
- Subject: [Bug lto/84213] [8 Regression] 521.wrf_r from SPEC 2017 fails to build (link) with LTO
- Auto-submitted: auto-generated
- References: <bug-84213-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84213
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
Another possibility would be to add the info symbolically by refering to the
early DIE of the other entity. Not sure if that works for the Ada cases? We
have
DW_OP_GNU_variable_value but in this case we want the DIEs address.
Using DECL_PRESERVE_P is kind-of a hack. Similar would be guarding the
offending call with !flag_generate_lto && !flag_generate_offload ...
For the fortran case we don't have a DIE for the refered entity for some
reason.
Btw, if you compile any of your testcases for the issue with -g -flto
can you verify if the generated object files contain relocations in the
early LTO debug sections? Those should not refer to real symbols...
else the problem will manifest with Ada as well.
So I think we do have to revert the revision in question (or put in the
above hack).