#else
mflr r0
std r0,FRAME_LR_SAVE(r1)
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
stdu r1,-FRAME_MIN_SIZE(r1)
cfi_adjust_cfa_offset(FRAME_MIN_SIZE)
cfi_offset(lr,FRAME_LR_SAVE)
ld r0,FRAME_MIN_SIZE+FRAME_LR_SAVE(r1)
addi r1,r1,FRAME_MIN_SIZE
mtlr r0
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
blr
#endif
END (__sigsetjmp_symbol)
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
std r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
mflr r0
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
std r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
std r0,FRAME_LR_SAVE(r1)
cfi_offset (lr, FRAME_LR_SAVE)
ld r0,128+FRAME_LR_SAVE(r1)
addi r1,r1,128
mtlr r0
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
blr
PSEUDO_END(__novec_getcontext)
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
std r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
mflr r0
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
std r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
std r0,FRAME_LR_SAVE(r1)
cfi_offset (lr, FRAME_LR_SAVE)
ld r0,128+FRAME_LR_SAVE(r1)
addi r1,r1,128
mtlr r0
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
blr
PSEUDO_END(__getcontext)
addi r6,r1,FRAME_PARM_SAVE+24
std r0,FRAME_LR_SAVE(r1)
cfi_offset (lr, FRAME_LR_SAVE)
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
stdu r1,-128(r1)
cfi_adjust_cfa_offset (128)
ld r0,128+FRAME_LR_SAVE(r1)
addi r1,r1,128
mtlr r0
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
blr
END(__makecontext)
ENTRY(__novec_setcontext)
CALL_MCOUNT 1
mflr r0
- std r31,-8(1)
- cfi_offset(r31,-8)
+ std r31,-16(1)
+ cfi_offset(r31,-16)
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
std r0,FRAME_LR_SAVE(r1)
cfi_offset (lr, FRAME_LR_SAVE)
stdu r1,-128(r1)
ld r0,128+FRAME_LR_SAVE(r1)
addi r1,r1,128
mtlr r0
- ld r31,-8(r1)
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
+ ld r31,-16(r1)
blr
PSEUDO_END(__novec_setcontext)
ENTRY(__setcontext)
CALL_MCOUNT 1
mflr r0
- std r31,-8(1)
- cfi_offset(r31,-8)
+ std r31,-16(1)
+ cfi_offset(r31,-16)
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
std r0,FRAME_LR_SAVE(r1)
cfi_offset (lr, FRAME_LR_SAVE)
stdu r1,-128(r1)
ld r0,128+FRAME_LR_SAVE(r1)
addi r1,r1,128
mtlr r0
- ld r31,-8(r1)
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
+ ld r31,-16(r1)
blr
PSEUDO_END(__setcontext)
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
std r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
mflr r0
- std r31,-8(1)
- cfi_offset(r31,-8)
+ std r31,-16(1)
+ cfi_offset(r31,-16)
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
std r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
std r0,FRAME_LR_SAVE(r1)
cfi_offset (lr, FRAME_LR_SAVE)
ld r0,128+FRAME_LR_SAVE(r1)
addi r1,r1,128
mtlr r0
- ld r31,-8(r1)
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
+ ld r31,-16(r1)
blr
PSEUDO_END(__novec_swapcontext)
std r0,(SIGCONTEXT_GP_REGS+(PT_R0*8))(r3)
std r1,(SIGCONTEXT_GP_REGS+(PT_R1*8))(r3)
mflr r0
- std r31,-8(1)
- cfi_offset(r31,-8)
+ std r31,-16(1)
+ cfi_offset(r31,-16)
+#ifdef __ROP_PROTECT__
+ hashst r0,FRAME_ROP_SAVE(r1)
+#endif
std r2,(SIGCONTEXT_GP_REGS+(PT_R2*8))(r3)
std r0,FRAME_LR_SAVE(r1)
cfi_offset (lr, FRAME_LR_SAVE)
ld r0,128+FRAME_LR_SAVE(r1)
addi r1,r1,128
mtlr r0
- ld r31,-8(r1)
+#ifdef __ROP_PROTECT__
+ hashchk r0,FRAME_ROP_SAVE(r1)
+#endif
+ ld r31,-16(r1)
blr
PSEUDO_END(__swapcontext)