diff options
author | Steve Chamberlain <sac@cygnus> | 1995-05-12 18:55:06 +0000 |
---|---|---|
committer | Steve Chamberlain <sac@cygnus> | 1995-05-12 18:55:06 +0000 |
commit | 3f38a017be911b803f3a06d86dc77db6ccecc9f0 (patch) | |
tree | 8bfc5c87d9ec292e6916a376506d6a28b5f3a243 /ld/scripttempl | |
parent | 48b2d07e4c59bbbaacf6face47e2eafac2271092 (diff) | |
download | gdb-3f38a017be911b803f3a06d86dc77db6ccecc9f0.zip gdb-3f38a017be911b803f3a06d86dc77db6ccecc9f0.tar.gz gdb-3f38a017be911b803f3a06d86dc77db6ccecc9f0.tar.bz2 |
Fri May 12 11:03:55 1995 Steve Chamberlain <sac@slash.cygnus.com>
Tom Griest <griest@cs.yale.edu>
Initial support for PE executables (eg NT, win32)
* Makefile.in (configure.in, ei386pe): Add support.
* ldmain.c (main): Initialize PE argument info.
* ldwrite.c (print_file_stuff): Don't print out .drectve
and .debug section info.
* lexsup.c (set_subsystem, set_stack_heap, OPTION_HEAP,
OPTION_SUBSYSTEM, parse_argsm set_subsystem, set_stack_heap):
Handle new arguments.
* config/i386-pe.mt, emultempl/i386pe.em, scripttempl/i386pe.sc:
New files
Diffstat (limited to 'ld/scripttempl')
-rw-r--r-- | ld/scripttempl/.Sanitize | 1 | ||||
-rw-r--r-- | ld/scripttempl/i386pe.sc | 95 |
2 files changed, 96 insertions, 0 deletions
diff --git a/ld/scripttempl/.Sanitize b/ld/scripttempl/.Sanitize index bf8a171..46c2242 100644 --- a/ld/scripttempl/.Sanitize +++ b/ld/scripttempl/.Sanitize @@ -48,6 +48,7 @@ h8500m.sc h8500s.sc hppaelf.sc i386coff.sc +i386pe.sc i386go32.sc i386lynx.sc i960.sc diff --git a/ld/scripttempl/i386pe.sc b/ld/scripttempl/i386pe.sc new file mode 100644 index 0000000..d23506d --- /dev/null +++ b/ld/scripttempl/i386pe.sc @@ -0,0 +1,95 @@ +# Linker script for 386 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) + ${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 |