aboutsummaryrefslogtreecommitdiff
path: root/bfd/config.bfd
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-05-11 10:30:32 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-05-11 10:31:00 -0700
commitbf64a9511f73684c4880fd1818928fdfa1725c4f (patch)
tree727c41a9684a897e71a2b097ad67f61aed18ad1e /bfd/config.bfd
parent6c14750f48f179e0fed8abc34010de3e05ec2a54 (diff)
downloadgdb-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/config.bfd')
-rw-r--r--bfd/config.bfd62
1 files changed, 37 insertions, 25 deletions
diff --git a/bfd/config.bfd b/bfd/config.bfd
index aad87d2..e08bb3b 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -531,7 +531,7 @@ case "${targ}" in
i[3-7]86-*-elf* | i[3-7]86-*-sco3.2v5* | \
i[3-7]86-*-dgux* | i[3-7]86-*-sysv5*)
targ_defvec=i386_elf32_vec
- targ_selvecs=i386_coff_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
;;
i[3-7]86-*-solaris2*)
targ_defvec=i386_elf32_sol2_vec
@@ -552,16 +552,19 @@ case "${targ}" in
;;
i[3-7]86-*-nto*)
targ_defvec=i386_elf32_vec
- targ_selvecs=i386_coff_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
;;
i[3-7]86-*-aros*)
targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
;;
i[3-7]86-*-chorus*)
targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
;;
i[3-7]86-*-dicos*)
targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
;;
*-*-msdosdjgpp* | *-*-go32* )
@@ -574,7 +577,7 @@ case "${targ}" in
;;
i[3-7]86-*-rtems*)
targ_defvec=i386_elf32_vec
- targ_selvecs="i386_coff_vec i386_aout_vec"
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec i386_aout_vec"
;;
i[3-7]86-*-darwin* | i[3-7]86-*-macos10* | i[3-7]86-*-rhapsody*)
targ_defvec=i386_mach_o_vec
@@ -592,6 +595,7 @@ case "${targ}" in
;;
i[3-7]86-*-dragonfly*)
targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
;;
i[3-7]86-*-freebsdaout* | i[3-7]86-*-freebsd[12].* | \
@@ -602,7 +606,7 @@ case "${targ}" in
;;
i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
targ_defvec=i386_elf32_fbsd_vec
- targ_selvecs="i386_elf32_vec i386_pei_vec i386_coff_vec"
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_pei_vec i386_coff_vec"
targ64_selvecs="x86_64_elf64_fbsd_vec x86_64_elf64_vec x86_64_pei_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
# FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
case "${targ}" in
@@ -612,35 +616,35 @@ case "${targ}" in
;;
i[3-7]86-*-netbsdelf* | i[3-7]86-*-netbsd*-gnu* | i[3-7]86-*-knetbsd*-gnu)
targ_defvec=i386_elf32_vec
- targ_selvecs=i386_aout_nbsd_vec
+ targ_selvecs="i386_aout_nbsd_vec iamcu_elf32_vec"
targ64_selvecs="x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec"
;;
i[3-7]86-*-netbsdpe*)
targ_defvec=i386_pe_vec
- targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec"
+ targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
;;
i[3-7]86-*-netbsdaout* | i[3-7]86-*-netbsd* | \
i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3])
targ_defvec=i386_aout_nbsd_vec
- targ_selvecs="i386_elf32_vec i386_aout_bsd_vec"
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_bsd_vec"
targ_underscore=yes
;;
i[3-7]86-*-openbsd*)
targ_defvec=i386_elf32_vec
- targ_selvecs=i386_aout_nbsd_vec
+ targ_selvecs="iamcu_elf32_vec i386_aout_nbsd_vec"
;;
i[3-7]86-*-netware*)
targ_defvec=i386_elf32_vec
- targ_selvecs="i386_nlm32_vec i386_coff_vec i386_aout_vec"
+ targ_selvecs="iamcu_elf32_vec i386_nlm32_vec i386_coff_vec i386_aout_vec"
;;
i[3-7]86-*-linux*aout*)
targ_defvec=i386_aout_linux_vec
- targ_selvecs=i386_elf32_vec
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec"
targ_underscore=yes
;;
i[3-7]86-*-linux-*)
targ_defvec=i386_elf32_vec
- targ_selvecs="i386_aout_linux_vec i386_pei_vec"
+ targ_selvecs="iamcu_elf32_vec i386_aout_linux_vec i386_pei_vec"
targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
;;
i[3-7]86-*-nacl*)
@@ -662,32 +666,32 @@ case "${targ}" in
;;
x86_64-*-dicos*)
targ_defvec=x86_64_elf64_vec
- targ_selvecs="i386_elf32_vec l1om_elf64_vec k1om_elf64_vec"
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
want64=true
;;
x86_64-*-elf*)
targ_defvec=x86_64_elf64_vec
- targ_selvecs="i386_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec"
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec"
want64=true
;;
x86_64-*-dragonfly*)
targ_defvec=x86_64_elf64_vec
- targ_selvecs="i386_elf32_vec l1om_elf64_vec k1om_elf64_vec"
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec"
want64=true
;;
x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu)
targ_defvec=x86_64_elf64_fbsd_vec
- targ_selvecs="i386_elf32_fbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
+ targ_selvecs="i386_elf32_fbsd_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pei_vec i386_elf32_vec x86_64_elf64_vec l1om_elf64_vec l1om_elf64_fbsd_vec k1om_elf64_vec k1om_elf64_fbsd_vec"
want64=true
;;
x86_64-*-netbsd* | x86_64-*-openbsd*)
targ_defvec=x86_64_elf64_vec
- targ_selvecs="i386_elf32_vec i386_aout_nbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_aout_nbsd_vec i386_coff_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
want64=true
;;
x86_64-*-linux-*)
targ_defvec=x86_64_elf64_vec
- targ_selvecs="i386_elf32_vec x86_64_elf32_vec i386_aout_linux_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_aout_linux_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
want64=true
;;
x86_64-*-nacl*)
@@ -698,7 +702,7 @@ case "${targ}" in
;;
x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
targ_defvec=x86_64_pe_vec
- targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_be_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec"
+ targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_be_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
want64=true
targ_underscore=no
;;
@@ -709,10 +713,11 @@ case "${targ}" in
#endif
i[3-7]86-*-lynxos*)
targ_defvec=i386_elf32_vec
- targ_selvecs="i386_coff_lynx_vec i386_aout_lynx_vec"
+ targ_selvecs="iamcu_elf32_vec i386_coff_lynx_vec i386_aout_lynx_vec"
;;
i[3-7]86-*-gnu*)
targ_defvec=i386_elf32_vec
+ targ_selvecs=iamcu_elf32_vec
;;
i[3-7]86-*-mach* | i[3-7]86-*-osf1mk*)
targ_defvec=i386_aout_mach3_vec
@@ -728,7 +733,7 @@ case "${targ}" in
;;
i[3-7]86-*-moss*)
targ_defvec=i386_elf32_vec
- targ_selvecs="i386_msdos_vec i386_aout_vec"
+ targ_selvecs="iamcu_elf32_vec i386_msdos_vec i386_aout_vec"
;;
i[3-7]86-*-beospe*)
targ_defvec=i386_pe_vec
@@ -736,7 +741,7 @@ case "${targ}" in
;;
i[3-7]86-*-beoself* | i[3-7]86-*-beos*)
targ_defvec=i386_elf32_vec
- targ_selvecs="i386_pe_vec i386_pei_vec"
+ targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec"
;;
i[3-7]86-*-interix*)
targ_defvec=i386_pei_vec
@@ -746,11 +751,11 @@ case "${targ}" in
;;
i[3-7]86-*-rdos*)
targ_defvec=i386_elf32_vec
- targ_selvecs=i386_coff_vec
+ targ_selvecs="iamcu_elf32_vec i386_coff_vec"
;;
i[3-7]86-*-mingw32* | i[3-7]86-*-cygwin* | i[3-7]86-*-winnt | i[3-7]86-*-pe)
targ_defvec=i386_pe_vec
- targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec"
+ targ_selvecs="i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
targ_underscore=yes
;;
i[3-7]86-none-*)
@@ -765,7 +770,7 @@ case "${targ}" in
;;
i[3-7]86-*-chaos)
targ_defvec=i386_elf32_vec
- targ_selfvecs=i386chaos_vec
+ targ_selfvecs="iamcu_elf32_vec i386chaos_vec"
;;
i860-*-mach3* | i860-*-osf1* | i860-*-coff*)
@@ -1207,7 +1212,7 @@ case "${targ}" in
pjl-*-*)
targ_defvec=pj_elf32_le_vec
- targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec"
+ targ_selvecs="pj_elf32_le_vec pj_elf32_vec i386_elf32_vec iamcu_elf32_vec"
;;
powerpc-*-aix5.[01] | rs6000-*-aix5.[01])
@@ -1766,6 +1771,13 @@ case "${targ_defvec} ${targ_selvecs}" in
;;
esac
+# If we support Intel MCU target, then add support for bfd_iamcu_arch.
+case "${targ_defvec} ${targ_selvecs}" in
+ *iamcu_elf32*)
+ targ_archs="$targ_archs bfd_iamcu_arch"
+ ;;
+esac
+
# If we support Intel L1OM target, then add support for bfd_l1om_arch.
case "${targ_defvec} ${targ_selvecs}" in
*l1om_elf64*)