https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122248
--- Comment #1 from David Faust <david.faust at oracle dot com> ---
Thanks.
The case being handled incorrectly is this:
extern struct t1 g3 __tag1;
struct t1 g3 __tag2;
```
/* Add AT_GNU_annotation referring to the annotation DIE.
It may have already been added, some global declarations are processed
twice, but if so it must be the same or we have a bug. */
dw_die_ref existing = get_AT_ref (die, DW_AT_GNU_annotation);
if (existing)
gcc_checking_assert (existing == tag_die);
```
Need to be a little smarter here in gen_btf_tag_dies when the extern decl and
non-extern decl have differing tags. I am looking at it.