~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arc/include/asm/elf.h

Version: ~ [ linux-5.9.1 ] ~ [ linux-5.8.16 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.72 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.152 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.202 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.240 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.240 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
  3  *
  4  * This program is free software; you can redistribute it and/or modify
  5  * it under the terms of the GNU General Public License version 2 as
  6  * published by the Free Software Foundation.
  7  */
  8 
  9 #ifndef __ASM_ARC_ELF_H
 10 #define __ASM_ARC_ELF_H
 11 
 12 #include <linux/types.h>
 13 #include <uapi/asm/elf.h>
 14 
 15 /* These ELF defines belong to uapi but libc elf.h already defines them */
 16 #define EM_ARCOMPACT            93
 17 
 18 #define EM_ARCV2                195     /* ARCv2 Cores */
 19 
 20 #define EM_ARC_INUSE            (IS_ENABLED(CONFIG_ISA_ARCOMPACT) ? \
 21                                         EM_ARCOMPACT : EM_ARCV2)
 22 
 23 /* ARC Relocations (kernel Modules only) */
 24 #define  R_ARC_32               0x4
 25 #define  R_ARC_32_ME            0x1B
 26 #define  R_ARC_S25H_PCREL       0x10
 27 #define  R_ARC_S25W_PCREL       0x11
 28 
 29 /*to set parameters in the core dumps */
 30 #define ELF_ARCH                EM_ARCOMPACT
 31 #define ELF_CLASS               ELFCLASS32
 32 
 33 #ifdef CONFIG_CPU_BIG_ENDIAN
 34 #define ELF_DATA                ELFDATA2MSB
 35 #else
 36 #define ELF_DATA                ELFDATA2LSB
 37 #endif
 38 
 39 /*
 40  * To ensure that
 41  *  -we don't load something for the wrong architecture.
 42  *  -The userspace is using the correct syscall ABI
 43  */
 44 struct elf32_hdr;
 45 extern int elf_check_arch(const struct elf32_hdr *);
 46 #define elf_check_arch  elf_check_arch
 47 
 48 #define CORE_DUMP_USE_REGSET
 49 
 50 #define ELF_EXEC_PAGESIZE       PAGE_SIZE
 51 
 52 /*
 53  * This is the location that an ET_DYN program is loaded if exec'ed.  Typical
 54  * use of this is to invoke "./ld.so someprog" to test out a new version of
 55  * the loader.  We need to make sure that it is out of the way of the program
 56  * that it will "exec", and that there is sufficient room for the brk.
 57  */
 58 #define ELF_ET_DYN_BASE         (2 * TASK_SIZE / 3)
 59 
 60 /*
 61  * When the program starts, a1 contains a pointer to a function to be
 62  * registered with atexit, as per the SVR4 ABI.  A value of 0 means we
 63  * have no such handler.
 64  */
 65 #define ELF_PLAT_INIT(_r, load_addr)    ((_r)->r0 = 0)
 66 
 67 /*
 68  * This yields a mask that user programs can use to figure out what
 69  * instruction set this cpu supports.
 70  */
 71 #define ELF_HWCAP       (0)
 72 
 73 /*
 74  * This yields a string that ld.so will use to load implementation
 75  * specific libraries for optimization.  This is more specific in
 76  * intent than poking at uname or /proc/cpuinfo.
 77  */
 78 #define ELF_PLATFORM    (NULL)
 79 
 80 #endif
 81 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp