[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/14] Add more DT_* and AT_* constants to qemu's co
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 02/14] Add more DT_* and AT_* constants to qemu's copy of elf.h. |
Date: |
Mon, 5 Apr 2010 09:26:50 -0700 |
Moving some PPC AT_* constants from elfload.c at the same time.
Signed-off-by: Richard Henderson <address@hidden>
---
elf.h | 44 ++++++++++++++++++++++++++++++++++++++++++++
linux-user/elfload.c | 9 ---------
2 files changed, 44 insertions(+), 9 deletions(-)
diff --git a/elf.h b/elf.h
index c84c8ab..012532c 100644
--- a/elf.h
+++ b/elf.h
@@ -146,8 +146,37 @@ typedef int64_t Elf64_Sxword;
#define DT_DEBUG 21
#define DT_TEXTREL 22
#define DT_JMPREL 23
+#define DT_BINDNOW 24
+#define DT_INIT_ARRAY 25
+#define DT_FINI_ARRAY 26
+#define DT_INIT_ARRAYSZ 27
+#define DT_FINI_ARRAYSZ 28
+#define DT_RUNPATH 29
+#define DT_FLAGS 30
+#define DT_LOOS 0x6000000d
+#define DT_HIOS 0x6ffff000
#define DT_LOPROC 0x70000000
#define DT_HIPROC 0x7fffffff
+
+/* DT_ entries which fall between DT_VALRNGLO and DT_VALRNDHI use
+ the d_val field of the Elf*_Dyn structure. I.e. they contain scalars. */
+#define DT_VALRNGLO 0x6ffffd00
+#define DT_VALRNGHI 0x6ffffdff
+
+/* DT_ entries which fall between DT_ADDRRNGLO and DT_ADDRRNGHI use
+ the d_ptr field of the Elf*_Dyn structure. I.e. they contain pointers. */
+#define DT_ADDRRNGLO 0x6ffffe00
+#define DT_ADDRRNGHI 0x6ffffeff
+
+#define DT_VERSYM 0x6ffffff0
+#define DT_RELACOUNT 0x6ffffff9
+#define DT_RELCOUNT 0x6ffffffa
+#define DT_FLAGS_1 0x6ffffffb
+#define DT_VERDEF 0x6ffffffc
+#define DT_VERDEFNUM 0x6ffffffd
+#define DT_VERNEED 0x6ffffffe
+#define DT_VERNEEDNUM 0x6fffffff
+
#define DT_MIPS_RLD_VERSION 0x70000001
#define DT_MIPS_TIME_STAMP 0x70000002
#define DT_MIPS_ICHECKSUM 0x70000003
@@ -206,6 +235,21 @@ typedef int64_t Elf64_Sxword;
#define AT_PLATFORM 15 /* string identifying CPU for optimizations */
#define AT_HWCAP 16 /* arch dependent hints at CPU capabilities */
#define AT_CLKTCK 17 /* frequency at which times() increments */
+#define AT_FPUCW 18 /* info about fpu initialization by kernel */
+#define AT_DCACHEBSIZE 19 /* data cache block size */
+#define AT_ICACHEBSIZE 20 /* instruction cache block size */
+#define AT_UCACHEBSIZE 21 /* unified cache block size */
+#define AT_IGNOREPPC 22 /* ppc only; entry should be ignored */
+#define AT_SECURE 23 /* boolean, was exec suid-like? */
+#define AT_BASE_PLATFORM 24 /* string identifying real platforms */
+#define AT_RANDOM 25 /* address of 16 random bytes */
+#define AT_EXECFN 31 /* filename of the executable */
+#define AT_SYSINFO 32 /* address of kernel entry point */
+#define AT_SYSINFO_EHDR 33 /* address of kernel vdso */
+#define AT_L1I_CACHESHAPE 34 /* shapes of the caches: */
+#define AT_L1D_CACHESHAPE 35 /* bits 0-3: cache associativity. */
+#define AT_L2_CACHESHAPE 36 /* bits 4-7: log2 of line size. */
+#define AT_L3_CACHESHAPE 37 /* val&~255: cache size. */
typedef struct dynamic{
Elf32_Sword d_tag;
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 238e574..ead22fc 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -480,15 +480,6 @@ static uint32_t get_elf_hwcap(void)
}
/*
- * We need to put in some extra aux table entries to tell glibc what
- * the cache block size is, so it can use the dcbz instruction safely.
- */
-#define AT_DCACHEBSIZE 19
-#define AT_ICACHEBSIZE 20
-#define AT_UCACHEBSIZE 21
-/* A special ignored type value for PPC, for glibc compatibility. */
-#define AT_IGNOREPPC 22
-/*
* The requirements here are:
* - keep the final alignment of sp (sp & 0xf)
* - make sure the 32-bit value at the first 16 byte aligned position of
--
1.6.6.1
- [Qemu-devel] [PATCH 00/14] Implement VDSO for x86_64-linux-user, Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 01/14] linux-user: Handle filesz < memsz for any PT_LOAD segment., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 08/14] linux-user: Improve consistency checking in elf headers., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 14/14] linux-user: Load a VDSO for x86-64., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 02/14] Add more DT_* and AT_* constants to qemu's copy of elf.h.,
Richard Henderson <=
- [Qemu-devel] [PATCH 03/14] linux-user: Reindent elfload.c., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 06/14] linux-user: Clean up byte-swapping in elfload.c., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 05/14] linux-user: Fix ELF_DATA for Alpha., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 10/14] linux-user: Remove partial support for a.out interpreters., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 13/14] linux-user: Build vdso for x64., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 04/14] linux-user: Reduce lseek+reads while loading elf files., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 11/14] linux-user: Extract load_elf_image from load_elf_interp., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 09/14] linux-user: Put the stack guard page at the top., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 07/14] linux-user: Load symbols from the interpreter., Richard Henderson, 2010/04/05
- [Qemu-devel] [PATCH 12/14] linux-user: Re-use load_elf_image for the main binary., Richard Henderson, 2010/04/05