Support the g++ attribute init_priority in gcc 2.95.2 and later.
authorNick Clifton <nickc@redhat.com>
Wed, 12 Jul 2000 16:41:29 +0000 (16:41 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 12 Jul 2000 16:41:29 +0000 (16:41 +0000)
ld/ChangeLog
ld/scripttempl/i386go32.sc

index 7826d9349d0d2d993289737b3d7e4b97008c15ed..8d3e75715880cdd545947fbb1eed5d0996a37dbd 100644 (file)
@@ -1,3 +1,8 @@
+2000-07-12  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * scripttempl/i386go32.sc: Support the g++ attribute init_priority in
+         gcc 2.95.2 and later.
+
 2000-07-11  Kazu Hirata  <kazu@hxi.com>
 
         * ldfile.c (ldfile_try_open_bfd): Output '\n' after an error
index f14aff7b647e2b57e302fd691d15a0b69e02a65f..330e4d3acd494b3160b92a7f6352cd8d89ab3d8b 100644 (file)
@@ -5,8 +5,14 @@ EXE=${CONSTRUCTING+${RELOCATING+-exe}}
 
 # These are substituted in as variables in order to get '}' in a shell
 # conditional expansion.
-CTOR='.ctor : { *(.ctor) }'
-DTOR='.dtor : { *(.dtor) }'
+CTOR='.ctor : {
+    *(SORT(.ctors.*))
+    *(.ctor)
+  }'
+DTOR='.dtor : {
+    *(SORT(.dtors.*))
+    *(.dtor)
+  }'
 
 cat <<EOF
 OUTPUT_FORMAT("${OUTPUT_FORMAT}${EXE}")
@@ -26,9 +32,11 @@ SECTIONS
   }
   .data ${RELOCATING+ ${DATA_ALIGNMENT}} : {
     ${RELOCATING+djgpp_first_ctor = . ;
+    *(SORT(.ctors.*))
     *(.ctor)
     djgpp_last_ctor = . ;}
     ${RELOCATING+djgpp_first_dtor = . ;
+    *(SORT(.dtors.*))
     *(.dtor)
     djgpp_last_dtor = . ;}
     *(.data)