![]() |
|
|||
0001 /* SPDX-License-Identifier: GPL-2.0-only */ 0002 /* 0003 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) 0004 */ 0005 0006 #ifndef __ASM_ARC_ELF_H 0007 #define __ASM_ARC_ELF_H 0008 0009 #include <linux/types.h> 0010 #include <linux/elf-em.h> 0011 #include <uapi/asm/elf.h> 0012 0013 #define EM_ARC_INUSE (IS_ENABLED(CONFIG_ISA_ARCOMPACT) ? \ 0014 EM_ARCOMPACT : EM_ARCV2) 0015 0016 /* ARC Relocations (kernel Modules only) */ 0017 #define R_ARC_32 0x4 0018 #define R_ARC_32_ME 0x1B 0019 #define R_ARC_32_PCREL 0x31 0020 0021 /*to set parameters in the core dumps */ 0022 #define ELF_ARCH EM_ARC_INUSE 0023 #define ELF_CLASS ELFCLASS32 0024 0025 #ifdef CONFIG_CPU_BIG_ENDIAN 0026 #define ELF_DATA ELFDATA2MSB 0027 #else 0028 #define ELF_DATA ELFDATA2LSB 0029 #endif 0030 0031 /* 0032 * To ensure that 0033 * -we don't load something for the wrong architecture. 0034 * -The userspace is using the correct syscall ABI 0035 */ 0036 struct elf32_hdr; 0037 extern int elf_check_arch(const struct elf32_hdr *); 0038 #define elf_check_arch elf_check_arch 0039 0040 #define CORE_DUMP_USE_REGSET 0041 0042 #define ELF_EXEC_PAGESIZE PAGE_SIZE 0043 0044 /* 0045 * This is the location that an ET_DYN program is loaded if exec'ed. Typical 0046 * use of this is to invoke "./ld.so someprog" to test out a new version of 0047 * the loader. We need to make sure that it is out of the way of the program 0048 * that it will "exec", and that there is sufficient room for the brk. 0049 */ 0050 #define ELF_ET_DYN_BASE (2UL * TASK_SIZE / 3) 0051 0052 /* 0053 * When the program starts, a1 contains a pointer to a function to be 0054 * registered with atexit, as per the SVR4 ABI. A value of 0 means we 0055 * have no such handler. 0056 */ 0057 #define ELF_PLAT_INIT(_r, load_addr) ((_r)->r0 = 0) 0058 0059 /* 0060 * This yields a mask that user programs can use to figure out what 0061 * instruction set this cpu supports. 0062 */ 0063 #define ELF_HWCAP (0) 0064 0065 /* 0066 * This yields a string that ld.so will use to load implementation 0067 * specific libraries for optimization. This is more specific in 0068 * intent than poking at uname or /proc/cpuinfo. 0069 */ 0070 #define ELF_PLATFORM (NULL) 0071 0072 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |