From 2d0e6f43d34855cf0d970894af0a19fdbbccade7 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 11 Jan 2000 17:53:33 +0000 Subject: [PATCH] Fix mistakes made about interpretation of ELF ABI spec --- binutils/ChangeLog | 4 ++++ binutils/readelf.c | 2 +- include/elf/ChangeLog | 10 ++++++++++ include/elf/common.h | 19 ++++++++++++++----- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 4604630fea8..146834b6c07 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2000-01-11 Nick Clifton + + * readelf.c (get_dynamic_type): Remove DT_ENCODING. + 2000-01-10 Nick Clifton * readelf.c (get_note_type): Display NT_WIN32PSTATUS notes. diff --git a/binutils/readelf.c b/binutils/readelf.c index 0c8feb537a1..bc6fbc8fa48 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -1059,7 +1059,7 @@ get_dynamic_type (type) case DT_FINI_ARRAYSZ: return "FINI_ARRAYSZ"; case DT_RUNPATH: return "RUNPATH"; case DT_FLAGS: return "FLAGS"; - case DT_ENCODING: return "ENCODING"; + case DT_PREINIT_ARRAY: return "PREINIT_ARRAY"; case DT_PREINIT_ARRAYSZ: return "PREINIT_ARRAYSZ"; diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index c2772680a11..4a5321b960c 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,13 @@ +2000-01-11 Nick Clifton + + * common.h (DT_ENCODING): Fix definition of this value. + (DT_LOOS): Fix definition of this value. + (DT_HIOS): Fix definition of this value. + (OLD_DT_LOOS): Value of DT_LOOS before Oct 4, 1999 draft + of ELF spec changed it. + (OLD_DT_HIOS): Value of DT_HIOS before Oct 4, 1999 draft + of ELF spec changed it. + 2000-01-10 Egor Duda * common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps). diff --git a/include/elf/common.h b/include/elf/common.h index f2bed2c423f..435bc6d9981 100644 --- a/include/elf/common.h +++ b/include/elf/common.h @@ -409,17 +409,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define DT_FINI_ARRAYSZ 28 #define DT_RUNPATH 29 #define DT_FLAGS 30 -#define DT_ENCODING 31 /* Note: Oct 4, 1999 Draft specifies this as 32, but this conflicts with DT_PREINIT_ARRAY */ -#define DT_PREINIT_ARRAY 32 + +#define DT_ENCODING 32 +#define DT_PREINIT_ARRAY 32 #define DT_PREINIT_ARRAYSZ 33 -#define DT_LOOS 0x60000000 /* Note: Oct 4, 1999 draft has this as 0x6fff000d */ -#define DT_HIOS 0x6fffffff /* Note: Oct 4, 1999 draft has this as 0x6fff0000 */ +/* Note, the Oct 4, 1999 draft of the ELF ABI changed the values + for DT_LOOS and DT_HIOS. Some implementations however, use + values outside of the new range (see below). */ +#define OLD_DT_LOOS 0x60000000 +#define DT_LOOS 0x6000000d +#define DT_HIOS 0x6fff0000 +#define OLD_DT_HIOS 0x6fffffff + #define DT_LOPROC 0x70000000 #define DT_HIPROC 0x7fffffff /* The next four dynamic tags are used on Solaris. We support them - everywhere. */ + everywhere. Note these values lie outside of the (new) range for + OS specific values. This is a deliberate special case and we + maintain it for backwards compatability. */ #define DT_VALRNGLO 0x6ffffd00 #define DT_PLTPADSZ 0x6ffffdf9 #define DT_MOVEENT 0x6ffffdfa -- 2.30.2