Re: NTPL transition
On Sat, Sep 6, 2008 at 4:24 AM, Petr Salinger <Petr.Salinger@seznam.cz> wrote:
> IMHO, there is no need for versioning. Moreover it wouldn't be sufficient.
You must versioning the affected interfaces, otherwise you will never
be able to remove the compatibility code.
> Imagine function in a shared library foo which takes as argument
> pthread_mutex_t and does usual:
> do some work
> And a program bar, which uses foo. Inside bar is a static initialized lock.
> The foo might be (re)compiled against NPTL, while bar would be still
> compiled against LT. Therefore check_and_reset() should be called as long as
> any installed (debian) package have not been recompiled against NPTL. The
> overhead of check_and_reset() looks very small, it should be no problem at
> all. The harder part is to determine each place, where
> check_and_reset() should be called. It have to be in all places,
> where static initialized lock might be passed for the 1st time,
> i.e. it should be in pthread_mutex_lock(), but not in
Yes, certainly, this is a valid case.
Any function that manipulates a changed structure needs to be versioned.
Eventually, one day, debian hppa will configure glibc with
--enable-oldest-abi at a high enough value that the compat code will
be dropped (because we have proved no package needs it and we have an
Do you have any other concerns?