The following reply was made to PR threads/103975; it has
been noted by GNATS.
From: "Takahiro Kurosawa"
<takahiro.kurosawa gmail.com>
To: "Alexander Kabaev" <kabaev gmail.com>
Cc: "John Baldwin" <john baldwin.cx>,
freebsd-threads freebsd.org,
freebsd-gnats-submit freebsd.org
Subject: Re: threads/103975: Implicit loading/unloading of
libpthread.so may crash user processes
Date: Fri, 6 Oct 2006 17:49:48 +0900
Alexander Kabaev <kabaev gmail.com> wrote:
> On Thu, 5 Oct 2006 09:06:20 -0400
> John Baldwin <john baldwin.cx> wrote:
>
> > > To fix the problem, a function that has
__attribute__((destructor))
> > > in libpthread should probably be implemented
in order to recover
> > > the initial state before unloading.
> >
> > I'm not sure you can recover the state actually,
hence why I think
> > maybe we should make it so that libpthread
doesn't unload once it has
> > been loaded.
I understand that it's way easier to prohibit unloading of
libpthread
than to change the code safely unloadable.
Thanks for your explanation, John!
> Linux does not allow pthread library to be unloaded
presumably because
> of reasons like this. From readelf -a
/compat/linux/lib/libpthread.so.0:
>
> 0x6ffffffb (FLAGS_1) Flags:
NODELETE INITFIRST
>
> Infortunately, rtld does not implement NODELETE and
INITFIRST. Both are
> addressed in my patch that I am yet to commit.
I'm looking forward to the commit of your patch into the
CVS repository
Maybe the following line should be added to
src/lib/libpthread/Makefile
when rtld supports the NODELETE flag? :
LDFLAGS+=-Wl,-znodelete
Thanks,
--
KUROSAWA, Takahiro
_______________________________________________
freebsd-threads freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-threa
ds
To unsubscribe, send any mail to
"freebsd-threads-unsubscribe freebsd.org"
|