diff options
Diffstat (limited to 'arch/arm64/include/asm/elf.h')
| -rw-r--r-- | arch/arm64/include/asm/elf.h | 18 | 
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index e7fa87f9201..01d3aab64b7 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;   * These are used to set parameters in the core dumps.   */  #define ELF_CLASS	ELFCLASS64 +#ifdef __AARCH64EB__ +#define ELF_DATA	ELFDATA2MSB +#else  #define ELF_DATA	ELFDATA2LSB +#endif  #define ELF_ARCH	EM_AARCH64 +/* + * This yields a string that ld.so will use to load implementation + * specific libraries for optimization.  This is more specific in + * intent than poking at uname or /proc/cpuinfo. + */  #define ELF_PLATFORM_SIZE	16 +#ifdef __AARCH64EB__ +#define ELF_PLATFORM		("aarch64_be") +#else  #define ELF_PLATFORM		("aarch64") +#endif  /*   * This is used to ensure we don't load something for the wrong architecture. @@ -149,7 +162,12 @@ extern unsigned long arch_randomize_brk(struct mm_struct *mm);  #define arch_randomize_brk arch_randomize_brk  #ifdef CONFIG_COMPAT + +#ifdef __AARCH64EB__ +#define COMPAT_ELF_PLATFORM		("v8b") +#else  #define COMPAT_ELF_PLATFORM		("v8l") +#endif  #define COMPAT_ELF_ET_DYN_BASE		(randomize_et_dyn(2 * TASK_SIZE_32 / 3))  | 
