[PATCH] D70027: ARM: Don't emit R_ARM_NONE relocations to compact unwinding decoders in .ARM.exidx on Android.
Shoaib Meenai via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Nov 11 20:35:09 PST 2019
smeenai added inline comments.
================
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));
----------------
peter.smith wrote:
> 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.
> ```
My understanding is that the unwinder isn't dynamically linked on Android, at least by default ... it's part of libgcc (or libunwind for armv7), both of which are static in the NDK.
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