Brought in from p3. If anybody knows good numbers for m68k COFF,
authorIan Lance Taylor <ian@airs.com>
Wed, 9 Sep 1992 18:59:11 +0000 (18:59 +0000)
committerIan Lance Taylor <ian@airs.com>
Wed, 9 Sep 1992 18:59:11 +0000 (18:59 +0000)
please let me know, or plug them in yourself.

Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)

* Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
added m68k-coff emulation mode, stolen from a29k emulation.
Almost certainly wrong, but perhaps better than sun3.

Also fixed an error message in configure.in so that it started with
'***' like the other error messages do.

ld/.Sanitize
ld/ChangeLog
ld/Makefile.in
ld/configure.in
ld/m68kcoff.sc-sh [new file with mode: 0644]
ld/m68kcoff.sh [new file with mode: 0644]

index 49708ab307f92c27d8cf507f08f95f163cafe92e..1111ced77a0f986dc3729bf40e5de722618ea88d 100644 (file)
@@ -95,6 +95,8 @@ ldwrite.h
 lexsup.c
 lnk960.em
 lnk960.sh
+m68kcoff.sc-sh
+m68kcoff.sh
 m88kbcs.sc-sh
 m88kbcs.sh
 mri.c
@@ -123,7 +125,20 @@ echo Done in `pwd`.
 #
 #
 # $Log$
-# Revision 1.43  1992/09/03 22:56:45  bothner
+# Revision 1.44  1992/09/09 18:59:04  ian
+# Brought in from p3.  If anybody knows good numbers for m68k COFF,
+# please let me know, or plug them in yourself.
+#
+# Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)
+#
+#      * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
+#      added m68k-coff emulation mode, stolen from a29k emulation.
+#      Almost certainly wrong, but perhaps better than sun3.
+#
+# Also fixed an error message in configure.in so that it started with
+# '***' like the other error messages do.
+#
+# Revision 1.43  1992/09/03  22:56:45  bothner
 # Add TODO.
 #
 # Revision 1.42  1992/09/01  22:14:49  bothner
index 4e1c8387a484a7732f1fe4800966608e3e308570..e3a6e8e28cf5f5b6024183733b75f34dc83ef414 100644 (file)
@@ -1,5 +1,21 @@
+Wed Sep  9 11:52:58 1992  Ian Lance Taylor  (ian@cygnus.com)
+
+       * Makefile.in, m68kcoff.sh, m68kcoff.sc-sh, config/m68k-coff.mt:
+       added m68k-coff emulation mode, stolen from a29k emulation.
+       Almost certainly wrong, but perhaps better than sun3.
+
 Thu Sep  3 14:19:30 1992  Per Bothner  (bothner@rtl.cygnus.com)
 
+       * Makefile.in, Makefile.dos, generic.em, genscripts.sh,
+       gld960.em, h8300hms.em, h8300xray.em, lnk960.em, st2000.em,
+       vanilla.em:  Rename all (generated) ld__*.c files to em_.c.
+       This is one character shorter, and lets people build on
+       SVR3 system. (ld__h8300xray.[co] was the killer there;
+       h8300xray.sc-sh is also overlong, but seems harmless.)
+       Based on a patch from Jonathan Ryshpan <hitachi!amito!jon>.
+       * Makefile.in (clean):  Fix typo mostclean -> mostlyclean.
+       * configure.in:  Add host isc.
+
        * ldver.c:  Call it version 2.0.
 
 Wed Sep  2 00:21:33 1992  Per Bothner  (bothner@rtl.cygnus.com)
index 34c55e7f9490f8efc97ddca0aba3216c2739f577..2c3f1f0e30fdc2c703cbece1771bc24a2ed8e202 100644 (file)
@@ -115,12 +115,14 @@ LD_PROG   = ld.new
 BFDLIB=./../bfd/libbfd.a
 LIBIBERTY=./../libiberty/libiberty.a
 
-ALL_EMULATIONS=ld__lnk960.o ld__sun3.o ld__i386aout.o \
-       ld__go32.o ld__m88kbcs.o ld__a29k.o ld__news.o ld__hp300bsd.o ld__h8300hms.o ld__ebmon29k.o \
-       ld__sun4.o ld__gld960.o ld__vanilla.o ld__h8300xray.o ld__st2000.o ld__sa29200.o
+ALL_EMULATIONS=em_lnk960.o em_sun3.o em_i386aout.o em_go32.o \
+       em_m88kbcs.o em_a29k.o em_news.o em_hp300bsd.o \
+       em_h8300hms.o em_ebmon29k.o em_sun4.o em_gld960.o \
+       em_m68kcoff.o em_h8300xray.o em_st2000.o em_sa29200.o \
+       em_vanilla.o
 
 EMULATION_OFILES=${ALL_EMULATIONS}
