diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 8 | ||||
-rw-r--r-- | ld/scripttempl/pe.sc | 24 |
2 files changed, 30 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 07003df..c3927de 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 60d4ed1..c6e25f5 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__)} : |