diff options
author | Steve Chamberlain <sac@cygnus> | 1995-08-17 22:53:56 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-08-17 22:53:56 +0000 |
commit | eb7f87c5c840602725dd013935eb6a558624f16a (patch) | |
tree | 312789d44a4d07287104c98d85f466165f021ff4 /ld/scripttempl/pe.sc | |
parent | ed67cfa226fd66fb72d996b08eaf95cd229a2270 (diff) | |
download | gdb-eb7f87c5c840602725dd013935eb6a558624f16a.zip gdb-eb7f87c5c840602725dd013935eb6a558624f16a.tar.gz gdb-eb7f87c5c840602725dd013935eb6a558624f16a.tar.bz2 |
Thu Aug 17 13:35:49 1995 steve chamberlain <sac@slash.cygnus.com>
* emultempl/{armpe.sc, i386pe.sc}: Deleted.
* emultempl/pe.sc: New file performs generic PE support and sorts
archive members.
* emulparams/{armpe.sh,i386pe.sh}: Use new file.
* scripttempl/{armpe.sc, i386pe.sc}: Deleted
* scripttempl/pe.sc: New.
* Makefile.in: Use new files.
b
Diffstat (limited to 'ld/scripttempl/pe.sc')
-rw-r--r-- | ld/scripttempl/pe.sc | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc new file mode 100644 index 0000000..cc9e78e --- /dev/null +++ b/ld/scripttempl/pe.sc @@ -0,0 +1,97 @@ +# Linker script for PE. +# These are substituted in as variables in order to get '}' in a shell +# conditional expansion. +INIT='.init : { *(.init) }' +FINI='.fini : { *(.fini) }' +cat <<EOF +OUTPUT_FORMAT(${OUTPUT_FORMAT}) +${LIB_SEARCH_DIRS} + +ENTRY(_mainCRTStartup) + +SECTIONS +{ + + .text ${RELOCATING+ 0x401000} : + { + ${RELOCATING+ *(.init);} + *(.text) + ${CONSTRUCTING+ ___CTOR_LIST__ = .; LONG (-1); *(.ctor); LONG (0); } + ${CONSTRUCTING+ ___DTOR_LIST__ = .; LONG (-1); *(.dtor); LONG (0); } + ${RELOCATING+ *(.fini);} + ${RELOCATING+ etext = .}; + } + + .bss BLOCK(0x1000) : + { + *(.bss) + *(COMMON); + } + + .rdata BLOCK(0x1000) : + { + *(.rdata) + ; + } + .data BLOCK(0x1000) : { + *(.data) + *(.data2) + ; + } + .idata BLOCK(0x1000) : + { + *(.idata\$2) + *(.idata\$3) + *(.idata\$4) + *(.idata\$5) + *(.idata\$6) + *(.idata\$7) + ; + } + .CRT BLOCK(0x1000) : + { + *(.CRT\$XCA) + *(.CRT\$XCC) + *(.CRT\$XCZ) + *(.CRT\$XIA) + *(.CRT\$XIC) + *(.CRT\$XIZ) + *(.CRT\$XLA) + *(.CRT\$XLZ) + *(.CRT\$XPA) + *(.CRT\$XPX) + *(.CRT\$XPZ) + *(.CRT\$XTA) + *(.CRT\$XTZ) + ; + } + .rsrc BLOCK(0x1000) : + { + *(.rsrc\$01) + *(.rsrc\$02) + ; + } + .reloc BLOCK(0x1000) : + { + *(.reloc) + ; + } + .junk BLOCK(0x1000) : + { + *(.debug\$S) + *(.debug\$T) + *(.debug\$F) + *(.drectve) + ; + } + .stab 0 ${RELOCATING+(NOLOAD)} : + { + [ .stab ] + } + + .stabstr 0 ${RELOCATING+(NOLOAD)} : + { + [ .stabstr ] + } +} +EOF |