mirror of
https://sourceware.org/git/glibc.git
synced 2025-10-12 19:04:54 +03:00
* elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order.
Don't add L->l_addr to array entry values.
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
2002-10-28 David Mosberger <davidm@hpl.hp.com>
|
||||||
|
|
||||||
|
* elf/dl-fini.c (_dl_fini): Invoke fini_array in _reverse_ order.
|
||||||
|
Don't add L->l_addr to array entry values.
|
||||||
|
|
||||||
2002-11-07 Jakub Jelinek <jakub@redhat.com>
|
2002-11-07 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* string/test-string.h: New file.
|
* string/test-string.h: New file.
|
||||||
|
@@ -157,12 +157,10 @@ _dl_fini (void)
|
|||||||
ElfW(Addr) *array =
|
ElfW(Addr) *array =
|
||||||
(ElfW(Addr) *) (l->l_addr
|
(ElfW(Addr) *) (l->l_addr
|
||||||
+ l->l_info[DT_FINI_ARRAY]->d_un.d_ptr);
|
+ l->l_info[DT_FINI_ARRAY]->d_un.d_ptr);
|
||||||
unsigned int sz = (l->l_info[DT_FINI_ARRAYSZ]->d_un.d_val
|
unsigned int i = (l->l_info[DT_FINI_ARRAYSZ]->d_un.d_val
|
||||||
/ sizeof (ElfW(Addr)));
|
/ sizeof (ElfW(Addr)));
|
||||||
unsigned int cnt;
|
while (i-- > 0)
|
||||||
|
((fini_t) array[i]) ();
|
||||||
for (cnt = 0; cnt < sz; ++cnt)
|
|
||||||
((fini_t) (l->l_addr + array[cnt])) ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next try the old-style destructor. */
|
/* Next try the old-style destructor. */
|
||||||
|
Reference in New Issue
Block a user