From b08fa4d3bf5914d746515f4f6ca560d7e900ec92 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 10 Jul 2003 02:53:10 +0000 Subject: [PATCH] 2001-05-06 Alexandre Oliva * 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 * 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 * 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 | 19 +++++++++++++++++++ bfd/archures.c | 1 + bfd/bfd-in2.h | 1 + bfd/cpu-m10300.c | 18 +++++++++++++++++- bfd/elf-m10300.c | 10 +++++++++- 5 files changed, 47 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5314c28a9dc..1a38a7b5b45 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,22 @@ +2003-07-09 Alexandre Oliva + + 2001-05-06 Alexandre Oliva + * 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 + * 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 + * 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 * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL. diff --git a/bfd/archures.c b/bfd/archures.c index c010c9eccaa..d339c5e10cb 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -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, diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index b8ca7d974ab..171a24cecc4 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -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, diff --git a/bfd/cpu-m10300.c b/bfd/cpu-m10300.c index a67c48b6879..2de9cd1a781 100644 --- a/bfd/cpu-m10300.c +++ b/bfd/cpu-m10300.c @@ -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 = diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index 15d1a336ff9..d33c85975f9 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -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); -- 2.30.2