LD patches: i386-msdos and i386-moss targets
Bryan Ford
baford@schirf.cs.utah.edu
Fri Jun 2 10:14:00 GMT 1995
(As requested, I'm submitting separate patches for the different
parts of the gas/binutils collection.
What's the appropriat list for GNU ld patches?)
Here are some very simple patches to GNU ld-950602.
They add a new target `i386-msdos', to go along with the
corresponding target already in bfd and gas.
They also add a new target `i386-moss', which is a DOS extender
I'll be releasing shortly (I'd like to have support for it in
the main binutils distribution by the time I release it).
Thanks!
Bryan
diff -crN gas-950602-old/ld/ChangeLog gas-950602/ld/ChangeLog
*** gas-950602-old/ld/ChangeLog Fri Jun 2 02:29:57 1995
--- gas-950602/ld/ChangeLog Fri Jun 2 08:32:49 1995
***************
*** 78,83 ****
--- 78,92 ----
* configure.in (hppa*-*-lites*): Handle like hppa*-*-*elf*.
+ Sun May 7 11:53:41 MDT 1995 Bryan Ford <baford@cs.utah.edu>
+
+ * configure.in (i386-*-msdos*, i386-*-moss*): New targets.
+ * Makefile.in (ALL_EMULATIONS): Added i386msdos.o.
+ (i386msdos.o): New target.
+ * config/i386-msdos.mt: Created.
+ * emulparams/i386msdos.sh: Created.
+ * scripttempl/i386msdos.sc: Created.
+
Mon Apr 24 19:21:02 1995 Michael Meissner <meissner@cygnus.com>
* ldwrite.c (ldwrite): Before doing anything, reset the error
diff -crN gas-950602-old/ld/Makefile.in gas-950602/ld/Makefile.in
*** gas-950602-old/ld/Makefile.in Fri Jun 2 02:29:59 1995
--- gas-950602/ld/Makefile.in Fri Jun 2 08:32:49 1995
***************
*** 201,206 ****
--- 201,207 ----
eh8300h.o eh8500.o eh8500b.o eh8500c.o eh8500m.o eh8500s.o \
ehp300bsd.o ehp3hpux.o ehppaelf.o ei386aout.o ei386bsd.o \
ei386coff.o ei386go32.o ei386linux.o ei386lynx.o ei386mach.o \
+ ei386moss.o ei386msdos.o \
ei386nbsd.o ei386nw.o elnk960.o em68kaout.o em68kcoff.o em68kelf.o \
em68klynx.o em68knbsd.o em88kbcs.o emipsbig.o emipsbsd.o \
emipsidt.o emipsidtl.o emipslit.o enews.o ens32knbsd.o eppcnw.o \
***************
*** 319,324 ****
--- 320,331 ----
ei386mach.c: $(srcdir)/emulparams/i386mach.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
${GENSCRIPTS} i386mach
+ ei386moss.c: $(srcdir)/emulparams/i386moss.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} i386moss
+ ei386msdos.c: $(srcdir)/emulparams/i386msdos.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i386msdos.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} i386msdos
eebmon29k.c: $(srcdir)/emulparams/ebmon29k.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/ebmon29k.sc ${GEN_DEPENDS}
${GENSCRIPTS} ebmon29k
diff -crN gas-950602-old/ld/config/i386-moss.mt gas-950602/ld/config/i386-moss.mt
*** gas-950602-old/ld/config/i386-moss.mt Wed Dec 31 17:00:00 1969
--- gas-950602/ld/config/i386-moss.mt Fri Jun 2 08:32:49 1995
***************
*** 0 ****
--- 1,2 ----
+ EMUL=i386moss
+ EMUL_EXTRA1=i386msdos
diff -crN gas-950602-old/ld/config/i386-msdos.mt gas-950602/ld/config/i386-msdos.mt
*** gas-950602-old/ld/config/i386-msdos.mt Wed Dec 31 17:00:00 1969
--- gas-950602/ld/config/i386-msdos.mt Fri Jun 2 08:32:49 1995
***************
*** 0 ****
--- 1,2 ----
+ EMUL=i386msdos
+ EMUL_EXTRA1=i386aout
diff -crN gas-950602-old/ld/configure.in gas-950602/ld/configure.in
*** gas-950602-old/ld/configure.in Fri Jun 2 02:29:58 1995
--- gas-950602/ld/configure.in Fri Jun 2 08:42:57 1995
***************
*** 82,87 ****
--- 82,89 ----
i[345]86-*-mach*) ld_target=i386-mach ;;
i[345]86-*-gnuelf*) ld_target=i386-gelf ;;
i[345]86-*-gnu*) ld_target=i386-gnu ;;
+ i[345]86-*-msdos*) ld_target=i386-msdos ;;
+ i[345]86-*-moss*) ld_target=i386-moss ;;
i[345]86-*-winnt) ld_target=i386-pe ;;
i[345]86-*-pe) ld_target=i386-pe ;;
m8*-*-*) ld_target=m88k-bcs ;;
diff -crN gas-950602-old/ld/emulparams/i386moss.sh gas-950602/ld/emulparams/i386moss.sh
*** gas-950602-old/ld/emulparams/i386moss.sh Wed Dec 31 17:00:00 1969
--- gas-950602/ld/emulparams/i386moss.sh Fri Jun 2 08:32:49 1995
***************
*** 0 ****
--- 1,9 ----
+ SCRIPT_NAME=elf
+ OUTPUT_FORMAT="elf32-i386"
+ TEXT_START_ADDR=0x00002000
+ MAXPAGESIZE=0x1000
+ NONPAGED_TEXT_START_ADDR=0x00002000
+ ARCH=i386
+ NOP=0x9090
+ TEMPLATE_NAME=elf32
+ GENERATE_SHLIB_SCRIPT=yes
diff -crN gas-950602-old/ld/emulparams/i386msdos.sh gas-950602/ld/emulparams/i386msdos.sh
*** gas-950602-old/ld/emulparams/i386msdos.sh Wed Dec 31 17:00:00 1969
--- gas-950602/ld/emulparams/i386msdos.sh Fri Jun 2 08:32:49 1995
***************
*** 0 ****
--- 1,7 ----
+ SCRIPT_NAME=i386msdos
+ OUTPUT_FORMAT="msdos"
+ TEXT_START_ADDR=0x0
+ NONPAGED_TEXT_START_ADDR=0x0
+ SEGMENT_SIZE=0x10
+ PAD_TEXT=t
+ ARCH=i386
diff -crN gas-950602-old/ld/scripttempl/i386msdos.sc gas-950602/ld/scripttempl/i386msdos.sc
*** gas-950602-old/ld/scripttempl/i386msdos.sc Wed Dec 31 17:00:00 1969
--- gas-950602/ld/scripttempl/i386msdos.sc Fri Jun 2 08:32:49 1995
***************
*** 0 ****
--- 1,40 ----
+ cat <<EOF
+ OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+ OUTPUT_ARCH(${ARCH})
+
+ ${RELOCATING+${LIB_SEARCH_DIRS}}
+ ${STACKZERO+${RELOCATING+${STACKZERO}}}
+ SECTIONS
+ {
+ ${RELOCATING+. = ${TEXT_START_ADDR};}
+ .text :
+ {
+ CREATE_OBJECT_SYMBOLS
+ *(.text)
+ ${RELOCATING+etext = .;}
+ ${RELOCATING+_etext = .;}
+ ${RELOCATING+__etext = .;}
+ ${PAD_TEXT+${RELOCATING+. = ${DATA_ALIGNMENT};}}
+ }
+ ${RELOCATING+. = ${DATA_ALIGNMENT};}
+ .rodata ${RELOCATING-0} : { *(.rodata) }
+ .data :
+ {
+ *(.data)
+ ${CONSTRUCTING+CONSTRUCTORS}
+ ${RELOCATING+edata = .;}
+ ${RELOCATING+_edata = .;}
+ ${RELOCATING+__edata = .;}
+ }
+ .bss :
+ {
+ ${RELOCATING+ _bss_start = .};
+ ${RELOCATING+ __bss_start = .};
+ *(.bss)
+ *(COMMON)
+ ${RELOCATING+end = ALIGN(4) };
+ ${RELOCATING+_end = ALIGN(4) };
+ ${RELOCATING+__end = ALIGN(4) };
+ }
+ }
+ EOF
Bryan
---
Bryan Ford baford@cs.utah.edu University of Utah, CSS
`finger baford@schirf.cs.utah.edu' for PGP key and other info.
More information about the Gas2
mailing list