+2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.tgt (arch): Set to iamcu for i386-*-elfiamcu target.
+ * config/tc-i386.c (i386_mach): Support iamcu.
+ (i386_target_format): Likewise.
+
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (cpu_arch): Add iamcu.
else
return bfd_mach_x64_32;
}
- else if (!strcmp (default_arch, "i386"))
+ else if (!strcmp (default_arch, "i386")
+ || !strcmp (default_arch, "iamcu"))
{
if (cpu_arch_isa == PROCESSOR_IAMCU)
{
}
else if (!strcmp (default_arch, "i386"))
update_code_flag (CODE_32BIT, 1);
+ else if (!strcmp (default_arch, "iamcu"))
+ {
+ update_code_flag (CODE_32BIT, 1);
+ if (cpu_arch_isa == PROCESSOR_UNKNOWN)
+ {
+ static const i386_cpu_flags iamcu_flags = CPU_IAMCU_FLAGS;
+ cpu_arch_name = "iamcu";
+ cpu_sub_arch_name = NULL;
+ cpu_arch_flags = iamcu_flags;
+ cpu_arch_isa = PROCESSOR_IAMCU;
+ cpu_arch_isa_flags = iamcu_flags;
+ if (!cpu_arch_tune_set)
+ {
+ cpu_arch_tune = cpu_arch_isa;
+ cpu_arch_tune_flags = cpu_arch_isa_flags;
+ }
+ }
+ else
+ as_fatal (_("Intel MCU doesn't support `%s' architecture"),
+ cpu_arch_name);
+ }
else
as_fatal (_("unknown architecture"));
i386-*-beospe*) fmt=coff em=pe ;;
i386-*-beos*) fmt=elf ;;
i386-*-coff) fmt=coff ;;
+ i386-*-elfiamcu) fmt=elf arch=iamcu ;;
i386-*-elf*) fmt=elf ;;
i386-*-kaos*) fmt=elf ;;
i386-*-bsd*) fmt=aout em=386bsd ;;
+2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.tgt: Support i[3-7]86-*-elfiamcu target.
+
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am (ALL_EMULATION_SOURCES): Add eelf_iamcu.c.
sed -e 's/netbsd/netbsdelf/'`;;
esac ;;
i[3-7]86-*-netware) targ_emul=i386nw ;;
+i[3-7]86-*-elfiamcu) targ_emul=elf_iamcu
+ targ_extra_emuls=elf_i386 ;;
i[3-7]86-*-elf*) targ_emul=elf_i386
targ_extra_emuls=elf_iamcu ;;
x86_64-*-elf*) targ_emul=elf_x86_64
+2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/i386.exp (iamcu_tests): Run iamcu-4.
+ * ld-i386/iamcu-4.d: New file.
+
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
* ld-i386/abs-iamcu.d: New file.
run_dump_test "iamcu-1"
run_dump_test "iamcu-2"
run_dump_test "iamcu-3"
+ run_dump_test "iamcu-4"
}
iamcu_tests
--- /dev/null
+#source: dummy.s
+#ld: tmpdir/startiamcu.o tmpdir/fooiamcu.o
+#readelf: -h
+#target: i?86-*-elfiamcu
+
+ELF Header:
+ Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
+ Class: ELF32
+ Data: 2's complement, little endian
+ Version: 1 \(current\)
+ OS/ABI: UNIX - System V
+ ABI Version: 0
+ Type: EXEC \(Executable file\)
+ Machine: Intel MCU
+ Version: 0x1
+#pass