* ld/scripttemp/pe.sc (.CRT): Define ___crt_xc_start__, ___crt_xc_end__,
authorChristopher Faylor <me+cygwin@cgf.cx>
Tue, 22 Jun 2004 21:38:34 +0000 (21:38 +0000)
committerChristopher Faylor <me+cygwin@cgf.cx>
Tue, 22 Jun 2004 21:38:34 +0000 (21:38 +0000)
___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__.

ld/ChangeLog
ld/scripttempl/pe.sc

index 07003df..c3927de 100644 (file)
@@ -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.
index 60d4ed1..c6e25f5 100644 (file)
@@ -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__)} :