From c535f6bca65d5d6d2ba0c29f145e2207748bd471 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Mon, 28 Feb 1994 21:11:17 +0000 Subject: [PATCH] * configure.in (i960-*-coff, i960-*-vxworks5.*): Use coffbfd, and gas_target ic960coff. * config/ic960coff.mt: New file. * config/obj-coffbfd.h [TC_I960]: Include coff/i960.h. (TARGET_FORMAT) [TC_I960]: Use coff-Intel-little. * config/te-ic960.h (CROSS_COMPILE): Don't undef this. We'll always build little-endian object files. * config/tc-i960.c (md_reloc_size): Don't define at all if BFD or BFD_ASSEMBLER is defined. (mem_fmt): Since COFF doesn't handle callx relocations yet, treat them like normal 32-bit relocations. (md_apply_fix): For callx relocations, store zero. (tc_bout_fix_to_chars): Store symbol idx for all callx relocations, regardless of link-relax setting. (tc_coff_fix2rtype, tc_coff_sizemachdep): New functions. (i960_handle_align) [! OBJ_BOUT]: If link-relax option is selected, print an error message and clear it. * config/tc-i960.h (BFD_ARCH, COFF_FLAGS, COFF_MAGIC, TC_COUNT_RELOC, TC_COFF_FIX2RTYPE, TC_COFF_SIZEMACHDEP, tc_fix_adjustable): New macros. (tc_coff_fix2rtype, tc_coff_sizemachdep): Declare. --- gas/config/ic960coff.mt | 1 + gas/config/obj-coffbfd.h | 5 ++++- gas/config/te-ic960.h | 5 ----- gas/configure.in | 8 ++++---- 4 files changed, 9 insertions(+), 10 deletions(-) create mode 100644 gas/config/ic960coff.mt diff --git a/gas/config/ic960coff.mt b/gas/config/ic960coff.mt new file mode 100644 index 0000000..61e4285 --- /dev/null +++ b/gas/config/ic960coff.mt @@ -0,0 +1 @@ +TDEFINES=-DBFD_HEADERS -DMANY_SEGMENTS -DBFD diff --git a/gas/config/obj-coffbfd.h b/gas/config/obj-coffbfd.h index 59a28df..f7b9155 100644 --- a/gas/config/obj-coffbfd.h +++ b/gas/config/obj-coffbfd.h @@ -97,7 +97,10 @@ #define RELOC_WDISP30 11 #endif - +#ifdef TC_I960 +#include "coff/i960.h" +#define TARGET_FORMAT "coff-Intel-little" +#endif #ifndef OBJ_COFF_MAX_AUXENTRIES diff --git a/gas/config/te-ic960.h b/gas/config/te-ic960.h index 0027881..72c1db5 100644 --- a/gas/config/te-ic960.h +++ b/gas/config/te-ic960.h @@ -25,11 +25,6 @@ #define TE_IC960 1 -/* intel uses host byte order for headers */ -#ifdef CROSS_COMPILE -#undef CROSS_COMPILE -#endif /* CROSS_COMPILE */ - #define OBJ_COFF_OMIT_OPTIONAL_HEADER #define LOCAL_LABEL(name) ((name[0] =='L') \ || (name[0] =='.' \ diff --git a/gas/configure.in b/gas/configure.in index 0233743..7a13e61 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -50,7 +50,7 @@ case "${host}" in i[34]86-ibm-aix*) gas_host=i386aix ;; i[34]86-*-isc*) gas_host=sysv ;; i386-sun-sunos*) gas_host=sun386 ;; - i386-*-mach3*) gas_host=mach3 ;; + i386-*-mach*) gas_host=mach3 ;; m68k-sun-sunos*) gas_host=sun3 ;; m68*-*-hpux) gas_host=hpux ;; @@ -159,14 +159,14 @@ case ${generic_target} in obj_format=coffbfd gas_target=i386coff ;; i386-*-vsta) obj_format=aout ;; i386-*-go32) obj_format=aout ;; - i386-*-mach3*) obj_format=aout emulation=mach bfd_gas=yes ;; + i386-*-mach*) obj_format=aout emulation=mach bfd_gas=yes ;; i960-*-bout) obj_format=bout ;; - i960-*-coff) obj_format=coff emulation=ic960 ;; + i960-*-coff) obj_format=coffbfd emulation=ic960 gas_target=ic960coff ;; i960-*-nindy*) obj_format=bout ;; i960-*-vxworks4*) obj_format=bout ;; i960-*-vxworks5.0) obj_format=bout ;; - i960-*-vxworks5.*) obj_format=coff emulation=ic960 ;; + i960-*-vxworks5.*) obj_format=coffbfd emulation=ic960 gas_target=ic960coff ;; i960-*-vxworks*) obj_format=bout ;; m68k-wrs-vxworks | m68k-ericsson-ose | m68k-*-sunos*) -- 2.7.4