Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>

* coff-i860.c: New file, based on coff-i386.c.
	* cpu-i860.c: New file, based on cpu-i386.c.
	* hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
	* config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
	targets, using i860coff_vec.
	* configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
	trad-core.o and hosts/i860mach3.h.
	(i860coff_vec): Use coff-i860.o and cofflink.o.
	* configure: Rebuild.
	* Makefile.in: Rebuild dependencies.
	(ALL_MACHINES): Add cpu-i860.o.
	(BFD32_BACKENDS): Add coff-i860.o.
	(CFILES): Add cpu-i860.c and coff-i860.c.
	* targets.c (i860coff_vec): Declare.
	(bfd_target_vector): Add &i860coff_vec.
	* archures.c (bfd_i860_arch): Declare.
	(bfd_archures_list): Add &bfd_i860_arch.
	* coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
	(coff_set_flags): Handle bfd_arch_i860.
	(coff_write_object_contents): Handle I860 a.out magic number.
This commit is contained in:
Ian Lance Taylor 1995-11-06 23:04:44 +00:00
parent f98c336946
commit cf587de853
9 changed files with 136 additions and 3 deletions

View File

@ -80,6 +80,7 @@ coff-go32.c
coff-h8300.c
coff-h8500.c
coff-i386.c
coff-i860.c
coff-i960.c
coff-m68k.c
coff-m88k.c
@ -111,6 +112,7 @@ cpu-h8300.c
cpu-h8500.c
cpu-hppa.c
cpu-i386.c
cpu-i860.c
cpu-i960.c
cpu-m68k.c
cpu-m88k.c

View File

@ -1,3 +1,26 @@
Mon Nov 6 17:13:15 1995 Harry Dolan <dolan@ssd.intel.com>
* coff-i860.c: New file, based on coff-i386.c.
* cpu-i860.c: New file, based on cpu-i386.c.
* hosts/i860mach3.h: New file, based on hosts/i386mach3.h.
* config.bfd (i860-*-mach3*, i860-*-osf1*, i860-*-coff*): New
targets, using i860coff_vec.
* configure.in (i860-*-mach3*, i860-*-osf1*): New hosts, using
trad-core.o and hosts/i860mach3.h.
(i860coff_vec): Use coff-i860.o and cofflink.o.
* configure: Rebuild.
* Makefile.in: Rebuild dependencies.
(ALL_MACHINES): Add cpu-i860.o.
(BFD32_BACKENDS): Add coff-i860.o.
(CFILES): Add cpu-i860.c and coff-i860.c.
* targets.c (i860coff_vec): Declare.
(bfd_target_vector): Add &i860coff_vec.
* archures.c (bfd_i860_arch): Declare.
(bfd_archures_list): Add &bfd_i860_arch.
* coffcode.h (coff_set_arch_mach_hook): Handle I860 magic number.
(coff_set_flags): Handle bfd_arch_i860.
(coff_write_object_contents): Handle I860 a.out magic number.
Mon Nov 6 14:34:07 1995 Ian Lance Taylor <ian@cygnus.com>
* xcofflink.c (xcoff_link_add_symbols): Set the alignment power of

View File

