msdos and moss code from Bryan Ford
This commit is contained in:
parent
b0192f5129
commit
a2fb6995e0
@ -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
|
||||
|
2
ld/config/i386-moss.mt
Normal file
2
ld/config/i386-moss.mt
Normal file
@ -0,0 +1,2 @@
|
||||
EMUL=i386moss
|
||||
EMUL_EXTRA1=i386msdos
|
2
ld/config/i386-msdos.mt
Normal file
2
ld/config/i386-msdos.mt
Normal file
@ -0,0 +1,2 @@
|
||||
EMUL=i386msdos
|
||||
EMUL_EXTRA1=i386aout
|
@ -74,6 +74,8 @@ i386go32.sh
|
||||
i386linux.sh
|
||||
i386lynx.sh
|
||||
i386mach.sh
|
||||
i386moss.sh
|
||||
i386msdos.sh
|
||||
i386nbsd.sh
|
||||
i386nw.sh
|
||||
i386pe.sh
|
||||
|
9
ld/emulparams/i386moss.sh
Normal file
9
ld/emulparams/i386moss.sh
Normal file
@ -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
|
7
ld/emulparams/i386msdos.sh
Normal file
7
ld/emulparams/i386msdos.sh
Normal file
@ -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
|
@ -53,6 +53,7 @@ i386coff.sc
|
||||
i386pe.sc
|
||||
i386go32.sc
|
||||
i386lynx.sc
|
||||
i386msdos.sc
|
||||
i960.sc
|
||||
m68kcoff.sc
|
||||
m68klynx.sc
|
||||
|
40
ld/scripttempl/i386msdos.sc
Normal file
40
ld/scripttempl/i386msdos.sc
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user