[PATCH] D101873: [clang] Support clang -fpic -fno-semantic-interposition for AArch64
Peter Smith via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 8 01:49:12 PDT 2021
peter.smith added a comment.
Doing this on 32-bit Arm would make me nervous as STT_FUNC symbols encode the state of Arm/Thumb in the bottom bit, but STT_NOTYPE symbols do not. In principle it could be done but extra care would have to be taken to make sure no state changes were required. For example caller and callee would need to be in the same state. I'm not entirely sure that LLD's current range-extension thunks would work to STT_NOTYPE symbols as they use BX IP, which would always state change to Arm due to the STT_NOTYPE symbol having the bottom bit clear. This is fixable but is the additional complexity and possible fragility of older tools worth it?
https://github.com/ARM-software/abi-aa/blob/main/aaelf32/aaelf32.rst#554symbol-names
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D101873/new/
https://reviews.llvm.org/D101873
More information about the cfe-commits
mailing list