Reconize old versions of the PowerPC machine code (EM_PPC_OLD and EM_CYGNUS_POWERPC).
authorMichael Meissner <gnu@the-meissners.org>
Tue, 14 Feb 1995 19:20:16 +0000 (19:20 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Tue, 14 Feb 1995 19:20:16 +0000 (19:20 +0000)
bfd/ChangeLog
bfd/elf32-target.h
bfd/elf64-target.h
bfd/libelf.h

index 47e8c4d672f10e3fb5a6abe05ed52c872060d0b1..3ae79037c6e02138c29858b7fb2194e05a05de34 100644 (file)
@@ -1,3 +1,22 @@
+Tue Feb 14 14:04:22 1995  Michael Meissner  <meissner@tiktok.cygnus.com>
+
+       * libelf.h (elf_backend_data): Add fields elf_machine_alt1 and
+       elf_machine_alt2 which provide alternate versions of the machine
+       code.
+
+       * elf32-ppc.c (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Define to
+       recognize old versions of the PowerPC machine code.
+
+       * elf32-target.h (elf32_bed): Initialize alternate machine code
+       fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
+
+       * elf64-target.h (elf64_bed): Initialize alternate machine code
+       fields defined by ELF_MACHINE_ALT1 and ELF_MACHINE_ALT2.
+
+       * elfcode.h (elf_object_p, elf_core_file_p): In addition to the
+       main machine code field, check the two alternate machine code
+       fields.
+
 Tue Feb 14 12:46:48 1995  Ian Lance Taylor  <ian@cygnus.com>
 
        * aoutf1.h (MACHTYPE_OK): Don't define if already defined.  Don't
index c1091f2a9bb04d2779c90adc1283c0a577193800..b6e4b578536e9c5052473a7b71ca0a5a34c1f771 100644 (file)
@@ -149,6 +149,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define elf_backend_ecoff_debug_swap   0
 #endif
 
+#ifndef ELF_MACHINE_ALT1
+#define ELF_MACHINE_ALT1 0
+#endif
+
+#ifndef ELF_MACHINE_ALT2
+#define ELF_MACHINE_ALT2 0
+#endif
+
 static CONST struct elf_backend_data elf32_bed =
 {
 #ifdef USE_REL
@@ -182,7 +190,9 @@ static CONST struct elf_backend_data elf32_bed =
   elf_backend_finish_dynamic_sections,
   elf_backend_begin_write_processing,
   elf_backend_final_write_processing,
-  elf_backend_ecoff_debug_swap
+  elf_backend_ecoff_debug_swap,
+  ELF_MACHINE_ALT1,
+  ELF_MACHINE_ALT2
 };
 
 #ifdef TARGET_BIG_SYM
index 006d60cbdb0d3e8bd2352c5588b4b1d2f4d9164f..0a8e9115637a1bd8a2c8a1bad98df58c0e43bab7 100644 (file)
@@ -152,6 +152,14 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #define elf_backend_ecoff_debug_swap   0
 #endif
 
+#ifndef ELF_MACHINE_ALT1
+#define ELF_MACHINE_ALT1 0
+#endif
+
+#ifndef ELF_MACHINE_ALT2
+#define ELF_MACHINE_ALT2 0
+#endif
+
 static CONST struct elf_backend_data elf64_bed =
 {
 #ifdef USE_REL
@@ -185,7 +193,9 @@ static CONST struct elf_backend_data elf64_bed =
   elf_backend_finish_dynamic_sections,
   elf_backend_begin_write_processing,
   elf_backend_final_write_processing,
-  elf_backend_ecoff_debug_swap
+  elf_backend_ecoff_debug_swap,
+  ELF_MACHINE_ALT1,
+  ELF_MACHINE_ALT2
 };
 
 #ifdef TARGET_BIG_SYM
index 5fb58c0c2fcf41decb4264f5eefab92f9a03f95f..1c75f482b35a3a773121004d5f28c99ab820795d 100644 (file)
@@ -399,6 +399,10 @@ struct elf_backend_data
   /* The swapping table to use when dealing with ECOFF information.
      Used for the MIPS ELF .mdebug section.  */
   const struct ecoff_debug_swap *elf_backend_ecoff_debug_swap;
+
+  /* Alternate EM_xxxx machine codes for this backend.  */
+  int elf_machine_alt1;
+  int elf_machine_alt2;
 };
 
 /* Information stored for each BFD section in an ELF file.  This