@ -101,6 +101,7 @@ ALL_MACHINES = \
cpu-h8500.o \
cpu-hppa.o \
cpu-i386.o \
cpu-i860.o \
cpu-i960.o \
cpu-m68k.o \
cpu-m88k.o \
@ -139,6 +140,7 @@ BFD32_BACKENDS = \
coff-h8500.o \
coff-i386.o \
coff-go32.o \
coff-i860.o \
coff-i960.o \
coff-m68k.o \
coff-m88k.o \
@ -272,6 +274,7 @@ CFILES = \
cpu-h8500.c \
cpu-hppa.c \
cpu-i386.c \
cpu-i860.c \
cpu-i960.c \
cpu-m68k.c \
cpu-m88k.c \
@ -300,6 +303,7 @@ CFILES = \
coff-h8300.c \
coff-h8500.c \
coff-i386.c \
coff-i860.c \
coff-go32.c \
coff-i960.c \
coff-m68k.c \
@ -666,6 +670,8 @@ end-sanitize-arc:
# What appears below is generated by a hacked mkdep using gcc -MM.
# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
archive.o: archive.c $(INCDIR)/aout/ar.h $(INCDIR)/aout/ranlib.h
archures.o: archures.c
bfd.o: bfd.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/internal.h \
@ -698,6 +704,7 @@ cpu-h8300.o: cpu-h8300.c
cpu-h8500.o: cpu-h8500.c
cpu-hppa.o: cpu-hppa.c
cpu-i386.o: cpu-i386.c
cpu-i860.o: cpu-i860.c
cpu-i960.o: cpu-i960.c
cpu-m68k.o: cpu-m68k.c
cpu-m88k.o: cpu-m88k.c
@ -745,6 +752,8 @@ coff-h8500.o: coff-h8500.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/h8500.h \
$(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h
coff-i386.o: coff-i386.c $(INCDIR)/coff/i386.h $(INCDIR)/coff/internal.h \
libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
coff-i860.o: coff-i860.c $(INCDIR)/coff/i860.h $(INCDIR)/coff/internal.h \
libcoff.h $(INCDIR)/bfdlink.h coffcode.h coffswap.h
coff-go32.o: coff-go32.c coff-i386.c $(INCDIR)/coff/i386.h \
$(INCDIR)/coff/internal.h libcoff.h $(INCDIR)/bfdlink.h \
coffcode.h coffswap.h
@ -958,3 +967,5 @@ i386dynix.o: i386dynix.c $(INCDIR)/aout/dynix3.h aoutx.h \
hp300bsd.o: hp300bsd.c libaout.h $(INCDIR)/bfdlink.h \
aout-target.h $(INCDIR)/aout/aout64.h $(INCDIR)/aout/stab_gnu.h \
$(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
# IF YOU PUT ANYTHING HERE IT WILL GO AWAY

View File

@ -1114,6 +1114,11 @@ coff_set_arch_mach_hook (abfd, filehdr)
}
break;
#endif
#ifdef I860
case I860MAGIC:
arch = bfd_arch_i860;
break;
#endif
#ifdef I960
#ifdef I960ROMAGIC
case I960ROMAGIC:
@ -1618,6 +1623,12 @@ coff_set_flags (abfd, magicp, flagsp)
return true;
break;
#endif
#ifdef I860MAGIC
case bfd_arch_i860:
*magicp = I860MAGIC;
return true;
break;
#endif
#ifdef MC68MAGIC
case bfd_arch_m68k:
#ifdef APOLLOM68KMAGIC
@ -2207,6 +2218,11 @@ coff_write_object_contents (abfd)
internal_a.magic = NMAGIC; /* Assume separate i/d */
#define __A_MAGIC_SET__
#endif /* A29K */
#ifdef I860
/* FIXME: What are the a.out magic numbers for the i860? */
internal_a.magic = 0;
#define __A_MAGIC_SET__
#endif /* I860 */
#ifdef I960
internal_a.magic = (magic == I960ROMAGIC ? NMAGIC : OMAGIC);
#define __A_MAGIC_SET__

14
bfd/configure vendored
View File

@ -1052,6 +1052,13 @@ EOF
;;
i[345]86-*-isc*) COREFILE=trad-core.o ;;
i[345]86-*-aix*) COREFILE=aix386-core.o ;;
i860-*-mach3* | i860-*-osf1*)
COREFILE=trad-core.o
cat >> confdefs.h <<\EOF
#define TRAD_HEADER "hosts/i860mach3.h"
EOF
;;
mips-dec-bsd*)
COREFILE=trad-core.o
cat >> confdefs.h <<\EOF
@ -1225,7 +1232,7 @@ EOF
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1229 "configure"
#line 1236 "configure"
#include "confdefs.h"
#include <sys/procfs.h>
int main() { return 0; }
@ -1393,6 +1400,7 @@ do
i386mach3_vec) tb="$tb i386mach3.o aout32.o stab-syms.o" ;;
i386netbsd_vec) tb="$tb i386netbsd.o aout32.o stab-syms.o" ;;
i386os9k_vec) tb="$tb i386os9k.o aout32.o stab-syms.o" ;;
i860coff_vec) tb="$tb coff-i860.o cofflink.o" ;;
icoff_big_vec) tb="$tb coff-i960.o cofflink.o" ;;
icoff_little_vec) tb="$tb coff-i960.o cofflink.o" ;;
ieee_vec) tb="$tb ieee.o" ;;
@ -1510,7 +1518,7 @@ else
ac_cv_func_mmap=no
else
cat > conftest.$ac_ext <<EOF
#line 1514 "configure"
#line 1522 "configure"
#include "confdefs.h"
/* Thanks to Mike Haertel and Jim Avera for this test. */
@ -1609,7 +1617,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1613 "configure"
#line 1621 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */

