summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog8
-rw-r--r--ld/scripttempl/pe.sc24
2 files changed, 30 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 07003df1637..c3927de4ee0 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,11 @@
+2004-06-22 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
+
+ * ld/scripttemp/pe.sc (.CRT): Define ___crt_xc_start__,
+ ___crt_xc_end__, ___crt_xi_start__, ___crt_xi_end__, ___crt_xl_start__,
+ ___crt_xp_start__, ___crt_xp_end__, ___crt_xt_start__ and
+ ___crt_xt_end__.
+ (.tls): Define ___tls_start__ and ___tls_end__.
+
2004-06-21 Alexandre Oliva <aoliva@redhat.com>
* emulparams/elf32frvfd.sh (GENERATE_PIE_SCRIPT): Set to yes.
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index 60d4ed143c6..c6e25f50bee 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -24,7 +24,11 @@ if test "${RELOCATING}"; then
SORT(*)(.idata$5)
SORT(*)(.idata$6)
SORT(*)(.idata$7)'
- R_CRT='*(SORT(.CRT$*))'
+ R_CRT_XC='*(SORT(.CRT$XC*)) /* C initialization */'
+ R_CRT_XI='*(SORT(.CRT$XI*)) /* C++ initialization */'
+ R_CRT_XL='*(SORT(.CRT$XL*)) /* TLS callbacks */'
+ R_CRT_XP='*(SORT(.CRT$XP*)) /* Pre-termination */'
+ R_CRT_XT='*(SORT(.CRT$XT*)) /* Termination */'
R_TLS='
*(.tls)
*(.tls$)
@@ -130,12 +134,28 @@ SECTIONS
}
.CRT ${RELOCATING+BLOCK(__section_alignment__)} :
{
- ${R_CRT}
+ ${RELOCATING+___crt_xc_start__ = . ;}
+ ${R_CRT_XC}
+ ${RELOCATING+___crt_xc_end__ = . ;}
+ ${RELOCATING+___crt_xi_start__ = . ;}
+ ${R_CRT_XI}
+ ${RELOCATING+___crt_xi_end__ = . ;}
+ ${RELOCATING+___crt_xl_start__ = . ;}
+ ${R_CRT_XL}
+ /* ___crt_xl_end__ is defined in the TLS Directory support code */
+ ${RELOCATING+___crt_xp_start__ = . ;}
+ ${R_CRT_XP}
+ ${RELOCATING+___crt_xp_end__ = . ;}
+ ${RELOCATING+___crt_xt_start__ = . ;}
+ ${R_CRT_XT}
+ ${RELOCATING+___crt_xt_end__ = . ;}
}
.tls ${RELOCATING+BLOCK(__section_alignment__)} :
{
+ ${RELOCATING+___tls_start__ = . ;}
${R_TLS}
+ ${RELOCATING+___tls_end__ = . ;}
}
.endjunk ${RELOCATING+BLOCK(__section_alignment__)} :