This is the mail archive of the libc-help@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: dlopen()/__thread behaviour


Ryan Arnold <ryan.arnold@gmail.com> wrote:
> I just ran your testcase against a GLIBC with Alan's patch on PowerPC
> and Valgrind is still detecting the leak so there may be additional
> leaks.

Hi Ryan,

thanks for your investigation!

Just as a shot into the dark I wrote a little patch attached to this
email (it is a diff against the glibc 2.13 release).
Before reinitializing the TLS in get_cached_stack() it runs through the
appropriate DTV and deallocates all memory blocks. Unfortunately, we
cannot use _dl_deallocate_tls() directly, because it will further remove
the DTV itself.

I'm not sure about drawbacks and bugs of this approach, because this is
the first time I dived into the glibc sources. But there was no leak
anymore in my provided test case.

Any feedback would be appreciated.

Thanks,
Robert

Attachment: patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]