aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2000-01-11 17:53:33 +0000
committerNick Clifton <nickc@redhat.com>2000-01-11 17:53:33 +0000
commit2d0e6f43d34855cf0d970894af0a19fdbbccade7 (patch)
tree1da96771f2fc91afac68406c18315df91a0fe24d
parent0d06e24ba79bdc3617c5e56a2c32b3a7f28a4bd5 (diff)
downloadgdb-2d0e6f43d34855cf0d970894af0a19fdbbccade7.zip
gdb-2d0e6f43d34855cf0d970894af0a19fdbbccade7.tar.gz
gdb-2d0e6f43d34855cf0d970894af0a19fdbbccade7.tar.bz2
Fix mistakes made about interpretation of ELF ABI spec
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/readelf.c2
-rw-r--r--include/elf/ChangeLog10
-rw-r--r--include/elf/common.h19
4 files changed, 29 insertions, 6 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 4604630..146834b 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2000-01-11 Nick Clifton <nickc@cygnus.com>
+
+ * readelf.c (get_dynamic_type): Remove DT_ENCODING.
+
2000-01-10 Nick Clifton <nickc@cygnus.com>
* readelf.c (get_note_type): Display NT_WIN32PSTATUS notes.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 0c8feb5..bc6fbc8 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 c277268..4a5321b 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,13 @@
+2000-01-11 Nick Clifton <nickc@cygnus.com>
+
+ * 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 <deo@logos-m.ru>
* common.h (NT_WIN32PSTATUS): Define. (cygwin elf core dumps).
diff --git a/include/elf/common.h b/include/elf/common.h
index f2bed2c..435bc6d 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