dl_close: wrong calculation of tls_free_end ?
Carmelo Amoroso
carmelo73@gmail.com
Thu Aug 10 13:19:00 GMT 2006
Hi All,
I'm involved into the nptl port for uClibc over SuperH, and I'm having
a look into the glibc (2.4) code of _dl_close .
It seems to me that the calculation of the tls_free_end is wrong (case
of TLS_DTV_AT_TP).
I think that to correclty extend the contiguous chunk the
tls_blocksize of the module should be be added to the current
tls_free_end instead of subtracted.
I checked the CVS and found that it was changed in version 1.98.
Unfortunately I don't have a test exploting this suspected bug.
This is an extract of the code I'm referring to
# elif TLS_DTV_AT_TP
if ((size_t) imap->l_tls_offset == tls_free_end)
/* Extend the contiguous chunk being reclaimed. */
tls_free_end -= imap->l_tls_blocksize;
More information about the Libc-alpha
mailing list