diff options
author | Anton Blanchard <anton@samba.org> | 2013-08-06 12:01:50 -0400 |
---|---|---|
committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2013-08-14 01:33:39 -0400 |
commit | 8bd0b119ae64bf448e5f45d208007950e0ac2754 (patch) | |
tree | c792cadc7f7fa17c5e36d119e486878906af47a4 | |
parent | a02f6dfc954ed2308a2809e37c2f262d52b82a2b (diff) |
powerpc: Fix little endian coredumps
We need to set ELF_DATA correctly on LE coredumps.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
-rw-r--r-- | arch/powerpc/include/uapi/asm/elf.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/powerpc/include/uapi/asm/elf.h b/arch/powerpc/include/uapi/asm/elf.h index 89fa042d51db..7e39c9146a71 100644 --- a/arch/powerpc/include/uapi/asm/elf.h +++ b/arch/powerpc/include/uapi/asm/elf.h | |||
@@ -109,7 +109,6 @@ typedef elf_gregset_t32 compat_elf_gregset_t; | |||
109 | # define ELF_GREG_TYPE elf_greg_t64 | 109 | # define ELF_GREG_TYPE elf_greg_t64 |
110 | # define ELF_ARCH EM_PPC64 | 110 | # define ELF_ARCH EM_PPC64 |
111 | # define ELF_CLASS ELFCLASS64 | 111 | # define ELF_CLASS ELFCLASS64 |
112 | # define ELF_DATA ELFDATA2MSB | ||
113 | typedef elf_greg_t64 elf_greg_t; | 112 | typedef elf_greg_t64 elf_greg_t; |
114 | typedef elf_gregset_t64 elf_gregset_t; | 113 | typedef elf_gregset_t64 elf_gregset_t; |
115 | #else | 114 | #else |
@@ -118,11 +117,16 @@ typedef elf_gregset_t64 elf_gregset_t; | |||
118 | # define ELF_GREG_TYPE elf_greg_t32 | 117 | # define ELF_GREG_TYPE elf_greg_t32 |
119 | # define ELF_ARCH EM_PPC | 118 | # define ELF_ARCH EM_PPC |
120 | # define ELF_CLASS ELFCLASS32 | 119 | # define ELF_CLASS ELFCLASS32 |
121 | # define ELF_DATA ELFDATA2MSB | ||
122 | typedef elf_greg_t32 elf_greg_t; | 120 | typedef elf_greg_t32 elf_greg_t; |
123 | typedef elf_gregset_t32 elf_gregset_t; | 121 | typedef elf_gregset_t32 elf_gregset_t; |
124 | #endif /* __powerpc64__ */ | 122 | #endif /* __powerpc64__ */ |
125 | 123 | ||
124 | #ifdef __BIG_ENDIAN__ | ||
125 | #define ELF_DATA ELFDATA2MSB | ||
126 | #else | ||
127 | #define ELF_DATA ELFDATA2LSB | ||
128 | #endif | ||
129 | |||
126 | /* Floating point registers */ | 130 | /* Floating point registers */ |
127 | typedef double elf_fpreg_t; | 131 | typedef double elf_fpreg_t; |
128 | typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; | 132 | typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; |