From f2ecae665321e3eb3bea41ac06304594f765b365 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Thu, 5 Aug 1999 16:03:56 +0000 Subject: [PATCH] 1999-08-05 Donn Terry * emulparams/i386pe.sh: Define ENTRY, SUBSYSTEM, and INITIAL_SYMBOL_CHAQR. * emulparams/i386pe_posix.sh: New file. * Makefile.am (YACC): If bison is not in the source tree, use @YACC@ rather than bison -y. (LEX): If flex is not in the source tree, use @LEX@ rather than flex. (ALL_EMULATIONS): Add ei386pe_posix.o. (ei386pe_posix.c): New target. * configure.tgt (i[3456]86-*-interix*): New target. * configure.host (i[3456]86-pc-interix*): New host. * Makefile.in: Rebuild. --- ld/ChangeLog | 15 +++++++++++++++ ld/Makefile.am | 8 ++++++-- ld/Makefile.in | 8 ++++++-- ld/configure.host | 6 ++++++ ld/configure.tgt | 2 ++ ld/emulparams/i386pe.sh | 3 +++ ld/emulparams/{i386pe.sh => i386pe_posix.sh} | 4 ++++ 7 files changed, 42 insertions(+), 4 deletions(-) copy ld/emulparams/{i386pe.sh => i386pe_posix.sh} (53%) diff --git a/ld/ChangeLog b/ld/ChangeLog index b71e2319b..2f0154f09 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,18 @@ +1999-08-05 Donn Terry + + * emulparams/i386pe.sh: Define ENTRY, SUBSYSTEM, and + INITIAL_SYMBOL_CHAQR. + * emulparams/i386pe_posix.sh: New file. + * Makefile.am (YACC): If bison is not in the source tree, use + @YACC@ rather than bison -y. + (LEX): If flex is not in the source tree, use @LEX@ rather than + flex. + (ALL_EMULATIONS): Add ei386pe_posix.o. + (ei386pe_posix.c): New target. + * configure.tgt (i[3456]86-*-interix*): New target. + * configure.host (i[3456]86-pc-interix*): New host. + * Makefile.in: Rebuild. + 1999-08-03 Ian Lance Taylor * emulparams/elf32ppc.sh (MAXPAGESIZE): Change to 0x10000. diff --git a/ld/Makefile.am b/ld/Makefile.am index 788e9ec90..3e7f23b58 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -9,9 +9,9 @@ SUBDIRS = po tooldir = $(exec_prefix)/$(target_alias) -YACC = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L$(srcdir)/../bison/ ; else echo bison -y ; fi` +YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi` YFLAGS = -d -LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo flex ; fi` +LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi` # We put the scripts in the directory $(scriptdir)/ldscripts. # We can't put the scripts in $(datadir) because the SEARCH_DIR @@ -158,6 +158,7 @@ ALL_EMULATIONS = \ ei386nbsd.o \ ei386nw.o \ ei386pe.o \ + ei386pe_posix.o \ elnk960.o \ em68k4knbsd.o \ em68kaout.o \ @@ -469,6 +470,9 @@ ei386nw.c: $(srcdir)/emulparams/i386nw.sh \ ei386pe.c: $(srcdir)/emulparams/i386pe.sh \ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} ${GENSCRIPTS} i386pe "$(tdir_i386pe)" +ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + ${GENSCRIPTS} i386pe_posix "$(tdir_i386pe_posix)" elnk960.c: $(srcdir)/emulparams/lnk960.sh \ $(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS} ${GENSCRIPTS} lnk960 "$(tdir_lnk960)" diff --git a/ld/Makefile.in b/ld/Makefile.in index 9f87088e1..b59641fdd 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -109,9 +109,9 @@ SUBDIRS = po tooldir = $(exec_prefix)/$(target_alias) -YACC = `if [ -f ../bison/bison ] ; then echo ../bison/bison -y -L$(srcdir)/../bison/ ; else echo bison -y ; fi` +YACC = `if [ -f ../bison/bison ]; then echo ../bison/bison -y -L$(srcdir)/../bison/; else echo @YACC@; fi` YFLAGS = -d -LEX = `if [ -f ../flex/flex ] ; then echo ../flex/flex ; else echo flex ; fi` +LEX = `if [ -f ../flex/flex ]; then echo ../flex/flex; else echo @LEX@; fi` # We put the scripts in the directory $(scriptdir)/ldscripts. # We can't put the scripts in $(datadir) because the SEARCH_DIR @@ -262,6 +262,7 @@ ALL_EMULATIONS = \ ei386nbsd.o \ ei386nw.o \ ei386pe.o \ + ei386pe_posix.o \ elnk960.o \ em68k4knbsd.o \ em68kaout.o \ @@ -1169,6 +1170,9 @@ ei386nw.c: $(srcdir)/emulparams/i386nw.sh \ ei386pe.c: $(srcdir)/emulparams/i386pe.sh \ $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} ${GENSCRIPTS} i386pe "$(tdir_i386pe)" +ei386pe_posix.c: $(srcdir)/emulparams/i386pe_posix.sh \ + $(srcdir)/emultempl/pe.em $(srcdir)/scripttempl/pe.sc ${GEN_DEPENDS} + ${GENSCRIPTS} i386pe_posix "$(tdir_i386pe_posix)" elnk960.c: $(srcdir)/emulparams/lnk960.sh \ $(srcdir)/emultempl/lnk960.em $(srcdir)/scripttempl/i960.sc ${GEN_DEPENDS} ${GENSCRIPTS} lnk960 "$(tdir_lnk960)" diff --git a/ld/configure.host b/ld/configure.host index 701d46c66..f99c81150 100644 --- a/ld/configure.host +++ b/ld/configure.host @@ -100,6 +100,12 @@ i[3456]86-*-lynxos*) HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc -lm /lib/initn.o' ;; +i[3456]86-pc-interix*) + HOSTING_CRT0='$$INTERIX_ROOT/usr/lib/crt0.o' + NATIVE_LIB_DIRS='$$INTERIX_ROOT/usr/lib/' + HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -L $$X/local_bin -L $$INTERIX_ROOT/usr/lib -lc -lcpsx -lc -lcpsx $$INTERIX_ROOT/usr/lib/psxdll.a $$INTERIX_ROOT/usr/lib/psxdll2.a' + ;; + mips*-dec-bsd*) HOSTING_CRT0=/usr/lib/crt0.o ;; diff --git a/ld/configure.tgt b/ld/configure.tgt index 4a7f6e6a7..ddf2445c8 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -115,6 +115,8 @@ i[3456]86-*-cygwin*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3456]86-*-mingw32*) targ_emul=i386pe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; +i[3456]86-*-interix*) targ_emul=i386pe_posix; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; i[3456]86-*-beospe*) targ_emul=i386beos ;; i[3456]86-*-beos*) targ_emul=elf_i386_be ;; i[3456]86-*-vxworks*) targ_emul=i386aout ;; diff --git a/ld/emulparams/i386pe.sh b/ld/emulparams/i386pe.sh index 188a8addf..e5df29f26 100644 --- a/ld/emulparams/i386pe.sh +++ b/ld/emulparams/i386pe.sh @@ -3,3 +3,6 @@ SCRIPT_NAME=pe OUTPUT_FORMAT="pei-i386" RELOCATEABLE_OUTPUT_FORMAT="pe-i386" TEMPLATE_NAME=pe +ENTRY="___mainCRTStartup" +SUBSYSTEM=3 +INITIAL_SYMBOL_CHAR=\"_\" diff --git a/ld/emulparams/i386pe.sh b/ld/emulparams/i386pe_posix.sh similarity index 53% copy from ld/emulparams/i386pe.sh copy to ld/emulparams/i386pe_posix.sh index 188a8addf..37f51b5ee 100644 --- a/ld/emulparams/i386pe.sh +++ b/ld/emulparams/i386pe_posix.sh @@ -3,3 +3,7 @@ SCRIPT_NAME=pe OUTPUT_FORMAT="pei-i386" RELOCATEABLE_OUTPUT_FORMAT="pe-i386" TEMPLATE_NAME=pe +ENTRY="___PosixProcessStartup" +SUBSYSTEM=7 +EXECUTABLE_NAME=a.out +INITIAL_SYMBOL_CHAR=\"_\" -- 2.11.4.GIT