From 0fe0f2d6215295ef882022fb7ae345f71738e682 Mon Sep 17 00:00:00 2001 From: Juan Manuel Guerrero Date: Fri, 17 Apr 2020 13:12:31 +0100 Subject: [PATCH] [PATCH 1/2] coff-go32: update ldscript * scripttempl/i386go32.sc: Provide symbol _environ. Link in .ctors and .dtors. Discard LTO sections. --- ld/ChangeLog | 6 ++++++ ld/scripttempl/i386go32.sc | 12 ++++++++++++ 2 files changed, 18 insertions(+) diff --git a/ld/ChangeLog b/ld/ChangeLog index 9a32c899c2d..8e3e2df3e8c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2020-04-17 Juan Manuel Guerrero + Jan W. Jagersma + + * scripttempl/i386go32.sc: Provide symbol _environ. Link in + .ctors and .dtors. Discard LTO sections. + 2020-04-17 Nick Clifton * testsuite/config/default.exp: If not already set then create the diff --git a/ld/scripttempl/i386go32.sc b/ld/scripttempl/i386go32.sc index 999aa0527dc..60171fc846c 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) } -- 2.30.2