https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120938
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
This is bug in create_gcov tool fixed by the following:
diff --git a/util/symbolize/addr2line_inlinestack.cc
b/util/symbolize/addr2line_inlinestack.cc
index f68f6e1..8eeb8bd 100644
--- a/util/symbolize/addr2line_inlinestack.cc
+++ b/util/symbolize/addr2line_inlinestack.cc
@@ -493,6 +493,12 @@ void InlineStackHandler::ProcessAttributeSigned(
subprogram_stack_.back()->set_callsite_line(data);
break;
+ // In case discriminator is implicit const, it is processed as signed
+ // rather then unsigned value.
+ case DW_AT_GNU_discriminator:
+ CHECK(form == DW_FORM_implicit_const);
+ subprogram_stack_.back()->set_callsite_discr(data);
+ break;
default:
break;
}