[PATCH 2/2] Revert "linux: Move xmknod{at} to compat symbols"

Adhemerval Zanella adhemerval.zanella@linaro.org
Mon Oct 26 16:24:23 GMT 2020



On 26/10/2020 09:56, Florian Weimer wrote:
> * Adhemerval Zanella:
> 
>> 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.
> 
> Hmm.  I really don't like this.  But we can consider it separately from
> the (partial) revert.

Could we track this with a different patch? I would like to close this
and the xstat issue.


More information about the Libc-alpha mailing list