|
29 | 29 |
|
30 | 30 | .type __gnu_mcount_nc, %function
|
31 | 31 | __gnu_mcount_nc:
|
32 |
| - push {r0, r1, r2, r3, lr} /* Save registers */ |
33 |
| - bic r1, lr, #1 /* R1 contains callee address, with thumb bit cleared */ |
34 |
| - ldr r0, [sp, #20] /* R0 contains caller address */ |
35 |
| - bic r0, r0, #1 /* Clear thumb bit */ |
36 |
| - bl mcount_internal /* Jump to internal _mcount() implementation */ |
37 |
| - pop {r0, r1, r2, r3, ip, lr} /* Restore saved registers */ |
38 |
| - bx ip /* Return to callee */ |
| 32 | + push {r0, r1, r2, r3, lr} /* Save registers */ |
| 33 | + mov r1, lr |
| 34 | + bic r1, r1, #1 /* R1 contains callee address, with thumb bit cleared */ |
| 35 | + ldr r0, [sp, #20] /* R0 contains caller address */ |
| 36 | + bic r0, r0, #1 /* Clear thumb bit */ |
| 37 | + bl mcount_internal /* Jump to internal _mcount() implementation */ |
| 38 | + pop {r0, r1, r2, r3, ip, lr} /* Restore saved registers */ |
| 39 | + bx ip /* Return to callee */ |
39 | 40 |
|
40 | 41 | .size __gnu_mcount_nc, .-__gnu_mcount_nc
|
41 | 42 | .end
|
0 commit comments