1.text 2.file 1 "inserted_by_delocate.c" 3.loc 1 1 0 4BORINGSSL_bcm_text_start: 5 .type foo, %function 6 .globl foo 7.Lfoo_local_target: 8foo: 9 // GOT load 10// WAS adrp x1, :got:stderr 11 sub sp, sp, 128 12 stp x0, lr, [sp, #-16]! 13 bl .Lboringssl_loadgot_stderr 14 mov x1, x0 15 ldp x0, lr, [sp], #16 16 add sp, sp, 128 17// WAS ldr x0, [x1, :got_lo12:stderr] 18 mov x0, x1 19 20 // GOT load to x0 21// WAS adrp x0, :got:stderr 22 sub sp, sp, 128 23 stp x0, lr, [sp, #-16]! 24 bl .Lboringssl_loadgot_stderr 25 ldp xzr, lr, [sp], #16 26 add sp, sp, 128 27// WAS ldr x1, [x0, :got_lo12:stderr] 28 mov x1, x0 29 30 // GOT load with no register move 31// WAS adrp x0, :got:stderr 32 sub sp, sp, 128 33 stp x0, lr, [sp, #-16]! 34 bl .Lboringssl_loadgot_stderr 35 ldp xzr, lr, [sp], #16 36 add sp, sp, 128 37// WAS ldr x0, [x0, :got_lo12:stderr] 38 39 // Address load 40// WAS adrp x0, .Llocal_data 41 adr x0, .Llocal_data 42// WAS add x1, x0, :lo12:.Llocal_data 43 add x1, x0, #0 44 45 // Address of local symbol with offset 46// WAS adrp x10, .Llocal_data2+16 47 adr x10, .Llocal_data2+16 48// WAS add x11, x10, :lo12:.Llocal_data2+16 49 add x11, x10, #0 50 51 // Address load with no-op add instruction 52// WAS adrp x0, .Llocal_data 53 adr x0, .Llocal_data 54// WAS add x0, x0, :lo12:.Llocal_data 55 56 // armcap 57// WAS adrp x1, OPENSSL_armcap_P 58 sub sp, sp, 128 59 stp x0, lr, [sp, #-16]! 60 bl .LOPENSSL_armcap_P_addr 61 mov x1, x0 62 ldp x0, lr, [sp], #16 63 add sp, sp, 128 64// WAS ldr w2, [x1, :lo12:OPENSSL_armcap_P] 65 ldr w2, [x1] 66 67 // armcap to w0 68// WAS adrp x0, OPENSSL_armcap_P 69 sub sp, sp, 128 70 stp x0, lr, [sp, #-16]! 71 bl .LOPENSSL_armcap_P_addr 72 ldp xzr, lr, [sp], #16 73 add sp, sp, 128 74// WAS ldr w1, [x1, :lo12:OPENSSL_armcap_P] 75 ldr w1, [x1] 76 77 // Load from local symbol 78// WAS adrp x10, .Llocal_data2 79 adr x10, .Llocal_data2 80// WAS ldr q0, [x10, :lo12:.Llocal_data2] 81 ldr q0, [x10] 82 83// WAS bl local_function 84 bl .Llocal_function_local_target 85 86// WAS bl remote_function 87 bl bcm_redirector_remote_function 88 89 bl bss_symbol_bss_get 90 91.Llocal_function_local_target: 92local_function: 93 94// BSS data 95.type bss_symbol,@object 96.section .bss.bss_symbol,"aw",@nobits 97bss_symbol: 98.Lbss_symbol_local_target: 99 100.word 0 101.size bss_symbol, 4 102.text 103.loc 1 2 0 104BORINGSSL_bcm_text_end: 105.p2align 2 106.hidden bcm_redirector_remote_function 107.type bcm_redirector_remote_function, @function 108bcm_redirector_remote_function: 109.cfi_startproc 110 b remote_function 111.cfi_endproc 112.size bcm_redirector_remote_function, .-bcm_redirector_remote_function 113.p2align 2 114.hidden bss_symbol_bss_get 115.type bss_symbol_bss_get, @function 116bss_symbol_bss_get: 117.cfi_startproc 118 adrp x0, .Lbss_symbol_local_target 119 add x0, x0, :lo12:.Lbss_symbol_local_target 120 ret 121.cfi_endproc 122.size bss_symbol_bss_get, .-bss_symbol_bss_get 123.p2align 2 124.hidden .Lboringssl_loadgot_stderr 125.type .Lboringssl_loadgot_stderr, @function 126.Lboringssl_loadgot_stderr: 127.cfi_startproc 128 adrp x0, :got:stderr 129 ldr x0, [x0, :got_lo12:stderr] 130 ret 131.cfi_endproc 132.size .Lboringssl_loadgot_stderr, .-.Lboringssl_loadgot_stderr 133.p2align 2 134.hidden .LOPENSSL_armcap_P_addr 135.type .LOPENSSL_armcap_P_addr, @function 136.LOPENSSL_armcap_P_addr: 137.cfi_startproc 138 adrp x0, OPENSSL_armcap_P 139 add x0, x0, :lo12:OPENSSL_armcap_P 140 ret 141.cfi_endproc 142.size .LOPENSSL_armcap_P_addr, .-.LOPENSSL_armcap_P_addr 143.type BORINGSSL_bcm_text_hash, @object 144.size BORINGSSL_bcm_text_hash, 64 145BORINGSSL_bcm_text_hash: 146.byte 0xae 147.byte 0x2c 148.byte 0xea 149.byte 0x2a 150.byte 0xbd 151.byte 0xa6 152.byte 0xf3 153.byte 0xec 154.byte 0x97 155.byte 0x7f 156.byte 0x9b 157.byte 0xf6 158.byte 0x94 159.byte 0x9a 160.byte 0xfc 161.byte 0x83 162.byte 0x68 163.byte 0x27 164.byte 0xcb 165.byte 0xa0 166.byte 0xa0 167.byte 0x9f 168.byte 0x6b 169.byte 0x6f 170.byte 0xde 171.byte 0x52 172.byte 0xcd 173.byte 0xe2 174.byte 0xcd 175.byte 0xff 176.byte 0x31 177.byte 0x80 178.byte 0xa2 179.byte 0xd4 180.byte 0xc3 181.byte 0x66 182.byte 0xf 183.byte 0xc2 184.byte 0x6a 185.byte 0x7b 186.byte 0xf4 187.byte 0xbe 188.byte 0x39 189.byte 0xa2 190.byte 0xd7 191.byte 0x25 192.byte 0xdb 193.byte 0x21 194.byte 0x98 195.byte 0xe9 196.byte 0xd5 197.byte 0x53 198.byte 0xbf 199.byte 0x5c 200.byte 0x32 201.byte 0x6 202.byte 0x83 203.byte 0x34 204.byte 0xc 205.byte 0x65 206.byte 0x89 207.byte 0x52 208.byte 0xbd 209.byte 0x1f 210