From 9216fffaef73337c3386b17e4a3eeb13a137529c Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 25 Mar 1998 16:35:13 +0000 Subject: [PATCH] * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when relocating. --- ld/ChangeLog | 5 +++++ ld/scripttempl/pe.sc | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index d1f8a0b5280..44a45453f98 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +Wed Mar 25 11:34:13 1998 Ian Lance Taylor + + * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when + relocating. + Mon Mar 23 18:54:15 1998 Joel Sherrill * configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF. diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc index c516abd8482..a28feda026f 100644 --- a/ld/scripttempl/pe.sc +++ b/ld/scripttempl/pe.sc @@ -30,6 +30,12 @@ SECTIONS *(.gcc_except_table) } + /* The Cygwin32 library uses a section to avoid copying certain data + on fork. This used to be named ".data$nocopy". The linker used + to include this between __data_start__ and __data_end__, but that + breaks building the cygwin32 dll. Instead, we name the section + ".data_cygwin_nocopy" and explictly include it after __data_end__. */ + .data ${RELOCATING+BLOCK(__section_alignment__)} : { ${RELOCATING+__data_start__ = . ;} @@ -72,14 +78,14 @@ SECTIONS { /* This cannot currently be handled with grouped sections. See pe.em:sort_sections. */ - *(.idata\$2) - *(.idata\$3) + ${RELOCATING+*(.idata\$2)} + ${RELOCATING+*(.idata\$3)} ${RELOCATING+ /* These zeroes mark the end of the import list. */} ${RELOCATING+ LONG (0); LONG (0); LONG (0); LONG (0); LONG (0);} - *(.idata\$4) - *(.idata\$5) - *(.idata\$6) - *(.idata\$7) + ${RELOCATING+*(.idata\$4)} + ${RELOCATING+*(.idata\$5)} + ${RELOCATING+*(.idata\$6)} + ${RELOCATING+*(.idata\$7)} } .CRT ${RELOCATING+BLOCK(__section_alignment__)} : { -- 2.30.2