diff options
author | Will Deacon <will.deacon@arm.com> | 2013-10-11 09:52:10 -0400 |
---|---|---|
committer | Catalin Marinas <catalin.marinas@arm.com> | 2013-10-25 10:59:33 -0400 |
commit | 5436b5c8305b4ed37c5d11f96c1aaccca63c9ab2 (patch) | |
tree | 9a7c10ab6485e59b219dbfee8ebd7124066ddad1 /arch/arm64 | |
parent | c194520ada7c8f2eddec5ebf24982483b49736a0 (diff) |
arm64: ELF: add support for big-endian executables
This patch adds support for the aarch64_be ELF format to the AArch64 ELF
loader.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64')
-rw-r--r-- | arch/arm64/include/asm/elf.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index e7fa87f9201b..a3e4a5564ea3 100644 --- a/arch/arm64/include/asm/elf.h +++ b/arch/arm64/include/asm/elf.h | |||
@@ -90,11 +90,24 @@ typedef struct user_fpsimd_state elf_fpregset_t; | |||
90 | * These are used to set parameters in the core dumps. | 90 | * These are used to set parameters in the core dumps. |
91 | */ | 91 | */ |
92 | #define ELF_CLASS ELFCLASS64 | 92 | #define ELF_CLASS ELFCLASS64 |
93 | #ifdef __AARCH64EB__ | ||
94 | #define ELF_DATA ELFDATA2MSB | ||
95 | #else | ||
93 | #define ELF_DATA ELFDATA2LSB | 96 | #define ELF_DATA ELFDATA2LSB |
97 | #endif | ||
94 | #define ELF_ARCH EM_AARCH64 | 98 | #define ELF_ARCH EM_AARCH64 |
95 | 99 | ||
100 | /* | ||
101 | * This yields a string that ld.so will use to load implementation | ||
102 | * specific libraries for optimization. This is more specific in | ||
103 | * intent than poking at uname or /proc/cpuinfo. | ||
104 | */ | ||
96 | #define ELF_PLATFORM_SIZE 16 | 105 | #define ELF_PLATFORM_SIZE 16 |
106 | #ifdef __AARCH64EB__ | ||
107 | #define ELF_PLATFORM ("aarch64_be") | ||
108 | #else | ||
97 | #define ELF_PLATFORM ("aarch64") | 109 | #define ELF_PLATFORM ("aarch64") |
110 | #endif | ||
98 | 111 | ||
99 | /* | 112 | /* |
100 | * This is used to ensure we don't load something for the wrong architecture. | 113 | * This is used to ensure we don't load something for the wrong architecture. |