-#EMULATION_OFILES=ld__${EMUL}.o ${OTHER_EMULATIONS}
+#EMULATION_OFILES=em_${EMUL}.o ${OTHER_EMULATIONS}
 
 OFILES= ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldindr.o \
        ldwarn.o ldwrite.o ldexp.o  ldemul.o ldver.o ldmisc.o ldsym.o \
@@ -133,11 +135,11 @@ HEADERS=config.h ldmain.h ldmain.h ldwarn.h ldmisc.h ldindr.h \
 MANSOURCES=ld.tex
 
 LDCSOURCES=ldlang.c lexsup.c ldctor.c mri.c ldindr.c ldmain.c ldwrite.c ldwarn.c ldlnk960.c \
-       ld__gld.c ld__sun3.c ld__go32.c ld__m88k.c ld__ebmon29k.c \
+       em_gld.c em_sun3.c em_go32.c em_m88k.c em_ebmon29k.c \
        ldgld960.c ldemul.c ldver.c ldmisc.c ldexp.c ldsym.c ldfile.c \
        relax.c lderror.c
 
-GENERATED_SOURCES=ldgram.c ldlex.c ld__*.c ldemul-list.h
+GENERATED_SOURCES=ldgram.c ldlex.c em_*.c ldemul-list.h
 GENERATED_HEADERS=ldgram.h ldemul-list.h
 
 LDSOURCES=$(LDCSOURCES) ldgram.y ldlex.l ldgram.h
@@ -147,7 +149,7 @@ BFDSOURCES=../../bfd/common/*.c
 SOURCES= $(LDSOURCES) $(BFDSOURCES)
 LINTSOURCES=   $(LDCSOURCES) $(BFDSOURCES) $(GENERATED_SOURCES)
 
-STAGESTUFF = *.x *.x[runN] *.sc[runN] $(GENERATED_SOURCES) $(GENERATED_HEADERS) $(OFILES) $(LD_PROG) mkscript
+STAGESTUFF = *.x *.x[runN] *.sc[runN] $(GENERATED_SOURCES) $(GENERATED_HEADERS) $(OFILES) mkscript
 
 all: Makefile $(LD_PROG)
 
@@ -165,13 +167,13 @@ ldmain.o: ldmain.c
 ldemul-list.h:  Makefile
        (echo "/* This file is automatically generated.  DO NOT EDIT! */";\
        for f in `echo " " ${EMULATION_OFILES} "" \
-        | sed -e 's/ld__/ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
+        | sed -e 's/em_/ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
            echo "extern ld_emulation_xfer_type ld_$${f}_emulation;"; \
        done;\
        echo "";\
        echo "#define EMULATION_LIST \\";\
        for f in `echo " " ${EMULATION_OFILES} "" \
-        | sed -e 's/ld__/ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
+        | sed -e 's/em_/ld/g' -e 's/ ld/ /g' -e 's/[.]o//g'`; do \
            echo "  &ld_$${f}_emulation, \\"; \
        done;\
        echo "  0") >ldemul-list.h
@@ -182,59 +184,62 @@ ldlex.c: ldlex.l
        $(LEX) -I -Cem $(srcdir)/ldlex.l
        mv lex.yy.c ldlex.c
 
-# These all start with ld__ so 'make clean' can find them.
+# These all start with em_ so 'make clean' can find them.
 
 GENSCRIPTS=sh $(srcdir)/genscripts.sh ${srcdir} ${host_alias} ${target_alias}
 GEN_DEPENDS=./mkscript $(srcdir)/genscripts.sh
 
-ld__sun4.c: $(srcdir)/sun4.sh \
+em_sun4.c: $(srcdir)/sun4.sh \
   $(srcdir)/generic.em $(srcdir)/aout.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} sun4.sh
-ld__sun3.c: $(srcdir)/sun3.sh \
+em_sun3.c: $(srcdir)/sun3.sh \
   $(srcdir)/generic.em $(srcdir)/aout.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} sun3.sh
-ld__go32.c: $(srcdir)/go32.sh \
+em_go32.c: $(srcdir)/go32.sh \
   $(srcdir)/generic.em $(srcdir)/aout.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} go32.sh
