[PATCH] D63540: Fix lookup of symbols with the same address range but different binding

Pavel Labath via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 6 08:16:03 PST 2020


labath added a comment.

Thanks Jan and Omair for the investigation. It does seem like there is some more work to be done on arm/thumb in elf code in lldb, as it seems to me that things are working now more-or-less accidentally.

The good news is that this should not require any fundamental changes since the address class determination happens in ObjectFile::GetAddressClass, we'd probably just need to tweak it's ELF implementation somehow (not fully clear how yet).

But anyway, I do agree that this can be done seperately from the binding prioritization change. As for the change itself, I think we're getting closer, but I am still not convinced by the extra RangeMap::Sort overload. Passing different sort objects to different sort invocations could cause changes done by one Sort call to be undone by further Symtab additions (and/or trigger assertions in the `IsSorted` function). It seems to me that the sort order should be a property of the RangeMap object, set when the object is created, similar to how std::map and friends do this thing...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D63540/new/

https://reviews.llvm.org/D63540





More information about the llvm-commits mailing list