diff options
author | Nick Clifton <nickc@redhat.com> | 2003-01-23 18:50:57 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-01-23 18:50:57 +0000 |
commit | 5177500f26e1fc3127c607f72bd2dfbffb9165b3 (patch) | |
tree | bc37078bce5312e407d6dc8c5e2137cd98c9671c /bfd | |
parent | 3434109f523fb6fbe890fc044931f86d035bb1ed (diff) | |
download | gdb-5177500f26e1fc3127c607f72bd2dfbffb9165b3.zip gdb-5177500f26e1fc3127c607f72bd2dfbffb9165b3.tar.gz gdb-5177500f26e1fc3127c607f72bd2dfbffb9165b3.tar.bz2 |
Add SH2E support
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 11 | ||||
-rw-r--r-- | bfd/archures.c | 1 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 1 | ||||
-rw-r--r-- | bfd/cpu-sh.c | 57 | ||||
-rw-r--r-- | bfd/elf32-sh.c | 3 |
5 files changed, 51 insertions, 22 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2bfec17..75ee256 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,14 @@ +2003-01-23 Nick Clifton <nickc@redhat.com> + + * Add sh2e support: + + 2002-04-02 Elena Zannoni <ezannoni@redhat.com> + + * archures.c (bfd_mach_sh2e): Added. + * bfd-in2.h: Rebuilt. + * cpu-sh.c (arch_info_struct): Added SH2e. + * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E. + 2003-01-23 Alan Modra <amodra@bigpond.net.au> * elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change diff --git a/bfd/archures.c b/bfd/archures.c index f881444..08015f9 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -213,6 +213,7 @@ DESCRIPTION .#define bfd_mach_sh 1 .#define bfd_mach_sh2 0x20 .#define bfd_mach_sh_dsp 0x2d +.#define bfd_mach_sh2e 0x2e .#define bfd_mach_sh3 0x30 .#define bfd_mach_sh3_dsp 0x3d .#define bfd_mach_sh3e 0x3e diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index a2693e9..b195ac6 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1640,6 +1640,7 @@ enum bfd_architecture #define bfd_mach_sh 1 #define bfd_mach_sh2 0x20 #define bfd_mach_sh_dsp 0x2d +#define bfd_mach_sh2e 0x2e #define bfd_mach_sh3 0x30 #define bfd_mach_sh3_dsp 0x3d #define bfd_mach_sh3e 0x3e diff --git a/bfd/cpu-sh.c b/bfd/cpu-sh.c index 3331c27..9d9087f 100644 --- a/bfd/cpu-sh.c +++ b/bfd/cpu-sh.c @@ -1,23 +1,23 @@ /* BFD library support routines for the Hitachi-SH architecture. - Copyright 1993, 1994, 1997, 1998, 2000, 2001, 2002 + Copyright 1993, 1994, 1997, 1998, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. Hacked by Steve Chamberlain of Cygnus Support. -This file is part of BFD, the Binary File Descriptor library. + This file is part of BFD, the Binary File Descriptor library. -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "bfd.h" #include "sysdep.h" @@ -25,7 +25,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #if 0 /* This routine is provided two arch_infos and returns whether - they'd be compatible */ + they'd be compatible. */ static const bfd_arch_info_type * compatible (a,b) @@ -33,20 +33,19 @@ compatible (a,b) const bfd_arch_info_type *b; { if (a->arch != b->arch || a->mach != b->mach) - return NULL; + return NULL; return a; } #endif #define SH_NEXT &arch_info_struct[0] #define SH2_NEXT &arch_info_struct[1] -#define SH_DSP_NEXT &arch_info_struct[2] -#define SH3_NEXT &arch_info_struct[3] -#define SH3_DSP_NEXT &arch_info_struct[4] -#define SH3E_NEXT &arch_info_struct[5] -#define SH4_NEXT NULL -#undef SH4_NEXT -#define SH4_NEXT &arch_info_struct[6] +#define SH2E_NEXT &arch_info_struct[2] +#define SH_DSP_NEXT &arch_info_struct[3] +#define SH3_NEXT &arch_info_struct[4] +#define SH3_DSP_NEXT &arch_info_struct[5] +#define SH3E_NEXT &arch_info_struct[6] +#define SH4_NEXT &arch_info_struct[7] #define SH64_NEXT NULL static const bfd_arch_info_type arch_info_struct[] = @@ -70,6 +69,20 @@ static const bfd_arch_info_type arch_info_struct[] = 32, /* 32 bits in an address */ 8, /* 8 bits in a byte */ bfd_arch_sh, + bfd_mach_sh2e, + "sh", /* arch_name */ + "sh2e", /* printable name */ + 1, + FALSE, /* not the default */ + bfd_default_compatible, + bfd_default_scan, + SH2E_NEXT + }, + { + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_sh, bfd_mach_sh_dsp, "sh", /* arch_name */ "sh-dsp", /* printable name */ diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c index d1e618b..f0e0177 100644 --- a/bfd/elf32-sh.c +++ b/bfd/elf32-sh.c @@ -6724,6 +6724,9 @@ sh_elf_set_mach_from_flags (abfd) case EF_SH2: bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh2); break; + case EF_SH2E: + bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh2e); + break; case EF_SH_DSP: bfd_default_set_arch_mach (abfd, bfd_arch_sh, bfd_mach_sh_dsp); break; |