-ld__news.c: $(srcdir)/news.sh \
+em_news.c: $(srcdir)/news.sh \
   $(srcdir)/generic.em $(srcdir)/aout.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} news.sh
-ld__hp300bsd.c: $(srcdir)/hp300bsd.sh \
+em_hp300bsd.c: $(srcdir)/hp300bsd.sh \
   $(srcdir)/generic.em $(srcdir)/aout.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} hp300bsd.sh
-ld__i386aout.c: $(srcdir)/i386aout.sh \
+em_i386aout.c: $(srcdir)/i386aout.sh \
   $(srcdir)/generic.em $(srcdir)/aout.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} i386aout.sh
-ld__ebmon29k.c: $(srcdir)/ebmon29k.sh \
+em_ebmon29k.c: $(srcdir)/ebmon29k.sh \
   $(srcdir)/generic.em $(srcdir)/ebmon29k.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} ebmon29k.sh
-ld__sa29200.c: $(srcdir)/sa29200.sh \
+em_sa29200.c: $(srcdir)/sa29200.sh \
   $(srcdir)/generic.em $(srcdir)/sa29200.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} sa29200.sh
-ld__a29k.c: $(srcdir)/a29k.sh \
+em_a29k.c: $(srcdir)/a29k.sh \
   $(srcdir)/generic.em $(srcdir)/a29k.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} a29k.sh
-ld__m88kbcs.c: $(srcdir)/m88kbcs.sh \
+em_m88kbcs.c: $(srcdir)/m88kbcs.sh \
   $(srcdir)/generic.em $(srcdir)/h8300hms.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} m88kbcs.sh
-ld__h8300hms.c: $(srcdir)/h8300hms.sh \
+em_h8300hms.c: $(srcdir)/h8300hms.sh \
   $(srcdir)/h8300hms.em $(srcdir)/h8300hms.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} h8300hms.sh
-ld__h8300xray.c: $(srcdir)/h8300xray.sh \
+em_h8300xray.c: $(srcdir)/h8300xray.sh \
   $(srcdir)/h8300xray.em $(srcdir)/h8300xray.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} h8300xray.sh
-ld__st2000.c: $(srcdir)/st2000.sh \
+em_st2000.c: $(srcdir)/st2000.sh \
   $(srcdir)/st2000.em $(srcdir)/st2000.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} st2000.sh
-ld__vanilla.c: $(srcdir)/vanilla.sh \
+em_vanilla.c: $(srcdir)/vanilla.sh \
   $(srcdir)/vanilla.em $(srcdir)/vanilla.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} vanilla.sh
-ld__lnk960.c: $(srcdir)/lnk960.sh \
+em_lnk960.c: $(srcdir)/lnk960.sh \
   $(srcdir)/lnk960.em $(srcdir)/i960.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} lnk960.sh
-ld__gld960.c: $(srcdir)/gld960.sh \
+em_gld960.c: $(srcdir)/gld960.sh \
   $(srcdir)/gld960.em $(srcdir)/i960.sc-sh ${GEN_DEPENDS}
        ${GENSCRIPTS} gld960.sh
+em_m68kcoff.c: $(srcdir)/m68kcoff.sh \
+  $(srcdir)/generic.em $(srcdir)/m68kcoff.sc-sh ${GEN_DEPENDS}
+       ${GENSCRIPTS} m68kcoff.sh
 
 $(LD_PROG): $(OFILES) $(BFDLIB) $(LIBIBERTY)
        $(CC) $(CFLAGS) $(INCLUDES) $(HDEFINES) $(TDEFINES) $(CDEFINES) $(LDFLAGS) -o $(LD_PROG) $(OFILES) $(BFDLIB) $(LIBIBERTY) $(LOADLIBES)
@@ -363,7 +368,7 @@ ld-index.me: ld.me
 ######################################################################
 
 ./mkscript: $(srcdir)/mkscript.c
-       $(HOST_CC)  -o mkscript $(srcdir)/mkscript.c 
+       $(HOST_CC)  -o mkscript $(srcdir)/mkscript.c
 
 ldlex.c: ldlex.l ldgram.h
 ldlex.o: ldlex.c ldgram.h
@@ -376,23 +381,23 @@ st2000.o:st2000.c
 
 stage1:        force
        -mkdir stage1
