1 .text 2 .globl foo 3 .type foo, %function 4 foo: 5 stmfd sp!, {r9, lr, pc} 6 ldr r9, 1f 7 ldr r9, [r9] 8 ldr r9, [r9, #__GOTT_INDEX__] 9 ldr r0, 1f + 4 10 ldr r1, [r9, r0] 11 add r1, r1, #1 12 str r1, [r9, r0] 13 bl slocal(PLT) 14 bl sglobal(PLT) 15 bl sexternal(PLT) 16 ldmfd sp!, {r9, pc} 17 1: 18 .word __GOTT_BASE__ 19 .word x(got) 20 .size foo, .-foo 21 22 .type slocal, %function 23 slocal: 24 mov pc,lr 25 .size slocal, .-slocal 26 27 .globl sglobal 28 .type sglobal, %function 29 sglobal: 30 mov pc,lr 31 .size sglobal, .-sglobal 32 33 .data 34 .4byte slocal 35 36 .comm x,4,4 37