Vignesh Balasubramanian <vigbalas@xxxxxxx> writes: > "ARCH_HAVE_EXTRA_ELF_NOTES" enables an extra note section in the > core dump. Kconfig variable is preferred over ARCH_HAVE_* macro. > > Co-developed-by: Jini Susan George <jinisusan.george@xxxxxxx> > Signed-off-by: Jini Susan George <jinisusan.george@xxxxxxx> > Signed-off-by: Vignesh Balasubramanian <vigbalas@xxxxxxx> > --- > arch/Kconfig | 9 +++++++++ > arch/powerpc/Kconfig | 1 + > arch/powerpc/include/asm/elf.h | 2 -- > include/linux/elf.h | 2 +- > 4 files changed, 11 insertions(+), 3 deletions(-) Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> (powerpc) cheers > diff --git a/arch/Kconfig b/arch/Kconfig > index 9f066785bb71..143f021c8a76 100644 > --- a/arch/Kconfig > +++ b/arch/Kconfig > @@ -502,6 +502,15 @@ config MMU_LAZY_TLB_SHOOTDOWN > config ARCH_HAVE_NMI_SAFE_CMPXCHG > bool > > +config ARCH_HAVE_EXTRA_ELF_NOTES > + bool > + help > + An architecture should select this in order to enable adding an > + arch-specific ELF note section to core files. It must provide two > + functions: elf_coredump_extra_notes_size() and > + elf_coredump_extra_notes_write() which are invoked by the ELF core > + dumper. > + > config ARCH_HAS_NMI_SAFE_THIS_CPU_OPS > bool > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index 1c4be3373686..c45fa9d7fb76 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -156,6 +156,7 @@ config PPC > select ARCH_HAS_UACCESS_FLUSHCACHE > select ARCH_HAS_UBSAN > select ARCH_HAVE_NMI_SAFE_CMPXCHG > + select ARCH_HAVE_EXTRA_ELF_NOTES if SPU_BASE > select ARCH_KEEP_MEMBLOCK > select ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE if PPC_RADIX_MMU > select ARCH_MIGHT_HAVE_PC_PARPORT > diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h > index 79f1c480b5eb..bb4b94444d3e 100644 > --- a/arch/powerpc/include/asm/elf.h > +++ b/arch/powerpc/include/asm/elf.h > @@ -127,8 +127,6 @@ extern int arch_setup_additional_pages(struct linux_binprm *bprm, > /* Notes used in ET_CORE. Note name is "SPU/<fd>/<filename>". */ > #define NT_SPU 1 > > -#define ARCH_HAVE_EXTRA_ELF_NOTES > - > #endif /* CONFIG_SPU_BASE */ > > #ifdef CONFIG_PPC64 > diff --git a/include/linux/elf.h b/include/linux/elf.h > index c9a46c4e183b..5c402788da19 100644 > --- a/include/linux/elf.h > +++ b/include/linux/elf.h > @@ -65,7 +65,7 @@ extern Elf64_Dyn _DYNAMIC []; > struct file; > struct coredump_params; > > -#ifndef ARCH_HAVE_EXTRA_ELF_NOTES > +#ifndef CONFIG_ARCH_HAVE_EXTRA_ELF_NOTES > static inline int elf_coredump_extra_notes_size(void) { return 0; } > static inline int elf_coredump_extra_notes_write(struct coredump_params *cprm) { return 0; } > #else > -- > 2.34.1