-       -mv -f $(STAGESTUFF) stage1
+       -mv -f $(STAGESTUFF) $(LD_PROG) stage1
        -(cd stage1 ; ln -s $(LD_PROG) ld)
 
 stage2:        force
        -mkdir stage2
-       -mv -f $(STAGESTUFF) stage2
+       -mv -f $(STAGESTUFF) $(LD_PROG) stage2
        -(cd stage2 ; ln -s $(LD_PROG) ld)
 
 stage3:        force
        -mkdir stage3
-       -mv -f $(STAGESTUFF) stage3
+       -mv -f $(STAGESTUFF) $(LD_PROG) stage3
        -(cd stage3 ; ln -s $(LD_PROG) ld)
 
 against=stage2
 
 comparison: force
-       for i in $(STAGESTUFF) ; do cmp $$i $(against)/$$i ; done
+       for i in $(STAGESTUFF) $(LD_PROG) ; do cmp $$i $(against)/$$i ; done
 
 de-stage1: force
        -(cd stage1 ; mv -f * ..)
@@ -409,10 +414,19 @@ de-stage3: force
        -rm ld
        -rmdir stage3
 
-clean:
-       -rm -f TAGS $(STAGESTUFF)
-       -rm -f ld.?? ld.??? ldlex.[qp]
+# Stuff that should be included in a distribution:
+LDDISTSTUFF=ldgram.c ldgram.h ldlex.c ld.mm
+diststuff: $(LDDISTSTUFF)
+
+mostlyclean:
+       -rm -f $(STAGESTUFF) ld.?? ld.??? ldlex.[qp]
        -rm -f ld ld1 ld2 ld3 *.o y.output cdtest cdtest.out
+clean: mostlyclean
+       -rm -f $(LD_PROG)
+distclean: clean
+       -rm -f Makefile config.status TAGS
+realclean: distclean
+       -rm -f $(LDDISTSTUFF)
 
 lintlog:$(SOURCES) Makefile
        $(LINT) -abhxzn  $(LINTFLAGS)  $(LINTSOURCES) \
index bd95af30e764be57f5512d312779b085a01a03b0..249628cdff1175048dbfec8e98e7c345cc0215b8 100644 (file)
@@ -9,102 +9,68 @@ target_dependent=true
 
 # per-host:
 
-case "${host_cpu}" in
+case "${host}" in
 
