equal
deleted
inserted
replaced
60 asm("strne r1, [sp, #80] "); // if THUMB, set bit 0 of return addr |
60 asm("strne r1, [sp, #80] "); // if THUMB, set bit 0 of return addr |
61 |
61 |
62 asm("mov r11, sp "); // save stack pointer |
62 asm("mov r11, sp "); // save stack pointer |
63 |
63 |
64 // The frame starts 84 bytes (up) from r11 i.e. CFA is r11 + 84 |
64 // The frame starts 84 bytes (up) from r11 i.e. CFA is r11 + 84 |
65 __EH_FRAME_ADDRESS(r11, 84) |
65 __EH_FRAME_ADDRESS(sp, 84) // Reg needs to be sp (=r11) here for gcce |
66 // we can only restore callee-save values, but that's what we want if we 'leave' |
66 // we can only restore callee-save values, but that's what we want if we 'leave' |
67 // saved link is -8 bytes from CFA (= r11 + 0x24 + 0x20 + 0x8) |
67 // saved link is -8 bytes from CFA (= r11 + 0x24 + 0x20 + 0x8) |
68 __EH_FRAME_SAVE1(lr, -8) |
68 __EH_FRAME_SAVE1(lr, -8) |
69 |
69 |
70 // the other callee saves start at -48 from CFA (= r11 + 0x24) |
70 // the other callee saves start at -48 from CFA (= r11 + 0x24) |