#ifndef _LINUX_ELFCORE_H
#define _LINUX_ELFCORE_H
#include <linux/user.h>
#include <linux/bug.h>
#include <linux/sched/task_stack.h>
#include <linux/types.h>
#include <linux/signal.h>
#include <linux/time.h>
#include <linux/ptrace.h>
#include <linux/fs.h>
#include <linux/elf.h>
struct coredump_params;
struct elf_siginfo
{ … };
struct elf_prstatus_common
{ … };
struct elf_prstatus
{ … };
#define ELF_PRARGSZ …
struct elf_prpsinfo
{ … };
static inline void elf_core_copy_regs(elf_gregset_t *elfregs, struct pt_regs *regs)
{ … }
static inline int elf_core_copy_task_regs(struct task_struct *t, elf_gregset_t* elfregs)
{ … }
int elf_core_copy_task_fpregs(struct task_struct *t, elf_fpregset_t *fpu);
#ifdef CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS
extern Elf_Half elf_core_extra_phdrs(struct coredump_params *cprm);
extern int
elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset);
extern int
elf_core_write_extra_data(struct coredump_params *cprm);
extern size_t elf_core_extra_data_size(struct coredump_params *cprm);
#else
static inline Elf_Half elf_core_extra_phdrs(struct coredump_params *cprm)
{ … }
static inline int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset)
{ … }
static inline int elf_core_write_extra_data(struct coredump_params *cprm)
{ … }
static inline size_t elf_core_extra_data_size(struct coredump_params *cprm)
{ … }
#endif
#endif