@@ -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
8018011 :
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
10651055direct_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 th at 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 th at 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 th at write to the affected registers after any authentication are:
1062+ // CHECK - NEXT: The 1 instructions th at 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 th at write to the affected registers after any authentication are:
1066+ // CHECK - NEXT: The 1 instructions th at 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 th at write to the affected registers after any authentication are:
1070+ // CHECK - NEXT: The 1 instructions th at 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 th at write to the affected registers after any authentication are:
1074+ // CHECK - NEXT: The 1 instructions th at 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 th at write to the affected registers after any authentication are:
1078+ // CHECK - NEXT: The 1 instructions th at 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