diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2015-05-11 10:30:32 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2015-05-11 10:31:00 -0700 |
commit | bf64a9511f73684c4880fd1818928fdfa1725c4f (patch) | |
tree | 727c41a9684a897e71a2b097ad67f61aed18ad1e /bfd/cpu-iamcu.c | |
parent | 6c14750f48f179e0fed8abc34010de3e05ec2a54 (diff) | |
download | gdb-bf64a9511f73684c4880fd1818928fdfa1725c4f.zip gdb-bf64a9511f73684c4880fd1818928fdfa1725c4f.tar.gz gdb-bf64a9511f73684c4880fd1818928fdfa1725c4f.tar.bz2 |
Add Intel MCU support to bfd
bfd/
* Makefile.am (ALL_MACHINES): Add cpu-iamcu.lo.
(ALL_MACHINES_CFILES): Likewise.
* archures.c (bfd_mach_iamcu): New.
(bfd_mach_i386_iamcu): Likewise.
(bfd_mach_i386_iamcu_intel_syntax): Likewise.
(bfd_iamcu_arch): Likewise.
(bfd_archures_list): Add &bfd_iamcu_arch.
* config.bfd (targ_selvecs): Add iamcu_elf32_vec to
i386_elf32_vec.
(targ_archs): Add bfd_iamcu_arch if needed.
* configure.ac: Support iamcu_elf32_vec.
* cpu-iamcu.c: New file.
* elf32-i386.c (elf32_iamcu_elf_object_p): New function.
Add support for iamcu_elf32_vec and elf32_iamcu_bed.
* targets.c (iamcu_elf32_vec): New.
(_bfd_target_vector): Add iamcu_elf32_vec.
* Makefile.in: Regenerated.
* bfd-in2.h: Likewise.
* configure: Likewise.
binutils/testsuite/
* binutils-all/objdump.exp (cpus_expected): Append iamcu.
Diffstat (limited to 'bfd/cpu-iamcu.c')
-rw-r--r-- | bfd/cpu-iamcu.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/bfd/cpu-iamcu.c b/bfd/cpu-iamcu.c new file mode 100644 index 0000000..33d3dcc --- /dev/null +++ b/bfd/cpu-iamcu.c @@ -0,0 +1,60 @@ +/* BFD support for the Intel MCU architecture. + Copyright (C) 2015 Free Software Foundation, Inc. + + 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 3 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. + + 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., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "sysdep.h" +#include "bfd.h" +#include "libbfd.h" + +extern void * bfd_arch_i386_short_nop_fill (bfd_size_type, bfd_boolean, + bfd_boolean); + +static const bfd_arch_info_type bfd_iamcu_arch_intel_syntax = +{ + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_iamcu, + bfd_mach_i386_iamcu_intel_syntax, + "iamcu:intel", + "iamcu:intel", + 3, + TRUE, + bfd_default_compatible, + bfd_default_scan, + bfd_arch_i386_short_nop_fill, + 0 +}; + +const bfd_arch_info_type bfd_iamcu_arch = +{ + 32, /* 32 bits in a word */ + 32, /* 32 bits in an address */ + 8, /* 8 bits in a byte */ + bfd_arch_iamcu, + bfd_mach_i386_iamcu, + "iamcu", + "iamcu", + 3, + TRUE, + bfd_default_compatible, + bfd_default_scan, + bfd_arch_i386_short_nop_fill, + &bfd_iamcu_arch_intel_syntax +}; |