From 9ff30f20cd9d575c1615057ad8271bdeeb1487a1 Mon Sep 17 00:00:00 2001 From: "J.T. Conklin" Date: Fri, 14 Oct 1994 22:57:12 +0000 Subject: [PATCH] * Makefile.in (ALL_EMULATIONS): Add ei386nw.o and eppcnw.o. (ei386nw.c, eppcnw.c): New targets. * config/{i386,ppc}-nw.mt, emulparams/{i386,ppc}nw.sh, scripttmpl/nw.sc: New files, for i386 and powerpc netware. * configure.in: Changed netware ld_target name to be {i386,ppc}-nw instead of {i386,ppc}-elf. * configure.in (sparc*-*-netware): Removed. There is no such thing anymore. --- ld/config/.Sanitize | 2 + ld/config/i386-nw.mt | 1 + ld/config/ppc-nw.mt | 1 + ld/emulparams/.Sanitize | 2 + ld/emulparams/i386nw.sh | 9 +++ ld/emulparams/ppcnw.sh | 7 +++ ld/scripttempl/.Sanitize | 1 + ld/scripttempl/nw.sc | 121 +++++++++++++++++++++++++++++++++++++++ 8 files changed, 144 insertions(+) create mode 100644 ld/config/i386-nw.mt create mode 100644 ld/config/ppc-nw.mt create mode 100644 ld/emulparams/i386nw.sh create mode 100644 ld/emulparams/ppcnw.sh create mode 100644 ld/scripttempl/nw.sc diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize index 7c11dde7acf..37295659e57 100644 --- a/ld/config/.Sanitize +++ b/ld/config/.Sanitize @@ -50,6 +50,7 @@ i386-go32.mt i386-linux.mt i386-lynx.mt i386-mach.mt +i386-nw.mt i386bsd.mh i386sco.mh i386v.mh @@ -76,6 +77,7 @@ mips-lit.mt news.mt ose68.mt ppc-elf32.mt +ppc-nw.mt rtbsd.mh sa29200.mt solaris2.mh diff --git a/ld/config/i386-nw.mt b/ld/config/i386-nw.mt new file mode 100644 index 00000000000..2c5f38e09ee --- /dev/null +++ b/ld/config/i386-nw.mt @@ -0,0 +1 @@ +EMUL=i386nw diff --git a/ld/config/ppc-nw.mt b/ld/config/ppc-nw.mt new file mode 100644 index 00000000000..56f972720cd --- /dev/null +++ b/ld/config/ppc-nw.mt @@ -0,0 +1 @@ +EMUL=ppcnw diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index a2c402ffb1c..fc7b1117f34 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -55,6 +55,7 @@ i386go32.sh i386linux.sh i386lynx.sh i386mach.sh +i386nw.sh lnk960.sh m68kaout.sh m68kcoff.sh @@ -66,6 +67,7 @@ mipsidt.sh mipsidtl.sh mipslit.sh news.sh +ppcnw.sh sa29200.sh sh.sh sparclynx.sh diff --git a/ld/emulparams/i386nw.sh b/ld/emulparams/i386nw.sh new file mode 100644 index 00000000000..e70ed678f3e --- /dev/null +++ b/ld/emulparams/i386nw.sh @@ -0,0 +1,9 @@ +SCRIPT_NAME=nw +OUTPUT_FORMAT="elf32-i386" +TEXT_START_ADDR=0x08000000 +MAXPAGESIZE=0x1000 +NONPAGED_TEXT_START_ADDR=0x08000000 +ARCH=i386 +NOP=0x9090 +TEMPLATE_NAME=elf32 +GENERATE_SHLIB_SCRIPT=yes diff --git a/ld/emulparams/ppcnw.sh b/ld/emulparams/ppcnw.sh new file mode 100644 index 00000000000..c3ead43675b --- /dev/null +++ b/ld/emulparams/ppcnw.sh @@ -0,0 +1,7 @@ +SCRIPT_NAME=nw +OUTPUT_FORMAT="elf32-powerpc" +TEXT_START_ADDR=0x0400000 +DATA_ADDR=0x10000000 +MAXPAGESIZE=0x40000 +NONPAGED_TEXT_START_ADDR=0x0400000 +ARCH=powerpc diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize index 0b47863f09b..c9ca8ac6817 100644 --- a/ld/scripttempl/.Sanitize +++ b/ld/scripttempl/.Sanitize @@ -48,6 +48,7 @@ m68klynx.sc m88kbcs.sc mips.sc mipsbsd.sc +nw.sc sa29200.sc sh.sc sparccoff.sc diff --git a/ld/scripttempl/nw.sc b/ld/scripttempl/nw.sc new file mode 100644 index 00000000000..fd84e4fd28c --- /dev/null +++ b/ld/scripttempl/nw.sc @@ -0,0 +1,121 @@ +# +# Unusual variables checked by this code: +# NOP - two byte opcode for no-op (defaults to 0) +# DATA_ADDR - if end-of-text-plus-one-page isn't right for data start +# OTHER_READONLY_SECTIONS - other than .text .init .ctors .rodata ... +# (e.g., .PARISC.milli) +# OTHER_READWRITE_SECTIONS - other than .data .bss .sdata ... +# (e.g., .PARISC.global) +# OTHER_SECTIONS - at the end +# EXECUTABLE_SYMBOLS - symbols that must be defined for an +# executable (e.g., _DYNAMIC_LINK) +# TEXT_START_SYMBOLS - symbols that appear at the start of the +# .text section. +# DATA_START_SYMBOLS - symbols that appear at the start of the +# .data section. +# OTHER_BSS_SYMBOLS - symbols that appear at the start of the +# .bss section besides __bss_start. +# DATA_PLT - .plt should be in data segment, not text segment. +# +# When adding sections, do note that the names of some sections are used +# when specifying the start address of the next. +# +test -z "${BIG_OUTPUT_FORMAT}" && BIG_OUTPUT_FORMAT=${OUTPUT_FORMAT} +test -z "${LITTLE_OUTPUT_FORMAT}" && LITTLE_OUTPUT_FORMAT=${OUTPUT_FORMAT} +test "$LD_FLAG" = "N" && DATA_ADDR=. +INTERP=".interp ${RELOCATING-0} : { *(.interp) }" +PLT=".plt ${RELOCATING-0} : { *(.plt) }" +cat <