This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/48148] [4.7 Regression] bootstrap failed with bootstrap-profiled
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 16 Mar 2011 17:04:03 +0000
- Subject: [Bug bootstrap/48148] [4.7 Regression] bootstrap failed with bootstrap-profiled
- Auto-submitted: auto-generated
- References: <bug-48148-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48148
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC|jakub at redhat dot com |jan.kratochvil at redhat
| |dot com
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-03-16 17:03:58 UTC ---
I believe it is a LTO speciality, I can't imagine how non-lto would end up with
DECL_EXTERNAL with DECL_ABSTRACT_ORIGIN set, so I guess your patch is an
alternative.
Or:
--- dwarf2out.c.jj 2011-03-16 09:37:40.000000000 +0100
+++ dwarf2out.c 2011-03-16 17:28:36.054796163 +0100
@@ -22927,7 +22927,9 @@ resolve_addr (dw_die_ref die)
{
tree tdecl = SYMBOL_REF_DECL (a->dw_attr_val.v.val_addr);
dw_die_ref tdie = lookup_decl_die (tdecl);
- if (tdie == NULL && DECL_EXTERNAL (tdecl))
+ if (tdie == NULL
+ && DECL_EXTERNAL (tdecl)
+ && DECL_ABSTRACT_ORIGIN (tdecl) == NULL_TREE)
{
force_decl_die (tdecl);
tdie = lookup_decl_die (tdecl);
that I'm testing right now. DW_TAG_GNU_call_site won't be very useful in that
case anyway, because if the extern is "read_string.constprop.0" with that
DW_AT_name, I bet the debugger won't be able to match it to the definition DIE
anyway. I think currently for read_string.constprop.0 in the definition CU we
will just have
DW_TAG_subprogram
DW_AT_abstract_origin <read_string DIE>
and not any DW_AT_name (which is thought to be the same as abstract origin's
name, correct for the clones) and no DW_AT_linkage_name (guess it would be
desirable to provide a linkage name if the clone has a different name from the
origin).