On Fri, Mar 08, 2013 at 09:57:37PM -0600, Rob Landley wrote: > Files like libc/sysdeps/linux/powerpc/bits/fcntl.h have blobs like: > > #ifdef __USE_GNU > # define O_DIRECT 0400000 /* Direct disk access. */ > # define O_DIRECTORY 040000 /* Must be a directory. */ > # define O_NOFOLLOW 0100000 /* Do not follow links. */ > # define O_NOATIME 01000000 /* Do not set atime. */ > # define O_CLOEXEC 02000000 /* Set close_on_exec. */ > #endif > > Meaning that if you don't #define GNU_DAMMIT you don't get symbols > Posix-2008 has been requiring for several years now: > > file:///home/landley/reading/SUSv4/basedefs/fcntl.h.html > > Which is why you don't need the #define to use O_NOFOLLOW in glibc. > > This is hard to work around because the value of the symbol varies > per-target.
I think the cleanest fix would be for uClibc to just define them unconditionally. O_* is in the reserved namespace for fcntl.h so there's no requirement in POSIX that extended O_* flags be hidden by default. Rich _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
