From 0fe0f2d6215295ef882022fb7ae345f71738e682 Mon Sep 17 00:00:00 2001 From: Juan Manuel Guerrero Date: Fri, 17 Apr 2020 13:12:31 +0100 Subject: [PATCH 1/2] coff-go32: update ldscript * scripttempl/i386go32.sc: Provide symbol _environ. Link in .ctors and .dtors. Discard LTO sections. --- ld/scripttempl/i386go32.sc | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ld/scripttempl') diff --git a/ld/scripttempl/i386go32.sc b/ld/scripttempl/i386go32.sc index 999aa05..60171fc 100644 --- a/ld/scripttempl/i386go32.sc +++ b/ld/scripttempl/i386go32.sc @@ -43,15 +43,21 @@ SECTIONS ${RELOCATING+etext = . ; PROVIDE(_etext = .) ;} ${RELOCATING+. = ALIGN(${SEGMENT_SIZE});} } + .data ${RELOCATING+ ${DATA_ALIGNMENT}} : { ${RELOCATING+djgpp_first_ctor = . ; *(SORT(.ctors.*)) *(.ctor) + *(.ctors) djgpp_last_ctor = . ;} ${RELOCATING+djgpp_first_dtor = . ; *(SORT(.dtors.*)) *(.dtor) + *(.dtors) djgpp_last_dtor = . ;} + __environ = . ; + PROVIDE(_environ = .) ; + LONG(0) ; *(.data) ${RELOCATING+*(.data.*)} @@ -65,8 +71,10 @@ SECTIONS ${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.*}) @@ -74,6 +82,10 @@ SECTIONS ${RELOCATING+ end = . ; PROVIDE(_end = .) ;} ${RELOCATING+ . = ALIGN(${SEGMENT_SIZE});} } + + /* Discard LTO sections. */ + /DISCARD/ : { *(.gnu.lto_*) } + /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } -- cgit v1.1