This is the mail archive of the
mailing list for the glibc project.
Re: [PATCH] Memory fencing problem in pthread cancellation
On 01/14/2013 11:42 PM, Jeff Law wrote:
> On 01/14/2013 08:50 PM, Rich Felker wrote:
>> The cleanest and most correct way to fix this is to add libgcc_s.so to
>> the DT_NEEDED for libpthread.so and remove the silly dynamic loading
>> code. Then no global state exists and everything just works. This
>> would also eliminate the unfortunate, really nasty situation whereby
>> pthread_cancel can abort the whole application due to failure to load
> The decision to use dynamic loading vs DT_NEEDED was made well before
> I began participating in glibc development; I do not know the reasons
> one approach was chosen over the other. Nor do I feel qualified to
> argue for either the status quo or for a re-evaluation of that
> If Roland, Carlos, Joseph, etc want to revisit that issue, that's
> fine with me. If they don't want to revisit that decision, that's
> fine too.
It's considerably more risky to make this into DT_NEEDED. I'd consider
that an orthogonal cleanup step that would happen after Jeff's patch
goes in. We would need some serious distro testing help to ensure that
we don't break anything by adding this dependency.
There might previously have been a bootstrapping issue in requiring
a libgcc_s.so to link against because you can't have built all of
the dynamic pieces of gcc?
Do you have any comment on the history of this particular decision?