-rs6000)        my_host=rs6000
-       ;;
-
-hppa*)
-       case "${host_vendor}" in
-       hp)
-               case "${host_os}" in
-               hpux)   my_host=hppahpux ;;
-               bsd)    my_host=hppabsd ;;
-               esac
-               ;;
-       esac
-       ;;
-
-mips)
-       case "${host_vendor}" in
-       dec)    my_host=decstation ;;
-       sgi)    my_host=irix3 ;;
-       esac
-       ;;
-m88k)
-       case "${host_vendor}" in
-       motorola)
-               my_host=delta88 ;;
-       *)
-               case "${host_os}" in
-               dgux)   my_host=dgux ;;
-               esac
-               ;;
-       esac
-       ;;
-
-m68*)
-       case "${host_vendor}" in
-       cbm)
-               case ${host_os} in
-               amigados)       my_host=amigados ;;
-               svr4)           my_host=amix ;;
-               esac
-               ;;
-       hp)     
-               case "${host_os}" in
-               hpux)   my_host=hp9000 ;;
-               bsd)    my_host=hp300bsd ;;
-               esac
-               ;;
-       apollo*)
-               case "${host_os}" in
-               sysv*)  my_host=apollov68 ;;
-               bsd*)   my_host=apollo68;;
-               esac
-               ;;
-       sony)   my_host=news ;;
-       sun)    my_host=sun3 ;;
-       esac
-       ;;
-
-i386)
-       case "${host_vendor}" in
-       *)
-               case "${host_os}" in
-               go32)   my_host=go32 ;;
-               sysv)   my_host=i386v ;;
-               mach)   my_host=i386mach ;;
-               bsd)    my_host=i386-aout ;;
-               msdos)  my_host=dose ;;
-               esac
-               ;;
-       esac
-       ;;
-
-sparc)
-       case "${host_os}" in
-       sunos64)        my_host=sparc-ll ;;
-       *)              my_host=sparc ;;
-       esac
-       ;;
-
-romp)  my_host=rtbsd
-       ;;
-
-a29k)  my_host=ultra3
-       ;;
-
-tahoe)
-       my_host=tahoe
-       ;;
-
-vax)
-       case "${host_os}" in
-       ultrix) my_host=vaxult ;;
-       *) my_host=vaxbsd ;;
-       esac
-       ;;
+  rs6000-ibm-aix*)     my_host=rs6000
+                       ;;
+  hppa*-hp-hpux)       my_host=hppahpux
+                       ;;
+  hppa*-hp-bsd)                my_host=hppabsd
+                       ;;
+  mips-dec-ultrix*)    my_host=decstation
+                       ;;
+  mips-sgi-irix3*)     my_host=irix3 
+                       ;;
+  mips-sgi-irix4*)     my_host=irix4
+                       ;;
+  m88k-motorola-*)     my_host=delta88
+                       ;;
+  m88k-dg-dgux*)       my_host=dgux
+                       ;;
+  m68k-cbm-amigados)   my_host=amigados
+                       ;;
+  m68k-cbm-svr4)       my_host=amix
+                       ;;
+  m68k-hp-hpux)                my_host=hp9000    # FIXME this should 9000/xxx
+                       ;;
+  m68k-hp-bsd)         my_host=hp300bsd
+                       ;;
+  m68k-apollo*-sysv*)   my_host=apollov68
+                       ;;
+  m68k-apollo*-bsd*)    my_host=apollo68
+                       ;;
+  m68k-sony-*)         my_host=news
+                       ;;
+  m68k-sun-sunos*)     my_host=sun3
+                       ;;
+  i386-go32-*)         my_host=go32
+                       ;;
+  i386-*-sysv)         my_host=i386v
+                       ;;
+  i386-*-isc)          my_host=isc
+                       ;;
+  i386-*-mach)         my_host=i386mach
+                       ;;
+  i386-*-bsd)          my_host=i386-aout
+                       ;;
+  i386-*-msdos)                my_host=dose
+                       ;;
+  sparc-sun-sunos64)   my_host=sparc-ll
+                       ;;
+  sparc-sun-sunos4*)   my_host=sparc
+                       ;;
+  sparc-sun-solaris2)  my_host=solaris2
+                       ;;
+  romp-*-*)            my_host=rtbsd
+                       ;;
+  a29k-*-*)            my_host=ultra3
+                       ;;
+  tahoe-*-*)           my_host=tahoe
+                       ;;
+  vax-dec-ultrix*)     my_host=vaxult
+                       ;;
+  vax-dec-bsd*)                my_host=vaxbsd
+                       ;;
 esac
 
 # Set up to make a link between the host's include file and "sysdep.h".
@@ -118,64 +84,68 @@ if [ ! -f ${srcdir}/${files} ] ; then
        echo '***' ${srcname} does not support host ${host} 1>&2
        exit 1
 fi
+
 host_makefile_frag=
+
 if [ -f ${srcdir}/config/${my_host}.mh ] ; then
        host_makefile_frag=config/${my_host}.mh
 fi
 
 # per-target:
 
