[PATCH 2/2] Revert "linux: Move xmknod{at} to compat symbols"
Adhemerval Zanella
adhemerval.zanella@linaro.org
Fri Oct 23 18:56:12 GMT 2020
On 23/10/2020 14:18, Florian Weimer wrote:
> * Adhemerval Zanella:
>
>>>> If I recall correctly they are still required for Hurd, but I double
>>>> check. In fact I think we should remove all the io/*xstat* and
>>>> io/*xmknod* since there is no point in providing them as generic
>>>> interfaces.
>>>
>>> Then I think you should add the missing libc_hidden_defs instead (to the
>>> Linux implementations). The present state is inconsistent and
>>> potentially brittle.
>>
>> Why do we need to add the libc_hidden_defs for Linux? Currently they are not
>> used internally anymore (both xmknod and xmknodat will call __mknodat).
>
> I think they always have to come in pairs, conceptually. Some pairings
> work by accident. I think the aliasing could be implemented in the
> other direction, then this use case (public symbol, no internal
> references) would break, but the other one (unused export, internal
> references) would work.
For this specific case, the libc_hidden_proto on include/sys/stat.h are
only defined for NO_RTLD_HIDDEN, which is only define for Hurd. So I
don't think there is the need to add the libc_hidden_def for the Linux
implementation.
This is also for the xstat symbols.
More information about the Libc-alpha
mailing list