1 .arch armv7-r 2 .eabi_attribute 20, 1 3 .eabi_attribute 21, 1 4 .eabi_attribute 23, 3 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 2 8 .eabi_attribute 30, 2 9 .eabi_attribute 34, 1 10 .eabi_attribute 18, 4 11 .file "hello.c" 12 .text 13 .align 2 14 .syntax unified 15 .arm 16 .fpu softvfp 17 .type my_local_func, %function 18my_local_func: 19 @ args = 0, pretend = 0, frame = 0 20 @ frame_needed = 0, uses_anonymous_args = 0 21 @ link register save eliminated. 22 bx lr 23 .size my_local_func, .-my_local_func 24 .section .text.startup,"ax",%progbits 25 .align 2 26 .global _start 27 .syntax unified 28 .arm 29 .fpu softvfp 30 .type _start, %function 31_start: 32 b main 33 34 .global main 35 .syntax unified 36 .arm 37 .fpu softvfp 38 .type main, %function 39main: 40 @ args = 0, pretend = 0, frame = 0 41 @ frame_needed = 0, uses_anonymous_args = 0 42 ldr r2, .L4 43 ldr r3, .L4+4 44 push {r4, r5, r6, lr} 45 ldr r5, [r9, r2] 46 mov r4, r9 47 ldr r3, [r9, r3] 48 str r3, [r5] 49 bl my_shared_func1(PLT) 50 mov r6, r0 51 mov r9, r4 52 ldr r0, [r5] 53 mov r9, r4 54 bl my_shared_func2(PLT) 55 ldr r3, .L4+8 56 mov r9, r4 57 add r3, r3, r9 58 mov r0, r3 59 str r3, [r5] 60 mov r9, r4 61 bl my_shared_func2(PLT) 62 ldr r3, .L4+12 63 mov r9, r4 64 ldr r3, [r9, r3] 65 ldr r0, [r3] 66 mov r9, r4 67 bl my_shared_func2(PLT) 68 mov r0, r6 69 mov r9, r4 70 pop {r4, r5, r6, pc} 71.L5: 72 .align 2 73.L4: 74 .word funcptr(GOT) 75 .word my_shared_func1(GOTFUNCDESC) 76 .word my_local_func(GOTOFFFUNCDESC) 77 .word funcptr2(GOT) 78 .size main, .-main 79 .global funcptr2 80 .comm funcptr,4,4 81 .section .data.rel,"aw",%progbits 82 .align 2 83 .type funcptr2, %object 84 .size funcptr2, 4 85funcptr2: 86 .word my_shared_func1(FUNCDESC) 87