XRay works on 32-bit ARM but extract didn't support it.
See also another previous attempt in D77858.
Paths
| Differential D80185
[xray] Add llvm-xray extract support for 32 bit ARM ClosedPublic Authored by ianlevesque on May 18 2020, 11:01 PM.
Details Summary XRay works on 32-bit ARM but extract didn't support it. See also another previous attempt in D77858.
Diff Detail
Event TimelineHerald added subscribers: llvm-commits, danielkiss, hiraditya, kristof.beyls. · View Herald Transcript
Comment Actions I'll keep looking at this but @MaskRay if you could point me to something in LLVM that checks whether an addend is present that I can actually access from this module that would be helpful. I added getOptionalAddend as a last resort :(
Comment Actions Remove even more sections from the test object. Special case ARM entirely instead of extending the ELFObject classes. Comment Actions Oh, do we still have R_ARM_ABS32 relocating xray_instr_map? Aren't them all converted to R_ARM_RELATIVE?
ianlevesque added inline comments.
Comment Actions @MaskRay I think this should cover it now. I cut away all the sections I could from the test and eliminated the unused branch and all the ELFObject modifications. This revision is now accepted and ready to land.May 27 2020, 11:42 AM Closed by commit rGe62d67f770d2: [xray] Add llvm-xray extract support for 32 bit ARM (authored by ianlevesque). · Explain WhyMay 28 2020, 4:00 PM This revision was automatically updated to reflect the committed changes. Comment Actions This broke check-llvm on virtually all bots on llvm's buildbot for 3h now. Please fix or revert if it takes a while. Comment Actions
Thanks for reporting. Fixed by 59ba12994c07d03ac3b628c05c45a834774f9b17 Comment Actions Ugh, cut a bit too deep when removing formatting. Thanks for fixing forward on the test @MaskRay
Revision Contents
Diff 265392 llvm/lib/XRay/InstrumentationMap.cpp
llvm/test/tools/llvm-xray/ARM/extract-instrmap.test
llvm/test/tools/llvm-xray/X86/bad-instrmap-sizes.txt
llvm/test/tools/llvm-xray/X86/unsupported-elf32.txt
|
This re-formatting is not needed.