aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/scripttempl/pe.sc18
2 files changed, 17 insertions, 6 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index d1f8a0b..44a4545 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+Wed Mar 25 11:34:13 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when
+ relocating.
+
Mon Mar 23 18:54:15 1998 Joel Sherrill <joel@OARcorp.com>
* configure.tgt: (sh*-*-rtems*): Switched from ELF to COFF.
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index c516abd..a28feda 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__)} :
{