Skip to content

Commit de78d1f

Browse files
committed
Tests: call callee instead of callee_ext
1 parent 1edcb92 commit de78d1f

File tree

1 file changed

+20
-25
lines changed

1 file changed

+20
-25
lines changed

bolt/test/binary-analysis/AArch64/gs-pauth-calls.s

+20-25
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ good_direct_call_nocfg:
439439
stp x29, x30, [sp, #-16]!
440440
mov x29, sp
441441

442-
bl callee_ext
442+
bl callee
443443

444444
adr x2, 1f
445445
br x2
@@ -799,7 +799,7 @@ good_direct_tailcall_nocfg:
799799
adr x2, 1f
800800
br x2
801801
1:
802-
b callee_ext
802+
b callee
803803
.size good_direct_tailcall_nocfg, .-good_direct_tailcall_nocfg
804804

805805
.globl good_indirect_tailcall_mem_nocfg
@@ -1050,70 +1050,65 @@ indirect_call_invalidates_safety:
10501050
ret
10511051
.size indirect_call_invalidates_safety, .-indirect_call_invalidates_safety
10521052

1053-
// FIXME: Clobbering instructions are not detected because direct calls are
1054-
// disassembled like this:
1055-
//
1056-
// 0000000c: mov x2, x0
1057-
// 00000010: autiza x2
1058-
// 00000014: bl .Ltmp40 <-- callee_ext symbol is not understood,
1059-
// address of the next instruction is used instead
1060-
// .Ltmp40: <-- state is reset because of this label
1061-
// 00000018: blr x2
1062-
10631053
.globl direct_call_invalidates_safety_nocfg
10641054
.type direct_call_invalidates_safety_nocfg,@function
10651055
direct_call_invalidates_safety_nocfg:
10661056
// CHECK-LABEL: GS-PAUTH: non-protected call found in function direct_call_invalidates_safety_nocfg, at address
10671057
// CHECK-NEXT: The instruction is {{[0-9a-f]+}}: blr x2
1068-
// CHECK-NEXT: The 0 instructions that write to the affected registers after any authentication are:
1069-
// FIXME: Print the destination of BL as callee_ext instead of .LtmpN
1058+
// CHECK-NEXT: The 1 instructions that write to the affected registers after any authentication are:
1059+
// CHECK-NEXT: 1. {{[0-9a-f]+}}: bl callee
10701060
// CHECK-LABEL: GS-PAUTH: non-protected call found in function direct_call_invalidates_safety_nocfg, at address
10711061
// CHECK-NEXT: The instruction is {{[0-9a-f]+}}: blr x8
1072-
// CHECK-NEXT: The 0 instructions that write to the affected registers after any authentication are:
1062+
// CHECK-NEXT: The 1 instructions that write to the affected registers after any authentication are:
1063+
// CHECK-NEXT: 1. {{[0-9a-f]+}}: bl callee
10731064
// CHECK-LABEL: GS-PAUTH: non-protected call found in function direct_call_invalidates_safety_nocfg, at address
10741065
// CHECK-NEXT: The instruction is {{[0-9a-f]+}}: blr x10
1075-
// CHECK-NEXT: The 0 instructions that write to the affected registers after any authentication are:
1066+
// CHECK-NEXT: The 1 instructions that write to the affected registers after any authentication are:
1067+
// CHECK-NEXT: 1. {{[0-9a-f]+}}: bl callee
10761068
// CHECK-LABEL: GS-PAUTH: non-protected call found in function direct_call_invalidates_safety_nocfg, at address
10771069
// CHECK-NEXT: The instruction is {{[0-9a-f]+}}: blr x16
1078-
// CHECK-NEXT: The 0 instructions that write to the affected registers after any authentication are:
1070+
// CHECK-NEXT: The 1 instructions that write to the affected registers after any authentication are:
1071+
// CHECK-NEXT: 1. {{[0-9a-f]+}}: bl callee
10791072
// CHECK-LABEL: GS-PAUTH: non-protected call found in function direct_call_invalidates_safety_nocfg, at address
10801073
// CHECK-NEXT: The instruction is {{[0-9a-f]+}}: blr x18
1081-
// CHECK-NEXT: The 0 instructions that write to the affected registers after any authentication are:
1074+
// CHECK-NEXT: The 1 instructions that write to the affected registers after any authentication are:
1075+
// CHECK-NEXT: 1. {{[0-9a-f]+}}: bl callee
10821076
// CHECK-LABEL: GS-PAUTH: non-protected call found in function direct_call_invalidates_safety_nocfg, at address
10831077
// CHECK-NEXT: The instruction is {{[0-9a-f]+}}: blr x20
1084-
// CHECK-NEXT: The 0 instructions that write to the affected registers after any authentication are:
1078+
// CHECK-NEXT: The 1 instructions that write to the affected registers after any authentication are:
1079+
// CHECK-NEXT: 1. {{[0-9a-f]+}}: bl callee
10851080
paciasp
10861081
stp x29, x30, [sp, #-16]!
10871082
mov x29, sp
10881083

10891084
mov x2, x0
10901085
autiza x2
1091-
bl callee_ext
1086+
bl callee
10921087
blr x2
10931088

10941089
mov x8, x0
10951090
autiza x8
1096-
bl callee_ext
1091+
bl callee
10971092
blr x8
10981093

10991094
mov x10, x0
11001095
autiza x10
1101-
bl callee_ext
1096+
bl callee
11021097
blr x10
11031098

11041099
mov x16, x0
11051100
autiza x16
1106-
bl callee_ext
1101+
bl callee
11071102
blr x16
11081103

11091104
mov x18, x0
11101105
autiza x18
1111-
bl callee_ext
1106+
bl callee
11121107
blr x18
11131108

11141109
mov x20, x0
11151110
autiza x20
1116-
bl callee_ext
1111+
bl callee
11171112
blr x20
11181113

11191114
adr x2, 1f

0 commit comments

Comments
 (0)