[PATCH] D141272: [lld][ARM] support position independent thunks for Armv4(T)
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 11 16:24:10 PST 2023
MaskRay added inline comments.
================
Comment at: lld/ELF/Thunks.cpp:1251
case R_ARM_CALL:
- if (config->picThunk)
- // can be used for both Arm->Arm and Arm->Thumb
+ if (config->picThunk && thumb_target)
+ return make<ARMV4PILongBXThunk>(s, a);
----------------
```
if (config->picThunk) {
if (thumb_target)
return ...
return ...
}
```
or
```
if (config->picThunk)
return thumb_target ? make<...> : make<...>)
```
================
Comment at: lld/ELF/Thunks.cpp:1259
case R_ARM_THM_CALL:
- if (config->picThunk && !thumb_target)
- fatal("PIC relocations across state change not supported for Armv4T");
if (config->picThunk && thumb_target)
+ return make<ThumbV4PILongThunk>(s, a);
----------------
ditto
================
Comment at: lld/test/ELF/arm-bl-v4.s:16
+
+#--- a.s
+ .text
----------------
================
Comment at: lld/test/ELF/arm-bl-v4.s:51
+// FAR-PIE-EMPTY:
+
+// NEAR-LABEL: <_start>:
----------------
`s/ +$//` on this line
================
Comment at: lld/test/ELF/arm-bl-v4.s:72
+
+#--- far.lds
+SECTIONS {
----------------
You could also use `#` for all comments in this file:)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D141272/new/
https://reviews.llvm.org/D141272
More information about the llvm-commits
mailing list