[PATCH] D120850: [BOLT] Handle ifuncs trampolines for aarch64
    Rafael Auler via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Mar  8 11:49:35 PST 2022
    
    
  
rafauler accepted this revision.
rafauler added a comment.
This revision is now accepted and ready to land.
LGTM
================
Comment at: bolt/lib/Rewrite/RewriteInstance.cpp:1260
+
+  BinaryFunction *BF = BC->getBinaryFunctionAtAddress(EntryAddress);
+  if (BF && BC->isAArch64()) {
----------------
yota9 wrote:
> rafauler wrote:
> > I don't understand why the BinaryFunction is already created for ifuncs? For X86, both ifuncs and regular PLTs are pretty similar, except for the relocation type.
> Because the symtab contains the trampoline IFUNC symbol and it is already disassembled. Currently it does not work because such trampolines are moved to the new text section and since the adrp+add does not have relocations (like in plt) - the "got" address becomes wrong
Oh, I see. Thanks!
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D120850/new/
https://reviews.llvm.org/D120850
    
    
More information about the llvm-commits
mailing list