summaryrefslogtreecommitdiff
path: root/ld/scripttempl
diff options
context:
space:
mode:
authorChristopher Faylor <me+cygwin@cgf.cx>2004-06-22 21:38:34 +0000
committerChristopher Faylor <me+cygwin@cgf.cx>2004-06-22 21:38:34 +0000
commit552f8272ccb1bcbce23dc62c6e701bde2236cd24 (patch)
tree9951b1163d0c1539cc8c2182b5eef8f9a994bf7b /ld/scripttempl
parent46587c4207a56d8b3011c2ccb640bf31fedfbe58 (diff)
downloadbinutils-552f8272ccb1bcbce23dc62c6e701bde2236cd24.tar.gz
binutils-552f8272ccb1bcbce23dc62c6e701bde2236cd24.tar.bz2
binutils-552f8272ccb1bcbce23dc62c6e701bde2236cd24.zip
* 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__.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r--ld/scripttempl/pe.sc24
1 files changed, 22 insertions, 2 deletions
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__)} :