OSDN Git Service

2009-04-16 Jeff johnston <jjohnstn@redhat.com>
authorjjohnstn <jjohnstn>
Thu, 16 Apr 2009 19:16:40 +0000 (19:16 +0000)
committerjjohnstn <jjohnstn>
Thu, 16 Apr 2009 19:16:40 +0000 (19:16 +0000)
        * libc/misc/init.c (__libc_fini_array): Process fini_array in
        reverse order as compliant with the ELF specification.

newlib/ChangeLog
newlib/libc/misc/init.c

index 26723d4..6ca41c0 100644 (file)
@@ -1,3 +1,8 @@
+2009-04-16  Jeff johnston  <jjohnstn@redhat.com>
+
+       * libc/misc/init.c (__libc_fini_array): Process fini_array in
+       reverse order as compliant with the ELF specification.
+
 2009-04-16  Ken Werner  <ken.werner@de.ibm.com>
 
        * libc/machine/spu/Makefile.am: Add new File.
index 539fbef..50bac50 100644 (file)
@@ -52,8 +52,8 @@ __libc_fini_array (void)
   size_t i;
   
   count = __fini_array_end - __fini_array_start;
-  for (i = 0; i < count; i++)
-    __fini_array_start[i] ();
+  for (i = count; i > 0; i--)
+    __fini_array_start[i-1] ();
 
   _fini ();
 }