mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
elf_prstatus: collect the common part (everything before pr_reg) into a struct
Preparations to doing i386 compat elf_prstatus sanely - rather than duplicating the beginning of compat_elf_prstatus, take these fields into a separate structure (compat_elf_prstatus_common), so that it could be reused. Due to the incestous relationship between binfmt_elf.c and compat_binfmt_elf.c we need the same shape change done to native struct elf_prstatus, gathering the fields prior to pr_reg into a new structure (struct elf_prstatus_common). Fortunately, offset of pr_reg is always a multiple of 16 with no padding right before it, so it's possible to turn all the stuff prior to it into a single member without disturbing the layout. [build fix from Geert Uytterhoeven folded in] Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -29,7 +29,7 @@ struct elf_siginfo
|
||||
* the SVR4 structure, but more Linuxy, with things that Linux does
|
||||
* not support and which gdb doesn't really use excluded.
|
||||
*/
|
||||
struct elf_prstatus
|
||||
struct elf_prstatus_common
|
||||
{
|
||||
struct elf_siginfo pr_info; /* Info associated with signal */
|
||||
short pr_cursig; /* Current signal */
|
||||
@@ -43,6 +43,11 @@ struct elf_prstatus
|
||||
struct __kernel_old_timeval pr_stime; /* System time */
|
||||
struct __kernel_old_timeval pr_cutime; /* Cumulative user time */
|
||||
struct __kernel_old_timeval pr_cstime; /* Cumulative system time */
|
||||
};
|
||||
|
||||
struct elf_prstatus
|
||||
{
|
||||
struct elf_prstatus_common common;
|
||||
elf_gregset_t pr_reg; /* GP registers */
|
||||
int pr_fpvalid; /* True if math co-processor being used. */
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user