USE_ELF_CORE_DUMP?
Subsystems (17)
Currently all architectures but microblaze unconditionally define USE_ELF_CORE_DUMP. The microblaze ommision seems like an error to me, so can we just kill this ifdef and make sure we are the same everywhere?
Quoted 4 lines · Christoph Hellwig
Currently all architectures but microblaze unconditionally define
USE_ELF_CORE_DUMP. The microblaze ommision seems like an error to me, so can we just kill this ifdef and make sure we are the same everywhere?
That's presumably a leftover from a.out days ... kill it.
Signature · 4 lines
Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step."
Quoted 5 lines · Christoph Hellwig
Currently all architectures but microblaze unconditionally define
USE_ELF_CORE_DUMP. The microblaze ommision seems like an error to me, so can we just kill this ifdef and make sure we are the same everywhere?
Where did you find it?
I haven't seen in in mainline (noMMU kernel). It is in my MMU patches which I want to send for review soon.
For noMMU I use CONFIG_BINFMT_FLAT (binfmt_flat.c) where I don't need USE_ELF_CORE_DUMP
For MMU I use CONFIG_BINFMT_ELF (binfmt_elf.c) where USE_ELF_CORE_DUMP make sense to me.
Can you give me some clue what you are trying to fix?
Thanks,
Michal
Quoted 5 lines
--
To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 3 lines
Michal Simek, Ing. (M.Eng) PetaLogix - Linux Solutions for a Reconfigurable World w: www.petalogix.com p: +61-7-30090663,+42-0-721842854 f: +61-7-30090663
Quoted 9 lines · Michal Simek
Quoted 5 lines · Christoph Hellwig
Currently all architectures but microblaze unconditionally define
USE_ELF_CORE_DUMP. The microblaze ommision seems like an error to me, so can we just kill this ifdef and make sure we are the same everywhere?Where did you find it?
I haven't seen in in mainline (noMMU kernel). It is in my MMU patches which I want to send for review soon.
USE_ELF_CORE_DUMP is defined in arch/x86/include/*/elf.h (or sometimes elf_{32,64}.h) on all architectures but microblaze.
Quoted 4 lines
For noMMU I use
CONFIG_BINFMT_FLAT(binfmt_flat.c) where I don't needUSE_ELF_CORE_DUMP
For MMU I useCONFIG_BINFMT_ELF(binfmt_elf.c) whereUSE_ELF_CORE_DUMPmake sense to me.
USE_ELF_CORE_DUMP only comes into play if CONFIG_ELF_CORE is set, so in the mmu example above. These two are in fact always checked together, so not setting USE_ELF_CORE_DUMP is an obscure way to disable elf core dumps despite CONFIG_ELF_CORE being set.
PATCH 1/1 kill USE_ELF_CORE_DUMP
In reply to Michal SimekCurrently all architectures but microblaze unconditionally define USE_ELF_CORE_DUMP. The microblaze ommision seems like an error to me, so let's kill this ifdef and make sure we are the same everywhere.
arch/alpha/include/asm/elf.h +0 -1
@@ -81,7 +81,6 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N#define ELF_DATA ELFDATA2LSB#define ELF_ARCH EM_ALPHA -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 8192/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/arm/include/asm/elf.h +0 -1
@@ -98,7 +98,6 @@ extern int elf_check_arch(const struct eextern int arm_elf_read_implies_exec (const struct elf32_hdr *,int );#define elf_read_implies_exec (ex,stk) arm_elf_read_implies_exec(&(ex), stk) -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/avr32/include/asm/elf.h +0 -1
@@ -77,7 +77,6 @@ typedef struct user_fpu_struct elf_fpreg#endif #define ELF_ARCH EM_AVR32 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/blackfin/include/asm/elf.h +0 -1
@@ -51,7 +51,6 @@ do { \ _regs->p2 = _dynamic_addr; \ } while(0) -#define USE_ELF_CORE_DUMP #define ELF_FDPIC_CORE_EFLAGS EF_BFIN_FDPIC#define ELF_EXEC_PAGESIZE 4096
arch/cris/include/asm/elf.h +0 -2
@@ -64,8 +64,6 @@ typedef unsigned long elf_fpregset_t;#define EF_CRIS_VARIANT_COMMON_V10_V32 0x00000004/* End of excerpt from {binutils}/include/elf/cris.h. */ -#define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 8192/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/frv/include/asm/elf.h +0 -1
@@ -115,7 +115,6 @@ do { \ __kernel_frame0_ptr->gr29 =0 ; \ } while(0) -#define USE_ELF_CORE_DUMP #define CORE_DUMP_USE_REGSET #define ELF_FDPIC_CORE_EFLAGS EF_FRV_FDPIC#define ELF_EXEC_PAGESIZE 16384
arch/h8300/include/asm/elf.h +0 -1
@@ -34,7 +34,6 @@ typedef unsigned long elf_fpregset_t;#define ELF_PLAT_INIT (_r) _r->er1 = 0 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/ia64/ia32/elfcore32.h +0 -2
@@ -11,8 +11,6 @@#include <asm/intrinsics.h> #include <asm/uaccess.h> -#define USE_ELF_CORE_DUMP 1 -/* Override elfcore.h */ #define _LINUX_ELFCORE_H 1typedef unsigned int elf_greg_t ;
arch/ia64/include/asm/elf.h +0 -1
@@ -25,7 +25,6 @@#define ELF_DATA ELFDATA2LSB#define ELF_ARCH EM_IA_64 -#define USE_ELF_CORE_DUMP #define CORE_DUMP_USE_REGSET /* Least-significant four bits of ELF header's e_flags are OS-specific. The bits are
arch/m32r/include/asm/elf.h +0 -1
@@ -102,7 +102,6 @@ typedef elf_fpreg_t elf_fpregset_t;*/ #define ELF_PLAT_INIT (_r, load_addr) (_r)->r0 = 0 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE PAGE_SIZE/*
arch/m68k/include/asm/elf.h +0 -1
@@ -59,7 +59,6 @@ typedef struct user_m68kfp_struct elf_fpis actually used on ASV. */ #define ELF_PLAT_INIT (_r, load_addr) _r->a1 = 0 -#define USE_ELF_CORE_DUMP #ifndef CONFIG_SUN3 #define ELF_EXEC_PAGESIZE 4096#else
arch/mips/include/asm/elf.h +0 -1
@@ -326,7 +326,6 @@ extern int dump_task_fpu(struct task_str#define ELF_CORE_COPY_FPREGS (tsk, elf_fpregs) \ dump_task_fpu(tsk, elf_fpregs) -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE PAGE_SIZE/* This yields a mask that user programs can use to figure out what
arch/mn10300/include/asm/elf.h +0 -1
@@ -77,7 +77,6 @@ do { \ _ur->a1 =0 ; _ur->a0 =0 ; _ur->d1 =0 ; _ur->d0 =0 ; \ } while (0) -#define USE_ELF_CORE_DUMP #define CORE_DUMP_USE_REGSET #define ELF_EXEC_PAGESIZE 4096
arch/parisc/include/asm/elf.h +0 -1
@@ -328,7 +328,6 @@ struct pt_regs; /* forward declaration..such function. */ #define ELF_PLAT_INIT (_r, load_addr) _r->gr[23] = 0 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/powerpc/include/asm/elf.h +0 -1
@@ -170,7 +170,6 @@ typedef elf_fpreg_t elf_vsrreghalf_t32[E#define elf_check_arch (x) ((x)->e_machine == ELF_ARCH)#define compat_elf_check_arch (x) ((x)->e_machine == EM_PPC) -#define USE_ELF_CORE_DUMP #define CORE_DUMP_USE_REGSET #define ELF_EXEC_PAGESIZE PAGE_SIZE
arch/s390/include/asm/elf.h +0 -1
@@ -143,7 +143,6 @@ extern unsigned int vdso_enabled; } while (0)#define CORE_DUMP_USE_REGSET -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/sh/include/asm/elf.h +0 -1
@@ -114,7 +114,6 @@ typedef struct user_fpu_struct elf_fpreg*/ #define CORE_DUMP_USE_REGSET -#define USE_ELF_CORE_DUMP #define ELF_FDPIC_CORE_EFLAGS EF_SH_FDPIC#define ELF_EXEC_PAGESIZE PAGE_SIZE
arch/sparc/include/asm/elf_32.h +0 -2
@@ -104,8 +104,6 @@ typedef struct {#define ELF_CLASS ELFCLASS32#define ELF_DATA ELFDATA2MSB -#define USE_ELF_CORE_DUMP -#define ELF_EXEC_PAGESIZE 4096
arch/sparc/include/asm/elf_64.h +0 -1
@@ -152,7 +152,6 @@ typedef struct { (x)->e_machine == EM_SPARC32PLUS)#define compat_start_thread start_thread32 -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE PAGE_SIZE/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/um/sys-i386/asm/elf.h +0 -1
@@ -48,7 +48,6 @@ typedef struct user_i387_struct elf_fprePT_REGS_EAX (regs) =0 ; \ } while (0) -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096#define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3)
arch/um/sys-ppc/asm/elf.h +0 -2
@@ -17,8 +17,6 @@ extern long elf_aux_hwcap;#define ELF_CLASS ELFCLASS32#endif -#define USE_ELF_CORE_DUMP -#define R_386_NONE 0#define R_386_32 1#define R_386_PC32 2
arch/um/sys-x86_64/asm/elf.h +0 -1
@@ -104,7 +104,6 @@ extern int elf_core_copy_fpregs(struct tclear_thread_flag (TIF_IA32 );#endif -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096#define ELF_ET_DYN_BASE (2 * TASK_SIZE / 3)
arch/x86/include/asm/elf.h +0 -1
@@ -255,7 +255,6 @@ extern int force_personality32;#endif /* !CONFIG_X86_32 */ #define CORE_DUMP_USE_REGSET -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096/* This is the location that an ET_DYN program is loaded if exec'ed. Typical
arch/xtensa/include/asm/elf.h +0 -1
@@ -123,7 +123,6 @@ extern void xtensa_elf_core_copy_regs (x#define ELF_CLASS ELFCLASS32#define ELF_ARCH EM_XTENSA -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE PAGE_SIZE/*
fs/binfmt_elf.c +3 -8
@@ -44,7 +44,7 @@ static unsigned long elf_map(struct file* If we don't support core dumping, then supply a NULL so we * don't even try. */ -#if defined(USE_ELF_CORE_DUMP ) && defined(CONFIG_ELF_CORE ) +#ifdef CONFIG_ELF_CORE static int elf_core_dump (long signr,struct pt_regs *regs,struct file *file,unsigned long limit);#else #define elf_core_dump NULL
@@ -1101,12 +1101,7 @@ out:return error; } -/* -* Note that some platforms still use traditional core dumps and not -* the ELF core dump. Each platform can select it as appropriate. -*/ -#if defined(USE_ELF_CORE_DUMP ) && defined(CONFIG_ELF_CORE ) - +#ifdef CONFIG_ELF_CORE /* * ELF core dumper *
@@ -2063,7 +2058,7 @@ out: return has_dumped; } -#endif /* USE_ELF_CORE_DUMP */ +#endif /* CONFIG_ELF_CORE */ static int __init init_elf_binfmt (void ) {
fs/binfmt_elf_fdpic.c +4 -4
@@ -75,14 +75,14 @@ static int elf_fdpic_map_file_constdisp_static int elf_fdpic_map_file_by_direct_mmap (struct elf_fdpic_params *,struct file *,struct mm_struct *); -#if defined(USE_ELF_CORE_DUMP ) && defined(CONFIG_ELF_CORE ) +#ifdef CONFIG_ELF_CORE static int elf_fdpic_core_dump (long ,struct pt_regs *,struct file *,unsigned long limit);#endif static struct linux_binfmt elf_fdpic_format = { .module =THIS_MODULE , .load_binary = load_elf_fdpic_binary, -#if defined(USE_ELF_CORE_DUMP) && defined(CONFIG_ELF_CORE) +#ifdef CONFIG_ELF_CORE .core_dump = elf_fdpic_core_dump, #endif .min_coredump =ELF_EXEC_PAGESIZE ,
@@ -1200,7 +1200,7 @@ static int elf_fdpic_map_file_by_direct_* * Modelled on fs/binfmt_elf.c core dumper */ -#if defined(USE_ELF_CORE_DUMP ) && defined(CONFIG_ELF_CORE ) +#ifdef CONFIG_ELF_CORE /* * These are the only things you should do on a core-file: use only these
@@ -1825,4 +1825,4 @@ cleanup:#undef NUM_NOTES } -#endif /* USE_ELF_CORE_DUMP */ +#endif /* CONFIG_ELF_CORE */
fs/proc/base.c +2 -2
@@ -2200,7 +2200,7 @@ static const struct inode_operations pro#endif -#if defined(USE_ELF_CORE_DUMP ) && defined(CONFIG_ELF_CORE ) +#ifdef CONFIG_ELF_CORE static ssize_t proc_coredump_filter_read (struct file *file,char __user *buf,size_t count,loff_t *ppos) {
@@ -2556,7 +2556,7 @@ static const struct pid_entry tgid_base_#ifdef CONFIG_FAULT_INJECTION REG("make-it-fail", S_IRUGO|S_IWUSR, proc_fault_inject_operations),#endif -#if defined(USE_ELF_CORE_DUMP ) && defined(CONFIG_ELF_CORE ) +#ifdef CONFIG_ELF_CORE REG ("coredump_filter" ,S_IRUGO |S_IWUSR , proc_coredump_filter_operations), #endif #ifdef CONFIG_TASK_IO_ACCOUNTING
arch/microblaze/include/asm/elf.h +0 -1
@@ -77,7 +77,6 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N#define ELF_DATA ELFDATA2MSB#endif -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096
arch/score/include/asm/elf.h +0 -1
@@ -61,7 +61,6 @@ struct task_struct;struct pt_regs ;#define CORE_DUMP_USE_REGSET -#define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE PAGE_SIZE/* This yields a mask that user programs can use to figure out what
Re: [PATCH] kill USE_ELF_CORE_DUMP
Quoted 5 lines · Christoph Hellwig
Currently all architectures but microblaze unconditionally define
USE_ELF_CORE_DUMP. The microblaze ommision seems like an error to me, so let's kill this ifdef and make sure we are the same everywhere.Signed-off-by Christoph Hellwig <[email protected]>
Yes, I came to a similar conclusion when I added get_dump_page():
#ifdef'ed it on CONFIG_ELF_CORE, but couldn't see the point of USE_ELF_CORE_DUMP. (Though I missed the microblaze omission).
Re: [PATCH] kill USE_ELF_CORE_DUMP
In reply to Christoph HellwigQuoted 3 lines · Christoph Hellwig
Currently all architectures but microblaze unconditionally define
USE_ELF_CORE_DUMP. The microblaze ommision seems like an error to me, so let's kill this ifdef and make sure we are the same everywhere.
USE_ELF_CORE_DUMP was introduced in 2.6.11. Already back then all architectures did define it unconditionally in <asm/elf.h> so there may never have been any real use for it.
Ralf