Here's a patch and a few new files that add VSTa support to the GNU binutils.
At this current time, it's almost identical to the go32 (DJGPP) linker, but
now we can change things...
There are two files in this message, one vsta.patch is the patch file, the
other vsta.shar is a shar file with the new config files in them. To add:
1. ftp the binutils-2.3.tar.gz from your favorite site.
2. untar binutils-2.3.tar.gz
3. unshar vsta.shar
4. patch < vsta.patch
5. configure --target i386-vsta (just vsta also works)
6. make
When you type "make install", you'll get i386-vsta-ld (and the rest of the
binutils). Then to link for VSTa, you can cross compile using a standard
i386-aout or i386-go32 (DJGPP) tool chain. I've also used just gcc on my Linux
box to get the object, then linked with i386-vsta-ld. I imagine that the gcc on
NetBSD would work also. You'll still need to list crt0.o and libc.a when you
link. I'll add these patches To our sources so they'll make the next binutils
release.
Next I'll add libc and crt0.o to the GNU C library to get a completely
functioning system. Afterwards, gcc. I haven't been able to get the kernel
to recompile using a standard i386-aout compiler yet, due to header problems.
It's so nice getting away from DOS. :-)
- rob -
----------------------- vsta.patch ---------------------
Only in binutils-2.3.1/bfd/config: vsta.mh
diff -rc binutils-2.3/bfd/config.bfd binutils-2.3.1/bfd/config.bfd
*** binutils-2.3/bfd/config.bfd Fri Nov 5 19:15:55 1993
--- binutils-2.3.1/bfd/config.bfd Fri Dec 24 19:11:13 1993
***************
*** 93,98 ****
--- 93,99 ----
*-*-netware*) bfd_name=${cpu}-nlm ;;
*-*-sysv4*) bfd_name=${cpu}-elf ;;
*-*-solaris2*) bfd_name=${cpu}-elf ;;
+ *-*-vsta*) bfd_name=${cpu}-aout ;;
*-*-go32*) bfd_name=${cpu}-aout ;;
*-*-sysv*) bfd_name=${cpu}-coff ;;
diff -rc binutils-2.3/config.sub binutils-2.3.1/config.sub
*** binutils-2.3/config.sub Fri Nov 5 19:15:19 1993
--- binutils-2.3.1/config.sub Fri Dec 24 19:06:30 1993
***************
*** 169,174 ****
--- 169,178 ----
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
os=-solaris2
;;
+ vsta | i386-vsta) # CYGNUS LOCAL
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
go32 | i386-go32) # CYGNUS LOCAL
basic_machine=i386-unknown
os=-go32
***************
*** 654,660 ****
| -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
| -nindy* | -vxworks* | -ebmon* | -hds* \
| -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
! | -go32 | -sim | -es1800* | -udi | -hms* | -xray \
| -os68k* | -none* | -v88r* | -aout* | -coff | -elf* | -bosx* \
| -ecoff* | -lynxos* | -netware* )
# The last three lines above are CYGNUS LOCAL
--- 658,664 ----
| -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
| -nindy* | -vxworks* | -ebmon* | -hds* \
| -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
! | -go32 | -vsta | -sim | -es1800* | -udi | -hms* | -xray \
| -os68k* | -none* | -v88r* | -aout* | -coff | -elf* | -bosx* \
| -ecoff* | -lynxos* | -netware* )
# The last three lines above are CYGNUS LOCAL
diff -rc binutils-2.3/configure.in binutils-2.3.1/configure.in
*** binutils-2.3/configure.in Thu Nov 11 08:37:15 1993
--- binutils-2.3.1/configure.in Fri Dec 24 19:03:18 1993
***************
*** 161,166 ****
--- 161,169 ----
noconfigdirs=""
case "${host}" in
+ i[34]86-*-vsta)
+ noconfigdirs="tcl expect deja-gnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff"
+ ;;
i[34]86-*-go32)
noconfigdirs="tcl expect deja-gnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff"
;;
***************
*** 194,199 ****
--- 197,206 ----
fi
gasdir=pagas
;;
+ i[34]86-*-vsta)
+ # add the vsta support tools to the list
+ configdirs=`echo vsta ${configdirs}`
+ ;;
i[34]86-*-go32)
# add the go32 support tools to the list
configdirs=`echo go32 ${configdirs}`
***************
*** 222,227 ****
--- 229,236 ----
;;
sh-*-*)
case "${host}" in
+ i[34]86-*-vsta) ;; # don't add gprof back in
+ *) configdirs=`echo gprof ${configdirs}` ;;
i[34]86-*-go32) ;; # don't add gprof back in
*) configdirs=`echo gprof ${configdirs}` ;;
esac
diff -rc binutils-2.3/ld/Makefile.in binutils-2.3.1/ld/Makefile.in
*** binutils-2.3/ld/Makefile.in Wed Nov 10 20:32:15 1993
--- binutils-2.3.1/ld/Makefile.in Fri Dec 24 19:47:43 1993
***************
*** 165,171 ****
BFDLIB = ../bfd/libbfd.a
LIBIBERTY = ../libiberty/libiberty.a
! 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_hp3hpux.o \
em_h8300.o em_h8300h.o em_ebmon29k.o em_sun4.o em_gld960.o \
em_m68kcoff.o em_st2000.o em_sa29200.o em_i386mach.o \
--- 165,171 ----
BFDLIB = ../bfd/libbfd.a
LIBIBERTY = ../libiberty/libiberty.a
! ALL_EMULATIONS=em_lnk960.o em_sun3.o em_i386aout.o em_go32.o em_vsta.o \
em_m88kbcs.o em_a29k.o em_news.o em_hp300bsd.o em_hp3hpux.o \
em_h8300.o em_h8300h.o em_ebmon29k.o em_sun4.o em_gld960.o \
em_m68kcoff.o em_st2000.o em_sa29200.o em_i386mach.o \
***************
*** 189,195 ****
MANSOURCES=ld.tex
LDCSOURCES=ldlang.c lexsup.c ldctor.c mri.c ldindr.c ldmain.c ldwrite.c ldwarn.c ldlnk960.c \
! em_gld.c em_sun3.c em_go32.c em_m88k.c em_ebmon29k.c em_hppaosf.c \
ldgld960.c ldemul.c ldver.c ldmisc.c ldexp.c ldsym.c ldfile.c \
relax.c lderror.c
--- 189,195 ----
MANSOURCES=ld.tex
LDCSOURCES=ldlang.c lexsup.c ldctor.c mri.c ldindr.c ldmain.c ldwrite.c ldwarn.c ldlnk960.c \
! em_gld.c em_sun3.c em_vsta.c em_go32.c em_m88k.c em_ebmon29k.c em_hppaosf.c \
ldgld960.c ldemul.c ldver.c ldmisc.c ldexp.c ldsym.c ldfile.c \
relax.c lderror.c
***************
*** 260,265 ****
--- 260,268 ----
em_sun3.c: $(srcdir)/emulparams/sun3.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} sun3
+ em_vsta.c: $(srcdir)/emulparams/vsta.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} vsta
em_go32.c: $(srcdir)/emulparams/go32.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} go32
Only in binutils-2.3.1/ld/config: vsta.mt
diff -rc binutils-2.3/ld/configure.in binutils-2.3.1/ld/configure.in
*** binutils-2.3/ld/configure.in Fri Nov 5 19:21:25 1993
--- binutils-2.3.1/ld/configure.in Fri Dec 24 18:48:49 1993
***************
*** 57,62 ****
--- 57,63 ----
m680[01234]0-ericsson-ose) ld_target=ose68 ;;
m683?2-ericsson-ose) ld_target=ose68 ;;
*-tandem-none) ld_target=st2000 ;; # FIXME needs better name
+ i[34]86-*-vsta) ld_target=vsta ;;
i[34]86-*-go32) ld_target=go32 ;;
i[34]86-*-aix*) ld_target=i386-coff ;;
i[34]86-*-sco*) ld_target=i386-coff ;;
Only in binutils-2.3.1/ld/emulparams: vsta.sh
----------------------- vsta.shar --------------------------------
: To unbundle, sh this file
echo binutils-2.3/bfd/config/vsta.mh
cat >binutils-2.3/bfd/config/vsta.mh <<'@@@ Fin de binutils-2.3/bfd/config/vsta.mh'
CC=gcc
@@@ Fin de binutils-2.3/bfd/config/vsta.mh
echo binutils-2.3/ld/config/vsta.mt
cat >binutils-2.3/ld/config/vsta.mt <<'@@@ Fin de binutils-2.3/ld/config/vsta.mt'
EMUL=vsta
@@@ Fin de binutils-2.3/ld/config/vsta.mt
echo binutils-2.3/ld/emulparams/vsta.sh
cat >binutils-2.3/ld/emulparams/vsta.sh <<'@@@ Fin de binutils-2.3/ld/emulparams/vsta.sh'
SCRIPT_NAME=aout
OUTPUT_FORMAT="a.out-i386"
TEXT_START_ADDR=0x1020
PAGE_SIZE=0x1000
SEGMENT_SIZE=0x400000
NONPAGED_TEXT_START_ADDR=0x0
ARCH=i386
@@@ Fin de binutils-2.3/ld/emulparams/vsta.sh
exit 0
Received on Mon Dec 27 15:15:41 1993
This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 21:01:53 PDT