summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2009-03-17 12:50:16 +0000
committerkib <kib@FreeBSD.org>2009-03-17 12:50:16 +0000
commit7695aca762c11a65c2cb77f36c495e0e77dcd2aa (patch)
tree1fa9eba0c95692d33bc985639afa2e48b46716e0
parent6cc834836c24a6517c53a0a2436359e9b832212a (diff)
downloadFreeBSD-src-7695aca762c11a65c2cb77f36c495e0e77dcd2aa.zip
FreeBSD-src-7695aca762c11a65c2cb77f36c495e0e77dcd2aa.tar.gz
Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer
to the full path of the image that is being executed. Increase AT_COUNT. Remove no longer true comment about types used in Linux ELF binaries, listed types contain FreeBSD-specific entries. Reviewed by: kan
-rw-r--r--sys/amd64/include/elf.h6
-rw-r--r--sys/arm/include/elf.h3
-rw-r--r--sys/i386/include/elf.h6
-rw-r--r--sys/ia64/include/elf.h6
-rw-r--r--sys/mips/include/elf.h6
-rw-r--r--sys/powerpc/include/elf.h3
-rw-r--r--sys/sparc64/include/elf.h6
-rw-r--r--sys/sun4v/include/elf.h6
8 files changed, 16 insertions, 26 deletions
diff --git a/sys/amd64/include/elf.h b/sys/amd64/include/elf.h
index a4c7f79..e5c95f7 100644
--- a/sys/amd64/include/elf.h
+++ b/sys/amd64/include/elf.h
@@ -81,16 +81,14 @@ __ElfType(Auxinfo);
#define AT_BASE 7 /* Interpreter's base address. */
#define AT_FLAGS 8 /* Flags (unused for i386). */
#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-/*
- * The following non-standard values are used in Linux ELF binaries.
- */
#define AT_NOTELF 10 /* Program is not ELF ?? */
#define AT_UID 11 /* Real uid. */
#define AT_EUID 12 /* Effective uid. */
#define AT_GID 13 /* Real gid. */
#define AT_EGID 14 /* Effective gid. */
+#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_COUNT 15 /* Count of defined aux entry types. */
+#define AT_COUNT 16 /* Count of defined aux entry types. */
/*
* Relocation types.
diff --git a/sys/arm/include/elf.h b/sys/arm/include/elf.h
index c516864..ee2843f 100644
--- a/sys/arm/include/elf.h
+++ b/sys/arm/include/elf.h
@@ -75,8 +75,9 @@ __ElfType(Auxinfo);
#define AT_EUID 12 /* Effective uid. */
#define AT_GID 13 /* Real gid. */
#define AT_EGID 14 /* Effective gid. */
+#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_COUNT 15 /* Count of defined aux entry types. */
+#define AT_COUNT 16 /* Count of defined aux entry types. */
#define R_ARM_COUNT 33 /* Count of defined relocation types. */
diff --git a/sys/i386/include/elf.h b/sys/i386/include/elf.h
index 1470173..af71ab8 100644
--- a/sys/i386/include/elf.h
+++ b/sys/i386/include/elf.h
@@ -84,16 +84,14 @@ __ElfType(Auxinfo);
#define AT_BASE 7 /* Interpreter's base address. */
#define AT_FLAGS 8 /* Flags (unused for i386). */
#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-/*
- * The following non-standard values are used in Linux ELF binaries.
- */
#define AT_NOTELF 10 /* Program is not ELF ?? */
#define AT_UID 11 /* Real uid. */
#define AT_EUID 12 /* Effective uid. */
#define AT_GID 13 /* Real gid. */
#define AT_EGID 14 /* Effective gid. */
+#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_COUNT 15 /* Count of defined aux entry types. */
+#define AT_COUNT 16 /* Count of defined aux entry types. */
/*
* Relocation types.
diff --git a/sys/ia64/include/elf.h b/sys/ia64/include/elf.h
index faab8d1..65802aa 100644
--- a/sys/ia64/include/elf.h
+++ b/sys/ia64/include/elf.h
@@ -82,16 +82,14 @@ __ElfType(Auxinfo);
#define AT_BASE 7 /* Interpreter's base address. */
#define AT_FLAGS 8 /* Flags (unused for i386). */
#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-/*
- * The following non-standard values are used in Linux ELF binaries.
- */
#define AT_NOTELF 10 /* Program is not ELF ?? */
#define AT_UID 11 /* Real uid. */
#define AT_EUID 12 /* Effective uid. */
#define AT_GID 13 /* Real gid. */
#define AT_EGID 14 /* Effective gid. */
+#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_COUNT 15 /* Count of defined aux entry types. */
+#define AT_COUNT 16 /* Count of defined aux entry types. */
/*
* Values for e_flags.
diff --git a/sys/mips/include/elf.h b/sys/mips/include/elf.h
index 6e48ec1..3a31daa 100644
--- a/sys/mips/include/elf.h
+++ b/sys/mips/include/elf.h
@@ -241,15 +241,13 @@ __ElfType(Auxinfo);
#define AT_BASE 7 /* Interpreter's base address. */
#define AT_FLAGS 8 /* Flags (unused for i386). */
#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-/*
- * The following non-standard values are used in Linux ELF binaries.
- */
#define AT_NOTELF 10 /* Program is not ELF ?? */
#define AT_UID 11 /* Real uid. */
#define AT_EUID 12 /* Effective uid. */
#define AT_GID 13 /* Real gid. */
#define AT_EGID 14 /* Effective gid. */
+#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_COUNT 15 /* Count of defined aux entry types. */
+#define AT_COUNT 16 /* Count of defined aux entry types. */
#endif /* !_MACHINE_ELF_H_ */
diff --git a/sys/powerpc/include/elf.h b/sys/powerpc/include/elf.h
index 422a86a..1224fbb 100644
--- a/sys/powerpc/include/elf.h
+++ b/sys/powerpc/include/elf.h
@@ -77,8 +77,9 @@ __ElfType(Auxinfo);
#define AT_DCACHEBSIZE 10 /* Data cache block size for the processor. */
#define AT_ICACHEBSIZE 11 /* Instruction cache block size for the uP. */
#define AT_UCACHEBSIZE 12 /* Cache block size, or `0' if cache not unified. */
+#define AT_EXECPATH 13 /* Path to the executable. */
-#define AT_COUNT 13 /* Count of defined aux entry types. */
+#define AT_COUNT 14 /* Count of defined aux entry types. */
/*
* Relocation types.
diff --git a/sys/sparc64/include/elf.h b/sys/sparc64/include/elf.h
index 108ade1..c0fcbee 100644
--- a/sys/sparc64/include/elf.h
+++ b/sys/sparc64/include/elf.h
@@ -78,16 +78,14 @@ __ElfType(Auxinfo);
#define AT_BASE 7 /* Interpreter's base address. */
#define AT_FLAGS 8 /* Flags (unused). */
#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-/*
- * The following non-standard values are used in Linux ELF binaries.
- */
#define AT_NOTELF 10 /* Program is not ELF ?? */
#define AT_UID 11 /* Real uid. */
#define AT_EUID 12 /* Effective uid. */
#define AT_GID 13 /* Real gid. */
#define AT_EGID 14 /* Effective gid. */
+#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_COUNT 15 /* Count of defined aux entry types. */
+#define AT_COUNT 16 /* Count of defined aux entry types. */
/* Define "machine" characteristics */
#if __ELF_WORD_SIZE == 32
diff --git a/sys/sun4v/include/elf.h b/sys/sun4v/include/elf.h
index 108ade1..c0fcbee 100644
--- a/sys/sun4v/include/elf.h
+++ b/sys/sun4v/include/elf.h
@@ -78,16 +78,14 @@ __ElfType(Auxinfo);
#define AT_BASE 7 /* Interpreter's base address. */
#define AT_FLAGS 8 /* Flags (unused). */
#define AT_ENTRY 9 /* Where interpreter should transfer control. */
-/*
- * The following non-standard values are used in Linux ELF binaries.
- */
#define AT_NOTELF 10 /* Program is not ELF ?? */
#define AT_UID 11 /* Real uid. */
#define AT_EUID 12 /* Effective uid. */
#define AT_GID 13 /* Real gid. */
#define AT_EGID 14 /* Effective gid. */
+#define AT_EXECPATH 15 /* Path to the executable. */
-#define AT_COUNT 15 /* Count of defined aux entry types. */
+#define AT_COUNT 16 /* Count of defined aux entry types. */
/* Define "machine" characteristics */
#if __ELF_WORD_SIZE == 32
OpenPOWER on IntegriCloud