_ATFILE_SOURCE Obsoletion

Zack Weinberg zackw@panix.com
Thu Oct 19 00:39:00 GMT 2017


On Wed, Oct 18, 2017 at 1:46 PM, Carlos O'Donell <carlos@redhat.com> wrote:
> On 10/18/2017 10:38 AM, Zack Weinberg wrote:
>> On Wed, Oct 18, 2017 at 1:33 PM, Carlos O'Donell <carlos@redhat.com> wrote:
>>> On 10/18/2017 07:34 AM, Michael Kerrisk (man-pages) wrote:
>>>> Also, broadening the meaning of _ATFILE_SOURCE to imply
>>>> _POSIX_C_SOURCE==200809L sems a little risky to me, in terms of
>>>> possibly creating developer pain.
>>>
>>> That risk is balanced against the *removal* of _ATFILE_SOURCE, [...]
>>
>> A little extra caution is required when promoting anything to mean
>> _POSIX_C_SOURCE=200809L because some older functions were *removed* at
>> that conformance level.  I could see programs using _ATFILE_SOURCE to
>> get openat, but still wanting to be able to use gettimeofday, for
>> instance.
>
> Oh, that is a very good point. I had not considered the removal aspect.

Thinking about this some more, our default is (approximately)
_POSIX_C_SOURCE=200809L "plus more stuff", so we could maybe make
_ATFILE_SOURCE a no-op.  This would break programs that ask for
_POSIX_C_SOURCE=200112L (or lower) + _ATFILE_SOURCE, but that might be
less troublesome than breaking programs that *only* use
_ATFILE_SOURCE.

Honestly, though, I think we need to do that audit Rical mentioned.

zw



More information about the Libc-alpha mailing list