[PATCH] D101873: [clang] Support clang -fpic -fno-semantic-interposition for AArch64

Eli Friedman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu May 6 11:10:29 PDT 2021


efriedma added a comment.

In D101873#2741903 <https://reviews.llvm.org/D101873#2741903>, @peter.smith wrote:

> Looking at the gist I've got one concern for AArch64 and Arm. The ABI relies on thunks which are only defined for symbols of type STT_FUNC. Changing branches to STT_FUNC to STT_SECTION will break long range thunks on AArch64 and interworking for Arm (there is a possibility that the bottom bit for STT_FUNC may get used in the future for AArch64 as well). This is solvable by keeping the local label and setting STT_FUNC on it.

Ooh, I missed this.  Yes, we need the symbol attributes.  On 32-bit Arm, that includes a .thumb_func directive (MCStreamer::emitThumbFunc) in addition to the STT_FUNC attribute.


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