-case ${target_vendor} in
-aout | coff)   my_target=${target_cpu}-${target_vendor} ;;
-sun)
-       case ${target_cpu} in
-       sparc)  my_target=sun4 ;;
-       m68k)   my_target=sun3 ;;
-       esac
-       ;;
-wrs)   
-       case ${target_cpu} in
-       i960) my_target=vxworks960 ;;
-       m68k) my_target=vxworks68;;
-       m680[01234]0) my_target=vxworks68;;
-       m683?2) my_target=vxworks68;;
-       sparc) my_target=vxsparc;;
-       esac
-       ;;
-ericsson) my_target=ose68 ;;
-tandem) my_target=st2000 ;;
-*)
-       case ${target_cpu} in
-       i386)   my_target=go32 ;;
-       m88k)   my_target=m88k-bcs ;;
-       a29k)   case ${target_os} in
-               udi) my_target=sa29200 ;;
-               ebmon) my_target=ebmon29k ;;
-               *) my_target=coff-a29k ;;
-               esac
-               ;;
-       h8300)  case ${target_os} in
-               hms) my_target=coff-h8300 ;;
-               xray) my_target=ieee-h8300 ;;
-               esac
-               ;;
-       m68*)   
-               case ${target_vendor} in
-               sony)   my_target=news ;;
-               hp)     my_target=hp300bsd ;;
-               *)
-                       case "${target_os}" in
-                       aout)   my_target=m68k-aout ;;
-                       coff)   my_target=m68k-coff ;;
-                       *)      echo "Unknown m68k target vendor:" ${target_vendor} 1>&2
-                               exit 1
-                               ;;
-                       esac
-                       ;;
-               esac
-               ;;
-       esac
-       ;;
+case "${target}" in
+
+  sparc-sun-sunos4*)   my_target=sun4 
+                       ;;
+  m68k-sun-sunos4*)    my_target=sun3
+                       ;;
+  sparclite-fujitsu-*)  my_target=sun4
+                       ;;
+  i960-wrs-vxworks*)    my_target=vxworks960
+                       ;;
+  m68k-wrs-vxworks*)    my_target=vxworks68
+                       ;;
+  m680[01234]0-wrs-vxworks*) my_target=vxworks68
+                       ;;
+  m683?2-wrs-vxworks*)  my_target=vxworks68
+                       ;;
+  sparc-wrs-vxworks*)   my_target=vxsparc
+                       ;;
+  m68k-ericsson-ose)   my_target=ose68
+                       ;;
+  *-tandem-none)       my_target=st2000 # FIXME needs better name
+                       ;;
+  i386-go32-*)         my_target=go32
+                       ;;
+  m88k-*-*)            my_target=m88k-bcs
+                       ;;
+  a29k-*-udi)          my_target=sa29200
+                       ;;
+  a29k-*-ebmon)                my_target=ebmon29k
+                       ;;
+  a29k-*-*)            my_target=coff-a29k
+                       ;;
+  h8300-*-hms)         my_target=coff-h8300
+                       ;;
+  h8300-*-xray)                my_target=ieee-h8300
+                       ;;
+  m68k-sony-*)         my_target=news
+                       ;;
+  m68k-hp-bsd*)                my_target=hp300bsd
+                       ;;
+  m68*-*-aout)         my_target=m68k
+                       ;;
+  m68*-*-coff)         my_target=m68k-coff
+                       ;;
+  m68*-*-*)            echo '***' "Unknown m68k target vendor for ld:" ${target_vendor} 1>&2
+                       exit 1
+                       ;;
+  *-*-aout)            my_target=${target_cpu}-${target_vendor} 
+                       ;;
+  *-*-coff)            my_target=${target_cpu}-${target_vendor} 
+                       ;;
 esac
 
+
+
 target_makefile_frag=config/${my_target}.mt
diff --git a/ld/m68kcoff.sc-sh b/ld/m68kcoff.sc-sh
new file mode 100644 (file)
index 0000000..485f3bb
--- /dev/null
@@ -0,0 +1,39 @@
+# This is totally made up, from the a29k stuff.  If you know better,
+# tell us about it.
+cat <<EOF
+OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+${LIB_SEARCH_DIRS}
+
+MEMORY {
+       text    : ORIGIN = 0x1000000, LENGTH = 0x1000000
+       talias  : ORIGIN = 0x2000000, LENGTH = 0x1000000
+       data    : ORIGIN = 0x3000000, LENGTH = 0x1000000
+       mstack  : ORIGIN = 0x4000000, LENGTH = 0x1000000
+       rstack  : ORIGIN = 0x5000000, LENGTH = 0x1000000
+}
+SECTIONS
+{
+  .text : {
+    *(.text)
+    ${RELOCATING+ _etext  =  .};
+    *(.lit)
+    *(.shdata)
+  } ${RELOCATING+ > text}
+  .shbss SIZEOF(.text) + ADDR(.text) : {
+    *(.shbss)
+  } 
+  .talias :     { } ${RELOCATING+ > talias}
+  .data  : {
+    *(.data)
+    ${RELOCATING+ _edata  =  .};
+  } ${RELOCATING+ > data}
+  .bss   SIZEOF(.data) + ADDR(.data) :
+  {                                    
+   *(.bss)
+   *(COMMON)
+     ${RELOCATING+ _end = ALIGN(0x8)};
+  }
+  .mstack  : { } ${RELOCATING+ > mstack}
+  .rstack  : { } ${RELOCATING+ > rstack}
+}
+EOF
diff --git a/ld/m68kcoff.sh b/ld/m68kcoff.sh
new file mode 100644 (file)
index 0000000..14c6652
--- /dev/null
@@ -0,0 +1,6 @@
+EMULATION_NAME=m68kcoff
+SCRIPT_NAME=m68kcoff
+OUTPUT_FORMAT="coff-m68k"
+TEXT_START_ADDR=0x1000000
+PAGE_SIZE=0x1000000
+ARCH=m68k