kernel/eka/euser/epoc/arm/uc_exe.cia
branchGCC_SURGE
changeset 150 9b2dbb18d44b
parent 0 a41df078684a
child 163 ce553b66457d
equal deleted inserted replaced
146:eb29190b8a37 150:9b2dbb18d44b
    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)