aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@cygnus>1994-02-28 21:11:17 +0000
committerKen Raeburn <raeburn@cygnus>1994-02-28 21:11:17 +0000
commitc535f6bca65d5d6d2ba0c29f145e2207748bd471 (patch)
tree890cb04f7dc3b106cf9aece8b248668cf38f8905
parent442f17dc56d816e0ff33f74ac6e9a599ca6ad93a (diff)
downloadgdb-c535f6bca65d5d6d2ba0c29f145e2207748bd471.zip
gdb-c535f6bca65d5d6d2ba0c29f145e2207748bd471.tar.gz
gdb-c535f6bca65d5d6d2ba0c29f145e2207748bd471.tar.bz2
* 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.
-rw-r--r--gas/config/ic960coff.mt1
-rw-r--r--gas/config/obj-coffbfd.h5
-rw-r--r--gas/config/te-ic960.h5
-rw-r--r--gas/configure.in8
4 files changed, 9 insertions, 10 deletions
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*)