| 1 | .text |
| 2 | .align |
| 3 | |
| 4 | mova .Lgot, r0 |
| 5 | mov.l .Lgot, r12 |
| 6 | add r0, r12 |
| 7 | mov.l .Lfoogot, r0 |
| 8 | mov.l @(r0,r12), r0 |
| 9 | jsr @r0 |
| 10 | nop |
| 11 | mov.l .Lfoogotoff, r0 |
| 12 | add r12, r0 |
| 13 | jsr @r0 |
| 14 | nop |
| 15 | mov.l .Lfooplt, r1 |
| 16 | mova .Lfooplt, r0 |
| 17 | add r1, r0 |
| 18 | jsr @r0 |
| 19 | nop |
| 20 | mov.l .Lfooplt_old, r0 |
| 21 | jsr @r0 |
| 22 | .LPLTcall_old: |
| 23 | nop |
| 24 | mov.l .Lfooplt_new, r0 |
| 25 | jsr @r0 |
| 26 | .LPLTcall_new: |
| 27 | nop |
| 28 | |
| 29 | .p2align 2 |
| 30 | .Lgot: |
| 31 | .long GLOBAL_OFFSET_TABLE |
| 32 | .Lfoogot: |
| 33 | .long foo@GOT |
| 34 | .Lfoogotoff: |
| 35 | .long foo@GOTOFF |
| 36 | .Lfooplt: |
| 37 | .long foo@PLT |
| 38 | .Lfooplt_old: |
| 39 | .long foo@PLT + . - (.LPLTcall_old + 2) |
| 40 | .Lfooplt_new: |
| 41 | .long foo@PLT - (.LPLTcall_new + 2 - .) |
| 42 | .Lfooplt_old2: |
| 43 | .long foo@PLT + . - 2 - .LPLTcall_old |