forked from Minki/linux
kill elf_fpxregs_t
all uses are conditional upon ELF_CORE_COPY_XFPREGS, which has not been defined on any architecture since 2010 Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
16aead8101
commit
7a896028ad
@ -179,8 +179,6 @@ extern void ia64_init_addr_space (void);
|
||||
#define ELF_AR_SSD_OFFSET (56 * sizeof(elf_greg_t))
|
||||
#define ELF_AR_END_OFFSET (57 * sizeof(elf_greg_t))
|
||||
|
||||
typedef unsigned long elf_fpxregset_t;
|
||||
|
||||
typedef unsigned long elf_greg_t;
|
||||
typedef elf_greg_t elf_gregset_t[ELF_NGREG];
|
||||
|
||||
|
@ -53,8 +53,6 @@ static inline void ppc_elf_core_copy_regs(elf_gregset_t elf_regs,
|
||||
}
|
||||
#define ELF_CORE_COPY_REGS(gregs, regs) ppc_elf_core_copy_regs(gregs, regs);
|
||||
|
||||
typedef elf_vrregset_t elf_fpxregset_t;
|
||||
|
||||
/* ELF_HWCAP yields a mask that user programs can use to figure out what
|
||||
instruction set this cpu supports. This could be done in userspace,
|
||||
but it's not easy, and we've already done it here. */
|
||||
|
@ -21,8 +21,6 @@ typedef struct user_i387_struct elf_fpregset_t;
|
||||
|
||||
#ifdef __i386__
|
||||
|
||||
typedef struct user_fxsr_struct elf_fpxregset_t;
|
||||
|
||||
#define R_386_NONE 0
|
||||
#define R_386_32 1
|
||||
#define R_386_PC32 2
|
||||
|
@ -2038,9 +2038,6 @@ struct elf_thread_status
|
||||
struct elf_prstatus prstatus; /* NT_PRSTATUS */
|
||||
elf_fpregset_t fpu; /* NT_PRFPREG */
|
||||
struct task_struct *thread;
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
|
||||
#endif
|
||||
struct memelfnote notes[3];
|
||||
int num_notes;
|
||||
};
|
||||
@ -2071,15 +2068,6 @@ static int elf_dump_thread_status(long signr, struct elf_thread_status *t)
|
||||
t->num_notes++;
|
||||
sz += notesize(&t->notes[1]);
|
||||
}
|
||||
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
|
||||
fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE,
|
||||
sizeof(t->xfpu), &t->xfpu);
|
||||
t->num_notes++;
|
||||
sz += notesize(&t->notes[2]);
|
||||
}
|
||||
#endif
|
||||
return sz;
|
||||
}
|
||||
|
||||
@ -2090,9 +2078,6 @@ struct elf_note_info {
|
||||
struct elf_prpsinfo *psinfo; /* NT_PRPSINFO */
|
||||
struct list_head thread_list;
|
||||
elf_fpregset_t *fpu;
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
elf_fpxregset_t *xfpu;
|
||||
#endif
|
||||
user_siginfo_t csigdata;
|
||||
int thread_status_size;
|
||||
int numnote;
|
||||
@ -2116,11 +2101,6 @@ static int elf_note_info_init(struct elf_note_info *info)
|
||||
info->fpu = kmalloc(sizeof(*info->fpu), GFP_KERNEL);
|
||||
if (!info->fpu)
|
||||
return 0;
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
info->xfpu = kmalloc(sizeof(*info->xfpu), GFP_KERNEL);
|
||||
if (!info->xfpu)
|
||||
return 0;
|
||||
#endif
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -2184,13 +2164,6 @@ static int fill_note_info(struct elfhdr *elf, int phdrs,
|
||||
if (info->prstatus->pr_fpvalid)
|
||||
fill_note(info->notes + info->numnote++,
|
||||
"CORE", NT_PRFPREG, sizeof(*info->fpu), info->fpu);
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
if (elf_core_copy_task_xfpregs(current, info->xfpu))
|
||||
fill_note(info->notes + info->numnote++,
|
||||
"LINUX", ELF_CORE_XFPREG_TYPE,
|
||||
sizeof(*info->xfpu), info->xfpu);
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -2243,9 +2216,6 @@ static void free_note_info(struct elf_note_info *info)
|
||||
kfree(info->psinfo);
|
||||
kfree(info->notes);
|
||||
kfree(info->fpu);
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
kfree(info->xfpu);
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1457,9 +1457,6 @@ struct elf_thread_status
|
||||
struct elf_prstatus_fdpic prstatus; /* NT_PRSTATUS */
|
||||
elf_fpregset_t fpu; /* NT_PRFPREG */
|
||||
struct task_struct *thread;
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
|
||||
#endif
|
||||
struct memelfnote notes[3];
|
||||
int num_notes;
|
||||
};
|
||||
@ -1491,15 +1488,6 @@ static int elf_dump_thread_status(long signr, struct elf_thread_status *t)
|
||||
t->num_notes++;
|
||||
sz += notesize(&t->notes[1]);
|
||||
}
|
||||
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
|
||||
fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE,
|
||||
sizeof(t->xfpu), &t->xfpu);
|
||||
t->num_notes++;
|
||||
sz += notesize(&t->notes[2]);
|
||||
}
|
||||
#endif
|
||||
return sz;
|
||||
}
|
||||
|
||||
@ -1593,9 +1581,6 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
|
||||
LIST_HEAD(thread_list);
|
||||
struct list_head *t;
|
||||
elf_fpregset_t *fpu = NULL;
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
elf_fpxregset_t *xfpu = NULL;
|
||||
#endif
|
||||
int thread_status_size = 0;
|
||||
elf_addr_t *auxv;
|
||||
struct elf_phdr *phdr4note = NULL;
|
||||
@ -1634,11 +1619,6 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
|
||||
fpu = kmalloc(sizeof(*fpu), GFP_KERNEL);
|
||||
if (!fpu)
|
||||
goto end_coredump;
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
xfpu = kmalloc(sizeof(*xfpu), GFP_KERNEL);
|
||||
if (!xfpu)
|
||||
goto end_coredump;
|
||||
#endif
|
||||
|
||||
for (ct = current->mm->core_state->dumper.next;
|
||||
ct; ct = ct->next) {
|
||||
@ -1703,11 +1683,6 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm)
|
||||
elf_core_copy_task_fpregs(current, cprm->regs, fpu)))
|
||||
fill_note(notes + numnote++,
|
||||
"CORE", NT_PRFPREG, sizeof(*fpu), fpu);
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
if (elf_core_copy_task_xfpregs(current, xfpu))
|
||||
fill_note(notes + numnote++,
|
||||
"LINUX", ELF_CORE_XFPREG_TYPE, sizeof(*xfpu), xfpu);
|
||||
#endif
|
||||
|
||||
offset += sizeof(*elf); /* Elf header */
|
||||
offset += segs * sizeof(struct elf_phdr); /* Program headers */
|
||||
@ -1828,9 +1803,6 @@ end_coredump:
|
||||
kfree(notes);
|
||||
kfree(fpu);
|
||||
kfree(shdr4extnum);
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
kfree(xfpu);
|
||||
#endif
|
||||
return has_dumped;
|
||||
#undef NUM_NOTES
|
||||
}
|
||||
|
@ -104,13 +104,6 @@ static inline int elf_core_copy_task_fpregs(struct task_struct *t, struct pt_reg
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef ELF_CORE_COPY_XFPREGS
|
||||
static inline int elf_core_copy_task_xfpregs(struct task_struct *t, elf_fpxregset_t *xfpu)
|
||||
{
|
||||
return ELF_CORE_COPY_XFPREGS(t, xfpu);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These functions parameterize elf_core_dump in fs/binfmt_elf.c to write out
|
||||
* extra segments containing the gate DSO contents. Dumping its
|
||||
|
Loading…
Reference in New Issue
Block a user