diff options
author | Elliott Hughes <enh@google.com> | 2013-10-28 21:36:23 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-10-28 21:36:23 +0000 |
commit | 486d99f050a609c16641614edc72d71746ce859a (patch) | |
tree | 2424b3c3c863e813eb56bdb2d21aac571cc7f30b /libc/include/sys/exec_elf.h | |
parent | 3ec5d8954b41f2e51d6ff7851533f1db1eba9a09 (diff) | |
parent | e4d792adb8d6f9228b9ac9dc1ad7f43b271f085f (diff) | |
download | android_bionic-486d99f050a609c16641614edc72d71746ce859a.tar.gz android_bionic-486d99f050a609c16641614edc72d71746ce859a.tar.bz2 android_bionic-486d99f050a609c16641614edc72d71746ce859a.zip |
Merge "Don't allow text relocations on 64-bit."
Diffstat (limited to 'libc/include/sys/exec_elf.h')
-rw-r--r-- | libc/include/sys/exec_elf.h | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/libc/include/sys/exec_elf.h b/libc/include/sys/exec_elf.h index 6d445bfd0..ec54a601a 100644 --- a/libc/include/sys/exec_elf.h +++ b/libc/include/sys/exec_elf.h @@ -1,4 +1,4 @@ -/* $NetBSD: exec_elf.h,v 1.126 2012/08/05 01:43:59 matt Exp $ */ +/* $NetBSD: exec_elf.h,v 1.129 2013/09/10 16:24:02 matt Exp $ */ /*- * Copyright (c) 1994 The NetBSD Foundation, Inc. @@ -429,6 +429,13 @@ typedef struct { #define SHT_HIOS 0x6fffffff #define SHT_LOPROC 0x70000000 /* Processor-specific range */ #define SHT_AMD64_UNWIND 0x70000001 /* unwind information */ +#define SHT_ARM_EXIDX 0x70000001 /* exception index table */ +#define SHT_ARM_PREEMPTMAP 0x70000002 /* BPABI DLL dynamic linking + * pre-emption map */ +#define SHT_ARM_ATTRIBUTES 0x70000003 /* Object file compatibility + * attributes */ +#define SHT_ARM_DEBUGOVERLAY 0x70000004 /* See DBGOVL for details */ +#define SHT_ARM_OVERLAYSECTION 0x70000005 #define SHT_HIPROC 0x7fffffff #define SHT_LOUSER 0x80000000 /* Application-specific range */ #define SHT_HIUSER 0xffffffff @@ -668,7 +675,12 @@ typedef struct { #define DT_FINI_ARRAY 26 /* Size, in bytes, of DT_INIT_ARRAY array */ #define DT_INIT_ARRAYSZ 27 /* Address of termination function array */ #define DT_FINI_ARRAYSZ 28 /* Size, in bytes, of DT_FINI_ARRAY array*/ -#define DT_NUM 29 +#define DT_RUNPATH 29 /* overrides DT_RPATH */ +#define DT_FLAGS 30 /* Encodes ORIGIN, SYMBOLIC, TEXTREL, BIND_NOW, STATIC_TLS */ +#define DT_ENCODING 31 /* ??? */ +#define DT_PREINIT_ARRAY 32 /* Address of pre-init function array */ +#define DT_PREINIT_ARRAYSZ 33 /* Size, in bytes, of DT_PREINIT_ARRAY array */ +#define DT_NUM 34 #define DT_LOOS 0x60000000 /* Operating system specific range */ #define DT_VERSYM 0x6ffffff0 /* Symbol versions */ @@ -802,7 +814,7 @@ typedef struct { * GNU-specific note type: Build ID generated by ld * name: GNU\0 * desc: - * word[0..4] SHA1 [default] + * word[0..4] SHA1 [default] * or * word[0..3] md5 or uuid * descsz: 16 or 20 @@ -829,7 +841,7 @@ typedef struct { /* SuSE-specific note type: version * name: SuSE\0\0\0\0 * namesz: 8 - * desc: + * desc: * word[0] = VVTTMMmm * * V = version of following data @@ -848,7 +860,7 @@ typedef struct { /* NetBSD-specific note type: Emulation name. * name: NetBSD\0\0 * namesz: 8 - * desc: + * desc: * word[0]: MMmmrrpp00 * * M = major version @@ -864,7 +876,7 @@ typedef struct { /* NetBSD-specific note name */ #define ELF_NOTE_NETBSD_NAME "NetBSD\0\0" -/* NetBSD-specific note type: Checksum. +/* NetBSD-specific note type: Checksum. * There should be 1 NOTE per PT_LOAD section. * name: ??? * namesz: ??? @@ -953,6 +965,20 @@ struct netbsd_elfcore_procinfo { int32_t cpi_siglwp; /* LWP target of killing signal */ }; +/* + * NetBSD-specific note type: MACHINE_ARCH. + * There should be 1 NOTE per executable. + * name: NetBSD\0 + * namesz: 7 + * desc: string + * descsz: variable + */ +#define ELF_NOTE_TYPE_MARCH_TAG 5 +/* NetBSD-specific note name and description sizes */ +#define ELF_NOTE_MARCH_NAMESZ ELF_NOTE_NETBSD_NAMESZ +/* NetBSD-specific note name */ +#define ELF_NOTE_MARCH_NAME ELF_NOTE_NETBSD_NAME + #if !defined(ELFSIZE) && defined(ARCH_ELFSIZE) #define ELFSIZE ARCH_ELFSIZE #endif @@ -1067,7 +1093,7 @@ typedef struct { #define SYMINFO_NUM 2 /* - * These constants are used for Elf32_Verdef struct's version number. + * These constants are used for Elf32_Verdef struct's version number. */ #define VER_DEF_NONE 0 #define VER_DEF_CURRENT 1 @@ -1078,7 +1104,7 @@ typedef struct { #define VER_DEF_IDX(x) VER_NDX(x) /* - * These constants are used for Elf32_Verdef struct's vd_flags. + * These constants are used for Elf32_Verdef struct's vd_flags. */ #define VER_FLG_BASE 0x1 #define VER_FLG_WEAK 0x2 @@ -1091,7 +1117,7 @@ typedef struct { #define VER_NDX_GIVEN 2 /* - * These constants are used for Elf32_Verneed struct's version number. + * These constants are used for Elf32_Verneed struct's version number. */ #define VER_NEED_NONE 0 #define VER_NEED_CURRENT 1 |