[Object] Refactor build ID parsing into Object lib.
authorDaniel Thornburgh <dthorn@google.com>
Mon, 3 Apr 2023 18:15:31 +0000 (11:15 -0700)
committerDaniel Thornburgh <dthorn@google.com>
Wed, 5 Apr 2023 18:25:26 +0000 (11:25 -0700)
commit9812948d22328e6f810c7654b93b063ce97ecfec
tree2282e12214e44bd1e68e87943e0d08a5aae0e534
parente289b53f4d9bffd71613d6f91747bf9bda0ae352
[Object] Refactor build ID parsing into Object lib.

This makes parsing for build IDs in the markup filter slightly more
permissive, in line with fromHex.

It also removes the distinction between missing build ID and empty build
ID; empty build IDs aren't a useful concept, since their purpose is to
uniquely identify a binary. This removes a layer of indirection wherever
build IDs are obtained.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D147485
llvm/include/llvm/DebugInfo/Symbolize/MarkupFilter.h
llvm/include/llvm/Object/BuildID.h
llvm/lib/DebugInfo/Symbolize/MarkupFilter.cpp
llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
llvm/lib/Debuginfod/Debuginfod.cpp
llvm/lib/Object/BuildID.cpp
llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
llvm/lib/ProfileData/RawMemProfReader.cpp
llvm/test/DebugInfo/symbolize-filter-markup-parse-fields.test
llvm/tools/llvm-objdump/llvm-objdump.cpp
llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp