diff options
author | Ken Raeburn <raeburn@cygnus> | 1995-06-23 02:05:04 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@cygnus> | 1995-06-23 02:05:04 +0000 |
commit | a2fb6995e0cd664ca8240ddb80920327073b9331 (patch) | |
tree | 052e01e1929f87465c0871c5a44724186c545d7a /ld | |
parent | b0192f5129f4f428946624d85fbb20d4358646cd (diff) | |
download | gdb-a2fb6995e0cd664ca8240ddb80920327073b9331.zip gdb-a2fb6995e0cd664ca8240ddb80920327073b9331.tar.gz gdb-a2fb6995e0cd664ca8240ddb80920327073b9331.tar.bz2 |
msdos and moss code from Bryan Ford
Diffstat (limited to 'ld')
-rw-r--r-- | ld/config/.Sanitize | 2 | ||||
-rw-r--r-- | ld/config/i386-moss.mt | 2 | ||||
-rw-r--r-- | ld/config/i386-msdos.mt | 2 | ||||
-rw-r--r-- | ld/emulparams/.Sanitize | 2 | ||||
-rw-r--r-- | ld/emulparams/i386moss.sh | 9 | ||||
-rw-r--r-- | ld/emulparams/i386msdos.sh | 7 | ||||
-rw-r--r-- | ld/scripttempl/.Sanitize | 1 | ||||
-rw-r--r-- | ld/scripttempl/i386msdos.sc | 40 |
8 files changed, 65 insertions, 0 deletions
diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize index c1857d5..ab50c61 100644 --- a/ld/config/.Sanitize +++ b/ld/config/.Sanitize @@ -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 index 0000000..5f7ecff7 --- /dev/null +++ b/ld/config/i386-moss.mt @@ -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 index 0000000..dcda424 --- /dev/null +++ b/ld/config/i386-msdos.mt @@ -0,0 +1,2 @@ +EMUL=i386msdos +EMUL_EXTRA1=i386aout diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize index 2fb49b9..a665237 100644 --- a/ld/emulparams/.Sanitize +++ b/ld/emulparams/.Sanitize @@ -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 index 0000000..dd214cf --- /dev/null +++ b/ld/emulparams/i386moss.sh @@ -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 index 0000000..9311fa1 --- /dev/null +++ b/ld/emulparams/i386msdos.sh @@ -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 diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize index e060d5f..8e97c30 100644 --- a/ld/scripttempl/.Sanitize +++ b/ld/scripttempl/.Sanitize @@ -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 index 0000000..783f2d9 --- /dev/null +++ b/ld/scripttempl/i386msdos.sc @@ -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 |