View File

@ -160,6 +160,10 @@ changequote(,)dnl
i[345]86-*-isc*) COREFILE=trad-core.o ;;
i[345]86-*-aix*) COREFILE=aix386-core.o ;;
changequote([,])dnl
i860-*-mach3* | i860-*-osf1*)
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/i860mach3.h")
;;
mips-dec-bsd*)
COREFILE=trad-core.o
AC_DEFINE(TRAD_HEADER,"hosts/mipsbsd.h")
@ -419,6 +423,7 @@ do
i386mach3_vec) tb="$tb i386mach3.o aout32.o stab-syms.o" ;;
i386netbsd_vec) tb="$tb i386netbsd.o aout32.o stab-syms.o" ;;
i386os9k_vec) tb="$tb i386os9k.o aout32.o stab-syms.o" ;;
i860coff_vec) tb="$tb coff-i860.o cofflink.o" ;;
icoff_big_vec) tb="$tb coff-i960.o cofflink.o" ;;
icoff_little_vec) tb="$tb coff-i960.o cofflink.o" ;;
ieee_vec) tb="$tb ieee.o" ;;

40
bfd/cpu-i860.c Normal file
View File

@ -0,0 +1,40 @@
/* BFD support for the Intel 860 architecture.
Copyright 1992, 1995 Free Software Foundation, Inc.
Created mostly by substituting "860" for "386" in cpu-i386.c
Harry Dolan <dolan@ssd.intel.com>, October 1995
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 2 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "bfd.h"
#include "sysdep.h"
#include "libbfd.h"
const bfd_arch_info_type bfd_i860_arch =
{
32, /* 32 bits in a word */
32, /* 32 bits in an address */
8, /* 8 bits in a byte */
bfd_arch_i860,
0, /* only 1 machine */
"i860",
"i860",
3,
true, /* the one and only */
bfd_default_compatible,
bfd_default_scan ,
0,
};

View File

@ -34,6 +34,7 @@ i386linux.h
i386mach3.h
i386nbsd.h
i386sco.h
i860mach3.h
m68knbsd.h
m88kmach3.h
mipsbsd.h

27
bfd/hosts/i860mach3.h Normal file
View File

@ -0,0 +1,27 @@
/* This file was hacked from i386mach3.h [dolan@ssd.intel.com] */
#include <machine/vmparam.h>
#include <sys/param.h>
/* This is an ugly way to hack around the incorrect
* definition of UPAGES in i386/machparam.h.
*
* The definition should specify the size reserved
* for "struct user" in core files in PAGES,
* but instead it gives it in 512-byte core-clicks
* for i386 and i860. UPAGES is used only in trad-core.c.
*/
#if UPAGES == 16
#undef UPAGES
#define UPAGES 2
#endif
#if UPAGES != 2
FIXME!! UPAGES is neither 2 nor 16
#endif
#define HOST_PAGE_SIZE 1
#define HOST_SEGMENT_SIZE NBPG
#define HOST_MACHINE_ARCH bfd_arch_i860
#define HOST_TEXT_START_ADDR USRTEXT
#define HOST_STACK_END_ADDR USRSTACK