llvm-project
ce4fcfc9 - [llvm-jitlink] Make -show-addrs work without -check, fix fallout. (#175491)

Commit
15 days ago
[llvm-jitlink] Make -show-addrs work without -check, fix fallout. (#175491) Ensures that the address scraping passes are added to the JIT linker pipeline if either of the -check or -show-addrs are passed. Prior to this commit we only considered -check, so passing -show-addrs on its own was printing an empty (unpopulated) symbol table. This change exposed bugs in RuntimeDyldChecker's `MemoryRegionInfo` type, aned llvm-jitlink's symbol printing code: - `MemoryRegionInfo` was assuming that zero-sized symbols wouldn't be defined and was using Size == 0 as a proxy for "region info uninitialized". This was triggering assertions for valid LinkGraphs containing zero-sized symbols. - llvm-jitlink's symbol printing code was assuming that all defined symbols contained content, and was not correctly handling zero-fill / absolute symbols. This triggered assertions about requesting content addresses for non-content symbols. This commit fixes the issues above, and adds both a generic testcase for the -show-addrs option, and an ELF-specific testcase with a zero-sized symbol to check that the option works for such symbols.
Author
Parents
Loading