<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/76352>76352</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
XCode15 Otool bug
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
helele90
</td>
</tr>
</table>
<pre>
Using the `Xcode 14 Command Line Tools`, execute the command `otool -x -V` to disassemble Objective-C and Swift symbols such as `_OBJC_CLASS_$_`, `OBJC_IVAR`, or various method names using `adrp` and `bl` instructions.:
```
+[TestJumpProtocolHandler load]:
0000000000000000 sub sp, sp, #0x40
0000000000000004 stp x22, x21, [sp, #0x10]
0000000000000008 stp x20, x19, [sp, #0x20]
000000000000000c stp x29, x30, [sp, #0x30]
0000000000000010 add x29, sp, #0x30
0000000000000014 mov x19, x0
0000000000000018 adrp x8, _OBJC_CLASSLIST_REFERENCES_$_@PAGE
000000000000001c ldr x0, [x8, _OBJC_CLASSLIST_REFERENCES_$_@PAGEOFF]
0000000000000020 adrp x8, l__unnamed_cfstring_@PAGE
0000000000000024 add x8, x8, l__unnamed_cfstring_@PAGEOFF
0000000000000028 str x8, [sp]
000000000000002c adrp x2, l__unnamed_cfstring_.2@PAGE
0000000000000030 add x2, x2, l__unnamed_cfstring_.2@PAGEOFF
0000000000000034 bl "_objc_msgSend$stringWithFormat:"
0000000000000038 mov x29, x29
000000000000003c bl _objc_retainAutoreleasedReturnValue
0000000000000040 mov x20, x0
0000000000000044 adrp x8, _OBJC_CLASSLIST_REFERENCES_$_.3@PAGE
0000000000000048 ldr x21, [x8, _OBJC_CLASSLIST_REFERENCES_$_.3@PAGEOFF]
000000000000004c mov x0, x19
0000000000000050 bl _objc_msgSend$class
0000000000000054 bl _NSStringFromClass
0000000000000058 mov x29, x29
000000000000005c bl _objc_retainAutoreleasedReturnValue
0000000000000060 mov x19, x0
0000000000000064 mov x0, x21
0000000000000068 mov x2, x19
000000000000006c mov x3, x20
0000000000000070 bl "_objc_msgSend$registerProtocolHandlerClassName:withProtocolKey:"
0000000000000074 mov x0, x19
0000000000000078 bl _objc_release
000000000000007c mov x0, x20
0000000000000080 ldp x29, x30, [sp, #0x30]
0000000000000084 ldp x20, x19, [sp, #0x20]
0000000000000088 ldp x22, x21, [sp, #0x10]
000000000000008c add sp, sp, #0x40
0000000000000090 b _objc_release
```
but I using `XCode15 Command Line Tool`,`adrp` and `bl` can not disassemb the Objective-C method and Swift symbol:
```
+[COCheckoutJumpProtocolHandler load]:
0000000000000000 sub sp, sp, #0x40
0000000000000004 stp x22, x21, [sp, #0x10]
0000000000000008 stp x20, x19, [sp, #0x20]
000000000000000c stp x29, x30, [sp, #0x30]
0000000000000010 add x29, sp, #0x30
0000000000000014 mov x19, x0
0000000000000018 adrp x8, 0 ; 0x0
000000000000001c ldr x0, [x8]
0000000000000020 adrp x8, 0 ; 0x0
0000000000000024 add x8, x8, #0x0
0000000000000028 str x8, [sp]
000000000000002c adrp x2, 0 ; 0x0
0000000000000030 add x2, x2, #0x0
0000000000000034 bl 0x34
0000000000000038 mov x29, x29
000000000000003c bl 0x3c
0000000000000040 mov x20, x0
0000000000000044 adrp x8, 0 ; 0x0
0000000000000048 ldr x21, [x8]
000000000000004c mov x0, x19
0000000000000050 bl 0x50
0000000000000054 bl 0x54
0000000000000058 mov x29, x29
000000000000005c bl 0x5c
0000000000000060 mov x19, x0
0000000000000064 mov x0, x21
0000000000000068 mov x2, x19
000000000000006c mov x3, x20
0000000000000070 bl 0x70
0000000000000074 mov x0, x19
0000000000000078 bl 0x78
000000000000007c mov x0, x20
0000000000000080 ldp x29, x30, [sp, #0x30]
0000000000000084 ldp x20, x19, [sp, #0x20]
0000000000000088 ldp x22, x21, [sp, #0x10]
000000000000008c add sp, sp, #0x40
0000000000000090 b 0x90
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWFFv4jgX_TXmxSpyHCckDzxACt_X2aodlW533pDjGMisEyPbadN_v7KhkKEO03b6sCtNVYVA7jk-9_om9yhU63Jdcz4G0RRElwPamI1U4w0XXPAUDXJZPI__1GW9hmbDIYjRNyYLDgMCM1lVtC7gdVlzeC-l0CBGAGeQt5w1hjsA2weBGEkjpYAXLbx4ADGCRsKi1FRrXuWCw9v8O2emfOQXGbSAxVO5MlA_V7kUGuqGbSDVlmZ5O_2SLbPryWKxBJgs94uCGLkLVw-Tu_1PUsFHqkrZaFhxs5EFrGnFNWxcOiBGtFBbK2UvMBf2S1lroxpmSlnrIZjNwTQD6QSgS4Amlnj3v_uKpyCa3nNtvjTV9quSRjIp_k_rQnAFhaQFiC5BuAejkz-AUt3k9ri1andHgEPUEuRFEBtrtgClLcY2uMWBw0TTDjhAdlEfPungXYHaIH2Nx7141sE7YBui1_iwDx_YjGlRHPE_onwQm3IlHy1kp7X1xyWOWjltiY3rdMn11eJ-eTebz-5mN9ls3zQEfZ38b-blsmmKQlmql_Tew3k7n_cUAKNTlWK5bGrblMWSrbRRZb0-Jw2TYwUd_qcsVoyPaNcK6kC028Ie2awjG_ctOMRnhIfdrd917k95eqSHtga5ACgFGC9l_p0tK71e8LoAmOw4_irNZi5VRY299zD20iTHzto3M069gexlvd1iihta1pPGSMUFp5oXd9w0qn6gouE-AnszH1ZC_T1MyDt7eBieqThJjl18eEq8j7a_kQk7pnR4kHjiIvRj7Y4bxQTV2gs5bO_yZrFw2zlXssp649-6j9Gv7mOM3vYsislpcXDgjesqP1PEuFPscMfnXXeEztwYiq9Lbbg6mVGurDe04iCcPJVm83L5D_7cf-uMXiXoFz5KTivu6uwNfdVQ_hwT5Lr6wyMoIR38B0ZgknTwHxjBCTs8B9849FO3q_4anroRd8wbA6-OFudbJgseRK_NmoXtzE2S9VkhRmtYS3P0ac7SdZ3a3ledGra32KbsNttw9rdsfpunf5t5QhCEU4h6wv3-6K2W5yx3j8FxSfoBv2ZkzorpMS39Yo7WBLX2_FNcB2rt-WfairNJ9_mGzzICqI2860ad2kXe2n1g0qM28tbuvzPKUTvyR7x7BqPWnv8evR8YvahNkXeQDYpxWKRhSgd8HIxQSJI0JtFgM04JIwklzH6u0tEqiVZpktMV52GQx0ExKMcY4TDAOEKjkKBoiBEboVHOGEmTPCAFIIhXtBRDIR6roVTrQal1w8ejOIzwQNCcC-3e2WBc8yfoLlq_Fl0O1NhiLvJmrQFBotRGH1lMaQQfv7iCW_dKJm_Wg0aJ8caYrXa-bw7wfF2aTZMPmawAnlv8_uNiq6Q1AADP3aoa4LlT9U8AAAD__2Tzmk8">