2001-05-06 Alexandre Oliva <aoliva@redhat.com>
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 10 Jul 2003 02:53:10 +0000 (02:53 +0000)
committerAlexandre Oliva <aoliva@redhat.com>
Thu, 10 Jul 2003 02:53:10 +0000 (02:53 +0000)
* elf-m10300.c (compute_function_info): Account for AM33
registers in `movm' when computing stack space for `call' when
linking for AM33/2.0 link.
2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
* bfd-in2.h: Rebuilt.
* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
* elf-m10300.c: Updated.
2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
* archures.c (bfd_mach_am332): Defined.
* bfd-in2.h: Rebuilt.
* cpu-m10300.c (bfd_am332_arch): Defined.
(bfd_am33_arch): Chained with am33-2.
* elf-m10300.c (elf_mn10300_mach): Handle am332.
(_bfd_mn10300_elf_final_write_processing): Likewise.

bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/cpu-m10300.c
bfd/elf-m10300.c

index 5314c28..1a38a7b 100644 (file)
@@ -1,3 +1,22 @@
+2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
+       * elf-m10300.c (compute_function_info): Account for AM33
+       registers in `movm' when computing stack space for `call' when
+       linking for AM33/2.0 link.
+       2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
+       * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
+       * bfd-in2.h: Rebuilt.
+       * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
+       * elf-m10300.c: Updated.
+       2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
+       * archures.c (bfd_mach_am332): Defined.
+       * bfd-in2.h: Rebuilt.
+       * cpu-m10300.c (bfd_am332_arch): Defined.
+       (bfd_am33_arch): Chained with am33-2.
+       * elf-m10300.c (elf_mn10300_mach): Handle am332.
+       (_bfd_mn10300_elf_final_write_processing): Likewise.
+
 2003-07-09  H.J. Lu <hongjiu.lu@intel.com>
 
        * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
index c010c9e..d339c5e 100644 (file)
@@ -264,6 +264,7 @@ DESCRIPTION
 .  bfd_arch_mn10300,   {* Matsushita MN10300 *}
 .#define bfd_mach_mn10300              300
 .#define bfd_mach_am33         330
+.#define bfd_mach_am33_2       332
 .  bfd_arch_fr30,
 .#define bfd_mach_fr30         0x46523330
 .  bfd_arch_frv,
index b8ca7d9..171a24c 100644 (file)
@@ -1690,6 +1690,7 @@ enum bfd_architecture
   bfd_arch_mn10300,   /* Matsushita MN10300 */
 #define bfd_mach_mn10300               300
 #define bfd_mach_am33          330
+#define bfd_mach_am33_2        332
   bfd_arch_fr30,
 #define bfd_mach_fr30          0x46523330
   bfd_arch_frv,
index a67c48b..2de9cd1 100644 (file)
@@ -21,6 +21,22 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 #include "sysdep.h"
 #include "libbfd.h"
 
+const bfd_arch_info_type bfd_am33_2_arch =
+  {
+    32, /* 32 bits in a word */
+    32, /* 32 bits in an address */
+    8,  /* 8 bits in a byte */
+    bfd_arch_mn10300,
+    332,
+    "am33_2",
+    "am33-2",
+    2,
+    FALSE,
+    bfd_default_compatible,
+    bfd_default_scan,
+    0,
+  };
+
 const bfd_arch_info_type bfd_am33_arch =
   {
     32, /* 32 bits in a word */
@@ -34,7 +50,7 @@ const bfd_arch_info_type bfd_am33_arch =
     FALSE,
     bfd_default_compatible,
     bfd_default_scan,
-    0,
+    &bfd_am33_2_arch,
   };
 
 const bfd_arch_info_type bfd_mn10300_arch =
index 15d1a33..d33c859 100644 (file)
@@ -2370,7 +2370,8 @@ compute_function_info (abfd, hash, addr, contents)
       if (hash->movm_args & 0x08)
        hash->movm_stack_size += 8 * 4;
 
-      if (bfd_get_mach (abfd) == bfd_mach_am33)
+      if (bfd_get_mach (abfd) == bfd_mach_am33
+         || bfd_get_mach (abfd) == bfd_mach_am33_2)
        {
          /* "exother" space.  e0, e1, mdrq, mcrh, mcrl, mcvf */
          if (hash->movm_args & 0x1)
@@ -2750,6 +2751,9 @@ elf_mn10300_mach (flags)
 
     case E_MN10300_MACH_AM33:
       return bfd_mach_am33;
+
+    case E_MN10300_MACH_AM33_2:
+      return bfd_mach_am33_2;
     }
 }
 
@@ -2774,6 +2778,10 @@ _bfd_mn10300_elf_final_write_processing (abfd, linker)
     case bfd_mach_am33:
       val = E_MN10300_MACH_AM33;
       break;
+
+    case bfd_mach_am33_2:
+      val = E_MN10300_MACH_AM33_2;
+      break;
     }
 
   elf_elfheader (abfd)->e_flags &= ~ (EF_MN10300_MACH);