Crash in DT_FINI_ARRAY
David Mosberger
davidm@napali.hpl.hp.com
Thu Jan 23 19:45:00 GMT 2003
What platform did it crash on? I'm sure I tested it on ia64 and it
worked fine, there (at least it got through the test-suite without
visible errors).
--david
>>>>> On Thu, 23 Jan 2003 14:08:20 +0100, Andreas Schwab <schwab@suse.de> said:
Andreas> The pointers in DT_FINI_ARRAY are already relocated.
Andreas> Andreas.
Andreas> 2003-01-23 Andreas Schwab <schwab@suse.de>
Andreas> * elf/dl-close.c (_dl_close): Don't relocate
Andreas> DT_FINI_ARRAY elements.
Andreas> --- elf/dl-close.c.~1.93.~ 2003-01-16 11:19:32.000000000
Andreas> +0100 +++ elf/dl-close.c 2003-01-22 21:11:29.000000000
Andreas> +0100 @@ -241,7 +241,7 @@ _dl_close (void *_map) unsigned
Andreas> int cnt;
Andreas> for (cnt = 0; cnt < sz; ++cnt) - ((fini_t)
Andreas> (imap->l_addr + array[cnt])) (); + ((fini_t) array[cnt])
Andreas> (); }
Andreas> /* Next try the old-style destructor. */
Andreas> -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux AG,
Andreas> Deutschherrnstr. 15-19, D-90429 Nürnberg Key fingerprint =
Andreas> 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now
Andreas> for something completely different."
More information about the Libc-hacker
mailing list