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 7826d93..8d3e757 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 f14aff7..330e4d3 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)