Add new machien types and section flags
authorNick Clifton <nickc@redhat.com>
Wed, 22 Nov 2000 23:49:39 +0000 (23:49 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 22 Nov 2000 23:49:39 +0000 (23:49 +0000)
binutils/ChangeLog
binutils/readelf.c

index 50f9222aeeca9e578fc166dfa4ba53764696c76e..a6b772885aaf0bac3e21b3777b77aabfa6a3aafe 100644 (file)
@@ -1,3 +1,12 @@
+2000-11-22  Nick Clifton  <nickc@redhat.com>
+
+       * readelf.c (get_machine_name): Add EM_JAVELIN, EM_FIREPATH,
+       EM_ZSP, EM_MMIX, EM_HUANY, EM_PRISM.
+       (get_section_type_name): Add SHT_GROUP and SHT_SYMTAB_SHNDX.
+       (get_elf_section_flags: Add SHF_GROUP.
+       (process_section_headers): Adjust output for 32-bit binaries
+       to look nice on an 80 column terminal.
+
 2000-11-20  H.J. Lu  <hjl@gnu.org>
 
        * readelf.c (get_osabi_name): Change ELFOSABI_MONTEREY to
index 7341e2f55a73989d58f8ff72db64bd4d3ce1fc69..1e9c156a9ea9ac13b1c566933f2108ee8309b7de 100644 (file)
@@ -1261,6 +1261,13 @@ get_machine_name (e_machine)
     case EM_VAX:               return "Digital VAX";
     case EM_AVR:                return "Atmel AVR 8-bit microcontroller";
     case EM_CRIS:              return "Axis Communications 32-bit embedded processor";
+    case EM_JAVELIN:           return "Infineon Technologies 32-bit embedded cpu";
+    case EM_FIREPATH:          return "Element 14 64-bit DSP processor";
+    case EM_ZSP:               return "LSI Logic's 16-bit DSP processor";
+    case EM_MMIX:              return "Donald Knuth's educational 64-bit processor";
+    case EM_HUANY:             return "Harvard Universitys's machine-independent object format";
+    case EM_PRISM:             return "SiTera Prism";
+      
     default:
       sprintf (buff, _("<unknown>: %x"), e_machine);
       return buff;
@@ -1742,6 +1749,8 @@ get_section_type_name (sh_type)
     case SHT_INIT_ARRAY:       return "INIT_ARRAY";
     case SHT_FINI_ARRAY:       return "FINI_ARRAY";
     case SHT_PREINIT_ARRAY:    return "PREINIT_ARRAY";
+    case SHT_GROUP:            return "GROUP";
+    case SHT_SYMTAB_SHNDX:     return "SYMTAB SECTION INDICIES";
     case SHT_GNU_verdef:       return "VERDEF";
     case SHT_GNU_verneed:      return "VERNEED";
     case SHT_GNU_versym:       return "VERSYM";
@@ -2622,6 +2631,7 @@ get_elf_section_flags (sh_flags)
        case SHF_INFO_LINK:        strcat (buff, "I"); break;
        case SHF_LINK_ORDER:       strcat (buff, "L"); break;
        case SHF_OS_NONCONFORMING: strcat (buff, "O"); break;
+       case SHF_GROUP:            strcat (buff, "G"); break;
 
        default:
          if (flag & SHF_MASKOS)
@@ -2772,7 +2782,7 @@ process_section_headers (file)
 
          printf (" %3s ", get_elf_section_flags (section->sh_flags));
 
-         printf (" %2ld %3lx %ld\n",
+         printf ("%2ld %3lx %2ld\n",
                  (unsigned long) section->sh_link,
                  (unsigned long) section->sh_info,
                  (unsigned long) section->sh_addralign);
@@ -2796,9 +2806,10 @@ process_section_headers (file)
        }
     }
 
-  printf (_("Key to Flags: W (write), A (alloc), X (execute), M (merge), S (strings)\n"));
-  printf (_("              I (info), L (link order), O (extra OS processing required)\n"));
-  printf (_("              o (os specific), p (processor specific) x (unknown)\n"));
+  printf (_("Key to Flags:\n"));
+  printf (_("  W (write), A (alloc), X (execute), M (merge), S (strings)\n"));
+  printf (_("  I (info), L (link order), G (group), x (unknown)\n"));
+  printf (_("  O (extra OS processing required) o (OS specific), p (processor specific)\n"));
 
   return 1;
 }