[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