From bf64a9511f73684c4880fd1818928fdfa1725c4f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 11 May 2015 10:30:32 -0700 Subject: 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. --- bfd/cpu-iamcu.c | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 bfd/cpu-iamcu.c (limited to 'bfd/cpu-iamcu.c') 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 +}; -- cgit v1.1