Commit 79885b22 authored by Edgar E. Iglesias's avatar Edgar E. Iglesias Committed by Linus Torvalds

elf: use ELF_CORE_EFLAGS for kcore ELF header flags

ELF_CORE_EFLAGS is already used by the binfmt_elf coredumper to set correct
arch specific ELF header flags on coredumps.  Use it for kcore dumps as well.
At the moment, this affects the CRIS and the H8300 arch.
Signed-off-by: default avatarEdgar E. Iglesias <edgar@axis.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7833351b
...@@ -23,6 +23,10 @@ ...@@ -23,6 +23,10 @@
#define CORE_STR "CORE" #define CORE_STR "CORE"
#ifndef ELF_CORE_EFLAGS
#define ELF_CORE_EFLAGS 0
#endif
static int open_kcore(struct inode * inode, struct file * filp) static int open_kcore(struct inode * inode, struct file * filp)
{ {
return capable(CAP_SYS_RAWIO) ? 0 : -EPERM; return capable(CAP_SYS_RAWIO) ? 0 : -EPERM;
...@@ -164,11 +168,7 @@ static void elf_kcore_store_hdr(char *bufp, int nphdr, int dataoff) ...@@ -164,11 +168,7 @@ static void elf_kcore_store_hdr(char *bufp, int nphdr, int dataoff)
elf->e_entry = 0; elf->e_entry = 0;
elf->e_phoff = sizeof(struct elfhdr); elf->e_phoff = sizeof(struct elfhdr);
elf->e_shoff = 0; elf->e_shoff = 0;
#if defined(CONFIG_H8300) elf->e_flags = ELF_CORE_EFLAGS;
elf->e_flags = ELF_FLAGS;
#else
elf->e_flags = 0;
#endif
elf->e_ehsize = sizeof(struct elfhdr); elf->e_ehsize = sizeof(struct elfhdr);
elf->e_phentsize= sizeof(struct elf_phdr); elf->e_phentsize= sizeof(struct elf_phdr);
elf->e_phnum = nphdr; elf->e_phnum = nphdr;
......
...@@ -26,10 +26,10 @@ typedef unsigned long elf_fpregset_t; ...@@ -26,10 +26,10 @@ typedef unsigned long elf_fpregset_t;
#define ELF_DATA ELFDATA2MSB #define ELF_DATA ELFDATA2MSB
#define ELF_ARCH EM_H8_300 #define ELF_ARCH EM_H8_300
#if defined(__H8300H__) #if defined(__H8300H__)
#define ELF_FLAGS 0x810000 #define ELF_CORE_EFLAGS 0x810000
#endif #endif
#if defined(__H8300S__) #if defined(__H8300S__)
#define ELF_FLAGS 0x820000 #define ELF_CORE_EFLAGS 0x820000
#endif #endif
#define ELF_PLAT_INIT(_r) _r->er1 = 0 #define ELF_PLAT_INIT(_r) _r->er1 = 0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment