[S390] remove ieee_instruction_pointer from thread_struct
The ieee_instruction_pointer can not be read from user space anymore
since git commit 613e1def6b
, the ptrace
interface always returns zero. Remove it from the thread_struct. It
is still present in the user_regs_struct for compatability reasons.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
baa071588c
commit
ba6cadfebc
|
@ -82,8 +82,6 @@ struct thread_struct {
|
||||||
unsigned long prot_addr; /* address of protection-excep. */
|
unsigned long prot_addr; /* address of protection-excep. */
|
||||||
unsigned int trap_no;
|
unsigned int trap_no;
|
||||||
per_struct per_info;
|
per_struct per_info;
|
||||||
/* Used to give failing instruction back to user for ieee exceptions */
|
|
||||||
unsigned long ieee_instruction_pointer;
|
|
||||||
/* pfault_wait is used to block the process on a pfault event */
|
/* pfault_wait is used to block the process on a pfault event */
|
||||||
unsigned long pfault_wait;
|
unsigned long pfault_wait;
|
||||||
};
|
};
|
||||||
|
|
|
@ -481,8 +481,7 @@ struct user_regs_struct
|
||||||
* watchpoints. This is the way intel does it.
|
* watchpoints. This is the way intel does it.
|
||||||
*/
|
*/
|
||||||
per_struct per_info;
|
per_struct per_info;
|
||||||
unsigned long ieee_instruction_pointer;
|
unsigned long ieee_instruction_pointer; /* obsolete, always 0 */
|
||||||
/* Used to give failing instruction back to user for ieee exceptions */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef __KERNEL__
|
#ifdef __KERNEL__
|
||||||
|
|
|
@ -51,8 +51,7 @@ struct user_regs_struct32
|
||||||
* watchpoints. This is the way intel does it.
|
* watchpoints. This is the way intel does it.
|
||||||
*/
|
*/
|
||||||
per_struct32 per_info;
|
per_struct32 per_info;
|
||||||
u32 ieee_instruction_pointer;
|
u32 ieee_instruction_pointer; /* obsolete, always 0 */
|
||||||
/* Used to give failing instruction back to user for ieee exceptions */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct user32 {
|
struct user32 {
|
||||||
|
|
|
@ -447,7 +447,6 @@ static inline void do_fp_trap(struct pt_regs *regs, void __user *location,
|
||||||
else if (fpc & 0x0800) /* inexact */
|
else if (fpc & 0x0800) /* inexact */
|
||||||
si.si_code = FPE_FLTRES;
|
si.si_code = FPE_FLTRES;
|
||||||
}
|
}
|
||||||
current->thread.ieee_instruction_pointer = (addr_t) location;
|
|
||||||
do_trap(pgm_int_code, SIGFPE,
|
do_trap(pgm_int_code, SIGFPE,
|
||||||
"floating point exception", regs, &si);
|
"floating point exception", regs, &si);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue