Previously, DwarfFDECache::findFDE used 0 as a special value meaning
"search the entire cache, including dynamically-registered FDEs".
Switch this special value to -1, which doesn't make sense as a DSO
base.
Fixes PR47335.
Paths
| Differential D86748
[libunwind] Bare-metal DWARF: set dso_base to 0 ClosedPublic Authored by rprichard on Aug 27 2020, 4:22 PM.
Details
Summary Previously, DwarfFDECache::findFDE used 0 as a special value meaning Fixes PR47335.
Diff Detail
Event TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptAug 27 2020, 4:22 PM Comment Actions Looks overall reasonable to me, but it's been years since I touched that code or used an environment involving it, so someone else would have to sign off on it. Comment Actions
Just to be sure, the proposal is to use 0 for dso_base and -1 for DwarfFDECache::findFDE to mean "search everything"? I think that will work, because -1 seems unlikely to appear as a genuine dso_base. Comment Actions Yes, sorry I wasn't clear about that, but you understood correctly. I was suggesting using -1 as the search all, since it doesn't make sense as a DSO base. Minor comment about a possible constexpr improvement, but doesn't require a re-review.
This revision is now accepted and ready to land.Sep 9 2020, 10:01 AM
This revision was landed with ongoing or failed builds.Sep 9 2020, 3:43 PM Closed by commit rG09d492902f17: [libunwind] Bare-metal DWARF: set dso_base to 0 (authored by rprichard). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 288480 libunwind/src/AddressSpace.hpp
libunwind/src/UnwindCursor.hpp
|
clang-tidy: warning: invalid case style for parameter 'mh' [readability-identifier-naming]
not useful
clang-tidy: warning: invalid case style for parameter 'ignore_mh' [readability-identifier-naming]
not useful
clang-tidy: warning: invalid case style for parameter 'pc' [readability-identifier-naming]
not useful