msdos and moss code from Bryan Ford
authorKen Raeburn <raeburn@cygnus>
Fri, 23 Jun 1995 02:05:04 +0000 (02:05 +0000)
committerKen Raeburn <raeburn@cygnus>
Fri, 23 Jun 1995 02:05:04 +0000 (02:05 +0000)
ld/config/.Sanitize
ld/config/i386-moss.mt [new file with mode: 0644]
ld/config/i386-msdos.mt [new file with mode: 0644]
ld/emulparams/.Sanitize
ld/emulparams/i386moss.sh [new file with mode: 0644]
ld/emulparams/i386msdos.sh [new file with mode: 0644]
ld/scripttempl/.Sanitize
ld/scripttempl/i386msdos.sc [new file with mode: 0644]

index c1857d585cb6bd945eb6022a855e3cb039d3e480..ab50c61bba8ae8e456526b6f9817b87c167b2c69 100644 (file)
@@ -71,6 +71,8 @@ i386-laout.mt
 i386-linux.mt
 i386-lynx.mt
 i386-mach.mt
+i386-moss.mt
+i386-msdos.mt
 i386-nbsd.mt
 i386-nw.mt
 i386-pe.mt
diff --git a/ld/config/i386-moss.mt b/ld/config/i386-moss.mt
new file mode 100644 (file)
index 0000000..5f7ecff
--- /dev/null
@@ -0,0 +1,2 @@
+EMUL=i386moss
+EMUL_EXTRA1=i386msdos
diff --git a/ld/config/i386-msdos.mt b/ld/config/i386-msdos.mt
new file mode 100644 (file)
index 0000000..dcda424
--- /dev/null
@@ -0,0 +1,2 @@
+EMUL=i386msdos
+EMUL_EXTRA1=i386aout
index 2fb49b97e6bbfdd58e090c59a08f1edd15d91737..a665237c0285d50db43822ef1adbf866ecb6bccf 100644 (file)
@@ -74,6 +74,8 @@ i386go32.sh
 i386linux.sh
 i386lynx.sh
 i386mach.sh
+i386moss.sh
+i386msdos.sh
 i386nbsd.sh
 i386nw.sh
 i386pe.sh
diff --git a/ld/emulparams/i386moss.sh b/ld/emulparams/i386moss.sh
new file mode 100644 (file)
index 0000000..dd214cf
--- /dev/null
@@ -0,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 --git a/ld/emulparams/i386msdos.sh b/ld/emulparams/i386msdos.sh
new file mode 100644 (file)
index 0000000..9311fa1
--- /dev/null
@@ -0,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
index e060d5f0b5b180c7c98e3fc642464b32d317f9c2..8e97c3009c8bc392b3841ae1cc7e64f67f7a27b1 100644 (file)
@@ -53,6 +53,7 @@ i386coff.sc
 i386pe.sc
 i386go32.sc
 i386lynx.sc
+i386msdos.sc
 i960.sc
 m68kcoff.sc
 m68klynx.sc
diff --git a/ld/scripttempl/i386msdos.sc b/ld/scripttempl/i386msdos.sc
new file mode 100644 (file)
index 0000000..783f2d9
--- /dev/null
@@ -0,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