diff options
author | Ian Lance Taylor <ian@airs.com> | 1992-10-19 16:53:41 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1992-10-19 16:53:41 +0000 |
commit | e9b63852ca0c0ddd181a8d76de06329a7380deda (patch) | |
tree | 8f75a4d355a276d598dc0823b50174695e8897ca /ld/i386coff.sc-sh | |
parent | 4c7be680e939e84eca7d1e2c7e78de44855967f7 (diff) | |
download | gdb-e9b63852ca0c0ddd181a8d76de06329a7380deda.zip gdb-e9b63852ca0c0ddd181a8d76de06329a7380deda.tar.gz gdb-e9b63852ca0c0ddd181a8d76de06329a7380deda.tar.bz2 |
Mon Oct 19 09:45:38 1992 Ian Lance Taylor (ian@cygnus.com)
* Support for i386-sysv.
configure.in: check for i386-*-sysv* and i386-*-sco*.
i386coff.sc-sh: rewrote to support SVR3 by default.
ldctor.c (find_constructors): preserve stat_ptr.
ldlang.c (wild_doit): initialize vma and size of new output
section to corresponding input section. This is required for
shared library support.
(lang_size_sections): don't modify vma and size of sections which
are never loaded (for shared libraries).
ldwrite.c (copy_and_relocate): copy the contents of any section
which has contents, not just sections which are loaded (for shared
libraries).
Diffstat (limited to 'ld/i386coff.sc-sh')
-rw-r--r-- | ld/i386coff.sc-sh | 46 |
1 files changed, 18 insertions, 28 deletions
diff --git a/ld/i386coff.sc-sh b/ld/i386coff.sc-sh index 485f3bb..d18fd24 100644 --- a/ld/i386coff.sc-sh +++ b/ld/i386coff.sc-sh @@ -1,39 +1,29 @@ -# This is totally made up, from the a29k stuff. If you know better, -# tell us about it. +# Linker script for 386 COFF. This works on SVR3.2 and SCO Unix 3.2.2. +# .data2 handles SCO, which uses two data sections. +# Ian Taylor <ian@cygnus.com>. cat <<EOF OUTPUT_FORMAT("${OUTPUT_FORMAT}") ${LIB_SEARCH_DIRS} -MEMORY { - text : ORIGIN = 0x1000000, LENGTH = 0x1000000 - talias : ORIGIN = 0x2000000, LENGTH = 0x1000000 - data : ORIGIN = 0x3000000, LENGTH = 0x1000000 - mstack : ORIGIN = 0x4000000, LENGTH = 0x1000000 - rstack : ORIGIN = 0x5000000, LENGTH = 0x1000000 -} +ENTRY(_start) + SECTIONS { - .text : { + .text ${RELOCATING+ SIZEOF_HEADERS} : { + *(.init) *(.text) - ${RELOCATING+ _etext = .}; - *(.lit) - *(.shdata) - } ${RELOCATING+ > text} - .shbss SIZEOF(.text) + ADDR(.text) : { - *(.shbss) - } - .talias : { } ${RELOCATING+ > talias} - .data : { - *(.data) - ${RELOCATING+ _edata = .}; - } ${RELOCATING+ > data} - .bss SIZEOF(.data) + ADDR(.data) : + *(.fini) + ${RELOCATING+ etext = .}; + } + .data ${RELOCATING+ 0x400000 + (. & 0xffc00fff)} : { + *(.data .data2) + ${RELOCATING+ edata = .}; + } + .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : { - *(.bss) - *(COMMON) - ${RELOCATING+ _end = ALIGN(0x8)}; + *(.bss) + *(COMMON) + ${RELOCATING+ end = .}; } - .mstack : { } ${RELOCATING+ > mstack} - .rstack : { } ${RELOCATING+ > rstack} } EOF |