diff options
Diffstat (limited to 'binutils-2.21/ld/scripttempl/i386go32.sc')
-rw-r--r-- | binutils-2.21/ld/scripttempl/i386go32.sc | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/binutils-2.21/ld/scripttempl/i386go32.sc b/binutils-2.21/ld/scripttempl/i386go32.sc new file mode 100644 index 0000000..e5bcf2a --- /dev/null +++ b/binutils-2.21/ld/scripttempl/i386go32.sc @@ -0,0 +1,79 @@ +# Linker script for i386 go32 (DJGPP) + +test -z "$ENTRY" && ENTRY=start +EXE=${CONSTRUCTING+${RELOCATING+-exe}} + +# These are substituted in as variables in order to get '}' in a shell +# conditional expansion. +CTOR='.ctor : { + *(SORT(.ctors.*)) + *(.ctor) + }' +DTOR='.dtor : { + *(SORT(.dtors.*)) + *(.dtor) + }' + +cat <<EOF +OUTPUT_FORMAT("${OUTPUT_FORMAT}${EXE}") + +${RELOCATING+ENTRY (${ENTRY})} + +SECTIONS +{ + .text ${RELOCATING+ ${TARGET_PAGE_SIZE}+SIZEOF_HEADERS} : { + *(.text) + ${RELOCATING+*(.text.*)} + ${RELOCATING+*(.gnu.linkonce.t*)} + *(.const*) + *(.ro*) + ${RELOCATING+*(.gnu.linkonce.r*)} + ${RELOCATING+etext = . ; PROVIDE(_etext = .) ;} + ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} + } + .data ${RELOCATING+ ${DATA_ALIGNMENT}} : { + ${RELOCATING+djgpp_first_ctor = . ; + *(SORT(.ctors.*)) + *(.ctor) + djgpp_last_ctor = . ;} + ${RELOCATING+djgpp_first_dtor = . ; + *(SORT(.dtors.*)) + *(.dtor) + djgpp_last_dtor = . ;} + *(.data) + ${RELOCATING+*(.data.*)} + + ${RELOCATING+*(.gcc_exc*)} + ${RELOCATING+___EH_FRAME_BEGIN__ = . ;} + ${RELOCATING+*(.eh_fram*)} + ${RELOCATING+___EH_FRAME_END__ = . ;} + ${RELOCATING+LONG(0);} + + ${RELOCATING+*(.gnu.linkonce.d*)} + ${RELOCATING+edata = . ; PROVIDE(_edata = .) ;} + ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} + } + ${CONSTRUCTING+${RELOCATING-$CTOR}} + ${CONSTRUCTING+${RELOCATING-$DTOR}} + .bss ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} : + { + *(.bss${RELOCATING+ .bss.* .gnu.linkonce.b.*}) + *(COMMON) + ${RELOCATING+ end = . ; PROVIDE(_end = .) ;} + ${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});} + } + /* Stabs debugging sections. */ + .stab 0 : { *(.stab) } + .stabstr 0 : { *(.stabstr) } + /* DWARF 2 */ + .debug_aranges 0 : { *(.debug_aranges) } + .debug_pubnames 0 : { *(.debug_pubnames) } + .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) } + .debug_abbrev 0 : { *(.debug_abbrev) } + .debug_line 0 : { *(.debug_line) } + .debug_frame 0 : { *(.debug_frame) } + .debug_str 0 : { *(.debug_str) } + .debug_loc 0 : { *(.debug_loc) } + .debug_macinfo 0 : { *(.debug_macinfo) } +} +EOF |