This is an archive of the discontinued LLVM Phabricator instance.

Fixed an issue where llvm-gsymutil would crash when parsing bad inline ranges.
ClosedPublic

Authored by clayborg on Jul 13 2023, 5:48 PM.

Details

Summary

If a function contains inline function ranges whose address ranges are not contained in the parent scope, then emit an error message and omit them from the final GSYM. Prior to this we would only test if an inline function's address range was within the concrete function's ranges. If we ran into a case where the inline range was within the function's ranges, but not within one of the parent inline function's ranges, then we would fail to produce a GSYM file and exit with an error.

The current code will emit full details on invalid inline ranges as they are being parsed and will omit any bad ranges from the final GSYM file.

Diff Detail

Event Timeline

clayborg created this revision.Jul 13 2023, 5:48 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 13 2023, 5:48 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
clayborg requested review of this revision.Jul 13 2023, 5:48 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 13 2023, 5:48 PM
aprantl accepted this revision.Jul 18 2023, 3:49 PM
This revision is now accepted and ready to land.Jul 18 2023, 3:49 PM
This revision was landed with ongoing or failed builds.Jul 26 2023, 11:30 AM
This revision was automatically updated to reflect the committed changes.