[PATCH] D70027: ARM: Don't emit R_ARM_NONE relocations to compact unwinding decoders in .ARM.exidx on Android.
Peter Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 11 02:53:57 PST 2019
peter.smith added a comment.
Other than a few suggestions for some comments, this is Android specific so no objections from me.
================
Comment at: llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp:1275
- if (PersonalityIndex < ARM::EHABI::NUM_PERSONALITY_INDEX)
+ if (PersonalityIndex < ARM::EHABI::NUM_PERSONALITY_INDEX && !IsAndroid)
EmitPersonalityFixup(GetAEABIUnwindPersonalityName(PersonalityIndex));
----------------
Is it worth adding a comment like:
```
The EHABI requires a dependency preserving R_ARM_NONE relocation to the personality routine to protect it from an arbitrary platforms static linker garbage collection. We disable this for Android where the unwinder is dynamically linked.
```
================
Comment at: llvm/test/MC/ARM/eh-compact-pr0.s:68
@ another relocation entry for __aeabi_unwind_cpp_pr0, so that the linker
@ will keep __aeabi_unwind_cpp_pr0.
@-------------------------------------------------------------------------------
----------------
Can we update the comment to account for the Android case? there is a similar comment for TEST2.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70027/new/
https://reviews.llvm.org/D70027
More information about the llvm-commits
mailing list