[PATCH] D73474: [LLD][ELF][ARM] Do not insert interworking thunks for non STT_FUNC symbols

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 27 10:09:53 PST 2020


MaskRay added inline comments.


================
Comment at: lld/ELF/Arch/ARM.cpp:281
+    // Otherwise we need to interwork if STT_FUNC Symbol has bit 0 set (Thumb).
+    if (s.isFunc() && expr == R_PC && ((s.getVA() & 1) == 1))
       return true;
----------------
`== 1` can be deleted. Can `s` be STT_GNU_IFUNC (`isGnuIFunc()`)?


================
Comment at: lld/ELF/Arch/ARM.cpp:292
+    // Otherwise we need to interwork if STT_FUNC Symbol has bit 0 clear (ARM).
+    if (expr == R_PLT_PC || (s.isFunc() && (s.getVA() & 1) == 0))
       return true;
----------------
Can `s` be STT_GNU_IFUNC?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73474/new/

https://reviews.llvm.org/D73474





More information about the llvm-commits mailing list