OSDN Git Service

Fix mistakes made about interpretation of ELF ABI spec
authornickc <nickc>
Tue, 11 Jan 2000 17:53:33 +0000 (17:53 +0000)
committernickc <nickc>
Tue, 11 Jan 2000 17:53:33 +0000 (17:53 +0000)
binutils/ChangeLog
binutils/readelf.c
include/elf/ChangeLog
include/elf/common.h

index 4604630..146834b 100644 (file)
@@ -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.
index 0c8feb5..bc6fbc8 100644 (file)
@@ -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";
 
index c277268..4a5321b 100644 (file)
@@ -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). 
index f2bed2c..435bc6d 100644 (file)
@@ -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