|
@@ -474,7 +474,9 @@ setup_return(struct pt_regs *regs, struct k_sigaction *ka,
|
|
unsigned long handler = (unsigned long)ka->sa.sa_handler;
|
|
unsigned long handler = (unsigned long)ka->sa.sa_handler;
|
|
unsigned long retcode;
|
|
unsigned long retcode;
|
|
int thumb = 0;
|
|
int thumb = 0;
|
|
- unsigned long cpsr = regs->ARM_cpsr & ~PSR_f;
|
|
|
|
|
|
+ unsigned long cpsr = regs->ARM_cpsr & ~(PSR_f | PSR_E_BIT);
|
|
|
|
+
|
|
|
|
+ cpsr |= PSR_ENDSTATE;
|
|
|
|
|
|
/*
|
|
/*
|
|
* Maybe we need to deliver a 32-bit signal to a 26-bit task.
|
|
* Maybe we need to deliver a 32-bit signal to a 26-bit task.
|