bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: detection of functional openat() for usage inside getcwd.c


From: Petr Salinger
Subject: Re: detection of functional openat() for usage inside getcwd.c
Date: Sat, 15 Dec 2007 14:22:53 +0100 (CET)

getcwd.c uses *at() function family iff AT_FDCWD is defined.
This approach does not work on GNU/kFreeBSD - FreeBSD kernel + GNU libc.
The kernel does not provide needed interfaces, and therefore glibc
provides only stub version for function from *at() family.
But the AT_FDCWD is declared and getcwd.c uses only native i.e. openat().

Please, could you change detection whether really use *at() function
family in getcwd.

Here's an untested patch.
Please test it.

        Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
        which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
        * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
        * modules/getcwd (Depends-on): Add openat.
       Reported by Petr Salinger.

I slightly changed the patch, to be consistent with approach in lib/fts.c.
It does work for GNU/kFreeBSD.

Many thanks

Petr

Attachment: getcwd.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]