Skip to content

Commit f7d3ae1

Browse files
committed
Address review feedback
1 parent bc8160c commit f7d3ae1

File tree

4 files changed

+19
-25
lines changed

4 files changed

+19
-25
lines changed

lld/ELF/Thunks.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,10 +1530,9 @@ static std::unique_ptr<Thunk> addThunkAArch64(Ctx &ctx, const InputSection &sec,
15301530
bool mayNeedLandingPad =
15311531
(ctx.arg.andFeatures & GNU_PROPERTY_AARCH64_FEATURE_1_BTI) &&
15321532
!isAArch64BTILandingPad(ctx, s, a);
1533-
bool isPureCode = sec.getParent()->flags & SHF_AARCH64_PURECODE;
15341533
if (ctx.arg.picThunk)
15351534
return std::make_unique<AArch64ADRPThunk>(ctx, s, a, mayNeedLandingPad);
1536-
if (isPureCode)
1535+
if (sec.getParent()->flags & SHF_AARCH64_PURECODE)
15371536
return std::make_unique<AArch64ABSXOLongThunk>(ctx, s, a,
15381537
mayNeedLandingPad);
15391538
return std::make_unique<AArch64ABSLongThunk>(ctx, s, a, mayNeedLandingPad);

lld/test/ELF/Inputs/big-execute-only.s

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// REQUIRES: aarch64
2-
// RUN: llvm-mc -filetype=obj -triple=aarch64 %S/Inputs/big-execute-only.s -o %tbig.o
32
// RUN: llvm-mc -filetype=obj -triple=aarch64 %s -o %t.o
4-
// RUN: ld.lld %t.o %tbig.o -o %t
3+
// RUN: ld.lld %t.o --defsym big=0x1111222233334444 -o %t
54
// RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s
65

76
.section .text,"axy",@progbits,unique,0
@@ -11,12 +10,12 @@ _start:
1110

1211
// CHECK: Disassembly of section .text:
1312
// CHECK-EMPTY:
14-
// CHECK-NEXT: <_start>:
15-
// CHECK-NEXT: 210120: bl 0x210124
16-
// CHECK: <__AArch64AbsXOLongThunk_big>:
17-
// CHECK-NEXT: 210124: mov x16, #0x4444
18-
// CHECK-NEXT: 210128: movk x16, #0x3333, lsl #16
19-
// CHECK-NEXT: 21012c: movk x16, #0x2222, lsl #32
20-
// CHECK-NEXT: 210130: movk x16, #0x1111, lsl #48
21-
// CHECK-NEXT: 210134: br x16
13+
// CHECK-LABEL: <_start>:
14+
// CHECK-NEXT: 210120: bl 0x210124
15+
// CHECK-LABEL: <__AArch64AbsXOLongThunk_big>:
16+
// CHECK-NEXT: 210124: mov x16, #0x4444
17+
// CHECK-NEXT: movk x16, #0x3333, lsl #16
18+
// CHECK-NEXT: movk x16, #0x2222, lsl #32
19+
// CHECK-NEXT: movk x16, #0x1111, lsl #48
20+
// CHECK-NEXT: br x16
2221

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// REQUIRES: aarch64
2-
// RUN: llvm-mc -filetype=obj -triple=aarch64 %S/Inputs/big-execute-only.s -o %tbig.o
32
// RUN: llvm-mc -filetype=obj -triple=aarch64 %s -o %t.o
4-
// RUN: ld.lld %t.o %tbig.o -o %t
3+
// RUN: ld.lld %t.o --defsym big=0x1111222233334444 -o %t
54
// RUN: llvm-objdump -d --no-show-raw-insn %t | FileCheck %s
65

76
.section .text,"axy",@progbits,unique,0
@@ -11,12 +10,12 @@ _start:
1110

1211
// CHECK: Disassembly of section .text:
1312
// CHECK-EMPTY:
14-
// CHECK-NEXT: <_start>:
15-
// CHECK-NEXT: 210120: b 0x210124
16-
// CHECK: <__AArch64AbsXOLongThunk_big>:
17-
// CHECK-NEXT: 210124: mov x16, #0x4444
18-
// CHECK-NEXT: 210128: movk x16, #0x3333, lsl #16
19-
// CHECK-NEXT: 21012c: movk x16, #0x2222, lsl #32
20-
// CHECK-NEXT: 210130: movk x16, #0x1111, lsl #48
21-
// CHECK-NEXT: 210134: br x16
13+
// CHECK-LABEL: <_start>:
14+
// CHECK-NEXT: 210120: b 0x210124
15+
// CHECK-LABEL: <__AArch64AbsXOLongThunk_big>:
16+
// CHECK-NEXT: 210124: mov x16, #0x4444
17+
// CHECK-NEXT: movk x16, #0x3333, lsl #16
18+
// CHECK-NEXT: movk x16, #0x2222, lsl #32
19+
// CHECK-NEXT: movk x16, #0x1111, lsl #48
20+
// CHECK-NEXT: br x16
2221

0 commit comments

Comments
 (0)