[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r9631 - in /fsf/trunk/libc: ./ bits/ conform/ conform/data/ conform/data/sys/ dirent/ include/ io/ locale/ nptl/ nptl/sysdep...
- To: commits@xxxxxxxxxx
- Subject: [commits] r9631 - in /fsf/trunk/libc: ./ bits/ conform/ conform/data/ conform/data/sys/ dirent/ include/ io/ locale/ nptl/ nptl/sysdep...
- From: eglibc@xxxxxxxxxx
- Date: Sun, 10 Jan 2010 08:02:54 -0000
Author: eglibc
Date: Sun Jan 10 00:02:53 2010
New Revision: 9631
Log:
Import glibc-mainline for 2010-01-10
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/bits/confname.h
fsf/trunk/libc/conform/conformtest.pl
fsf/trunk/libc/conform/data/ctype.h-data
fsf/trunk/libc/conform/data/dirent.h-data
fsf/trunk/libc/conform/data/errno.h-data
fsf/trunk/libc/conform/data/fcntl.h-data
fsf/trunk/libc/conform/data/fmtmsg.h-data
fsf/trunk/libc/conform/data/fnmatch.h-data
fsf/trunk/libc/conform/data/ftw.h-data
fsf/trunk/libc/conform/data/glob.h-data
fsf/trunk/libc/conform/data/grp.h-data
fsf/trunk/libc/conform/data/iconv.h-data
fsf/trunk/libc/conform/data/langinfo.h-data
fsf/trunk/libc/conform/data/libgen.h-data
fsf/trunk/libc/conform/data/limits.h-data
fsf/trunk/libc/conform/data/locale.h-data
fsf/trunk/libc/conform/data/math.h-data
fsf/trunk/libc/conform/data/monetary.h-data
fsf/trunk/libc/conform/data/mqueue.h-data
fsf/trunk/libc/conform/data/ndbm.h-data
fsf/trunk/libc/conform/data/netdb.h-data
fsf/trunk/libc/conform/data/pthread.h-data
fsf/trunk/libc/conform/data/pwd.h-data
fsf/trunk/libc/conform/data/regex.h-data
fsf/trunk/libc/conform/data/sched.h-data
fsf/trunk/libc/conform/data/search.h-data
fsf/trunk/libc/conform/data/semaphore.h-data
fsf/trunk/libc/conform/data/setjmp.h-data
fsf/trunk/libc/conform/data/signal.h-data
fsf/trunk/libc/conform/data/spawn.h-data
fsf/trunk/libc/conform/data/stdio.h-data
fsf/trunk/libc/conform/data/stdlib.h-data
fsf/trunk/libc/conform/data/string.h-data
fsf/trunk/libc/conform/data/strings.h-data
fsf/trunk/libc/conform/data/sys/ipc.h-data
fsf/trunk/libc/conform/data/sys/msg.h-data
fsf/trunk/libc/conform/data/sys/resource.h-data
fsf/trunk/libc/conform/data/sys/sem.h-data
fsf/trunk/libc/conform/data/sys/shm.h-data
fsf/trunk/libc/conform/data/sys/socket.h-data
fsf/trunk/libc/conform/data/sys/stat.h-data
fsf/trunk/libc/conform/data/sys/time.h-data
fsf/trunk/libc/conform/data/sys/types.h-data
fsf/trunk/libc/conform/data/sys/uio.h-data
fsf/trunk/libc/conform/data/sys/wait.h-data
fsf/trunk/libc/conform/data/syslog.h-data
fsf/trunk/libc/conform/data/tar.h-data
fsf/trunk/libc/conform/data/termios.h-data
fsf/trunk/libc/conform/data/time.h-data
fsf/trunk/libc/conform/data/ulimit.h-data
fsf/trunk/libc/conform/data/unistd.h-data
fsf/trunk/libc/conform/data/utmpx.h-data
fsf/trunk/libc/conform/data/wchar.h-data
fsf/trunk/libc/conform/data/wctype.h-data
fsf/trunk/libc/conform/data/wordexp.h-data
fsf/trunk/libc/dirent/dirent.h
fsf/trunk/libc/include/features.h
fsf/trunk/libc/io/fcntl.h
fsf/trunk/libc/locale/C-address.c
fsf/trunk/libc/locale/C-collate.c
fsf/trunk/libc/locale/C-ctype.c
fsf/trunk/libc/locale/C-identification.c
fsf/trunk/libc/locale/C-measurement.c
fsf/trunk/libc/locale/C-messages.c
fsf/trunk/libc/locale/C-monetary.c
fsf/trunk/libc/locale/C-name.c
fsf/trunk/libc/locale/C-numeric.c
fsf/trunk/libc/locale/C-paper.c
fsf/trunk/libc/locale/C-telephone.c
fsf/trunk/libc/locale/C-time.c
fsf/trunk/libc/locale/findlocale.c
fsf/trunk/libc/locale/global-locale.c
fsf/trunk/libc/locale/loadarchive.c
fsf/trunk/libc/locale/loadlocale.c
fsf/trunk/libc/locale/localeinfo.h
fsf/trunk/libc/locale/nl_langinfo_l.c
fsf/trunk/libc/locale/setlocale.c
fsf/trunk/libc/locale/xlocale.c
fsf/trunk/libc/locale/xlocale.h
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
fsf/trunk/libc/posix/confstr.c
fsf/trunk/libc/stdio-common/vfscanf.c
fsf/trunk/libc/stdlib/stdlib.h
fsf/trunk/libc/stdlib/strfmon_l.c
fsf/trunk/libc/stdlib/strtod_l.c
fsf/trunk/libc/stdlib/strtol_l.c
fsf/trunk/libc/string/strcoll_l.c
fsf/trunk/libc/string/string.h
fsf/trunk/libc/string/strxfrm_l.c
fsf/trunk/libc/sysdeps/mach/hurd/bits/stat.h
fsf/trunk/libc/sysdeps/unix/bsd/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/ia64/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/ia64/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/powerpc/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/stat.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/stat.h
fsf/trunk/libc/time/alt_digit.c
fsf/trunk/libc/time/asctime.c
fsf/trunk/libc/time/era.c
fsf/trunk/libc/time/lc-time-cleanup.c
fsf/trunk/libc/time/strftime_l.c
fsf/trunk/libc/time/strptime_l.c
fsf/trunk/libc/wcsmbs/wcsmbsload.c
fsf/trunk/libc/wcsmbs/wcsmbsload.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sun Jan 10 00:02:53 2010
@@ -1,3 +1,135 @@
+2010-01-09 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * conform/conformtest.pl: Update for XPG7 and some bug fixes.
+ * conform/data/ctype.h-data: Likewise.
+ * conform/data/dirent.h-data: Likewise.
+ * conform/data/errno.h-data: Likewise.
+ * conform/data/fcntl.h-data: Likewise.
+ * conform/data/fmtmsg.h-data: Likewise.
+ * conform/data/fnmatch.h-data: Likewise.
+ * conform/data/ftw.h-data: Likewise.
+ * conform/data/glob.h-data: Likewise.
+ * conform/data/grp.h-data: Likewise.
+ * conform/data/iconv.h-data: Likewise.
+ * conform/data/langinfo.h-data: Likewise.
+ * conform/data/libgen.h-data: Likewise.
+ * conform/data/limits.h-data: Likewise.
+ * conform/data/locale.h-data: Likewise.
+ * conform/data/math.h-data: Likewise.
+ * conform/data/monetary.h-data: Likewise.
+ * conform/data/mqueue.h-data: Likewise.
+ * conform/data/ndbm.h-data: Likewise.
+ * conform/data/netdb.h-data: Likewise.
+ * conform/data/pthread.h-data: Likewise.
+ * conform/data/pwd.h-data: Likewise.
+ * conform/data/regex.h-data: Likewise.
+ * conform/data/sched.h-data: Likewise.
+ * conform/data/search.h-data: Likewise.
+ * conform/data/semaphore.h-data: Likewise.
+ * conform/data/setjmp.h-data: Likewise.
+ * conform/data/signal.h-data: Likewise.
+ * conform/data/spawn.h-data: Likewise.
+ * conform/data/stdio.h-data: Likewise.
+ * conform/data/stdlib.h-data: Likewise.
+ * conform/data/string.h-data: Likewise.
+ * conform/data/strings.h-data: Likewise.
+ * conform/data/sys/ipc.h-data: Likewise.
+ * conform/data/sys/msg.h-data: Likewise.
+ * conform/data/sys/resource.h-data: Likewise.
+ * conform/data/sys/sem.h-data: Likewise.
+ * conform/data/sys/shm.h-data: Likewise.
+ * conform/data/sys/socket.h-data: Likewise.
+ * conform/data/sys/stat.h-data: Likewise.
+ * conform/data/sys/time.h-data: Likewise.
+ * conform/data/sys/types.h-data: Likewise.
+ * conform/data/sys/uio.h-data: Likewise.
+ * conform/data/sys/wait.h-data: Likewise.
+ * conform/data/syslog.h-data: Likewise.
+ * conform/data/tar.h-data: Likewise.
+ * conform/data/termios.h-data: Likewise.
+ * conform/data/time.h-data: Likewise.
+ * conform/data/ulimit.h-data: Likewise.
+ * conform/data/unistd.h-data: Likewise.
+ * conform/data/utmpx.h-data: Likewise.
+ * conform/data/wchar.h-data: Likewise.
+ * conform/data/wctype.h-data: Likewise.
+ * conform/data/wordexp.h-data: Likewise.
+
+ * io/fcntl.h: Define mode_t macros instead of including sys/stat.h.
+ * sysdeps/unix/bsd/bits/stat.h: Enable using from fcntl.h.
+ * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
+ * sysdeps/unix/sysv/bits/stat.h: Likewise.
+ * sysdeps/mach/hurd/bits/stat.h: Likewise.
+
+ * stdlib/stdlib.h: Define wait-related bits for XPG7.
+ Don't declare valloc, mktemp, ecvt, fcvt, gcvt for XPG6 and up.
+ Declare mkstemp and getsubopt for XPG7.
+ Declare posix_openpt for XPG6 XSI.
+
+ * include/features.h: Define __USE_XOPEN2KXSI for _XOPEN_SOURCE >= 600
+ and __USE_XOPEN2K8XSI for _XOPEN_SOURCE >= 700.
+
+ * string/string.h: Declare strdup for XPG7.
+
+2010-01-08 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * bits/confname.h: Define _CS_V6_ENV and _CS_V7_ENV.
+ * posix/confstr.c: Implement _CS_V6_ENV and _CS_V7_ENV.
+
+ * dirent/dirent.h: Really fix feature selection.
+
+ * locale/localeinfo.h: Rename struct locale_data to __locale_data.
+ Fix all users.
+ * locale/C-address.c: Fix all users.
+ * locale/C-collate.c: Likewise.
+ * locale/C-ctype.c: Likewise.
+ * locale/C-identification.c: Likewise.
+ * locale/C-measurement.c: Likewise.
+ * locale/C-messages.c: Likewise.
+ * locale/C-monetary.c: Likewise.
+ * locale/C-name.c: Likewise.
+ * locale/C-numeric.c: Likewise.
+ * locale/C-paper.c: Likewise.
+ * locale/C-telephone.c: Likewise.
+ * locale/C-time.c: Likewise.
+ * locale/findlocale.c: Likewise.
+ * locale/global-locale.c: Likewise.
+ * locale/loadarchive.c: Likewise.
+ * locale/loadlocale.c: Likewise.
+ * locale/nl_langinfo_l.c: Likewise.
+ * locale/setlocale.c: Likewise.
+ * locale/xlocale.c: Likewise.
+ * locale/xlocale.h: Likewise.
+ * stdio-common/vfscanf.c: Likewise.
+ * stdlib/strfmon_l.c: Likewise.
+ * stdlib/strtod_l.c: Likewise.
+ * stdlib/strtol_l.c: Likewise.
+ * string/strcoll_l.c: Likewise.
+ * string/strxfrm_l.c: Likewise.
+ * time/alt_digit.c: Likewise.
+ * time/asctime.c: Likewise.
+ * time/era.c: Likewise.
+ * time/lc-time-cleanup.c: Likewise.
+ * time/strftime_l.c: Likewise.
+ * time/strptime_l.c: Likewise.
+ * wcsmbs/wcsmbsload.c: Likewise.
+ * wcsmbs/wcsmbsload.h: Likewise.
+
+ * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Define O_DIRECTORY,
+ O_NOFOLLOW, O_CLOEXEC, F_DUPFD_CLOEXEC, F_SETOWN, and F_GETOWN
+ for XPG7.
+ * sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/bits/fcntl.h: Likewise.
+ * sysdeps/unix/sysv/linux/s390/bits/fcntl.h: Likewise.
+
2010-01-07 Roland McGrath <roland@xxxxxxxxxx>
* elf/elf.h (PN_XNUM): New macro.
Modified: fsf/trunk/libc/bits/confname.h
==============================================================================
--- fsf/trunk/libc/bits/confname.h (original)
+++ fsf/trunk/libc/bits/confname.h Sun Jan 10 00:02:53 2010
@@ -1,5 +1,5 @@
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
- Copyright (C) 1993,1995-1998,2000,2001,2003,2004,2007,2009
+ Copyright (C) 1993,1995-1998,2000,2001,2003,2004,2007,2009,2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -669,4 +669,9 @@
#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+
+ _CS_V6_ENV,
+#define _CS_V6_ENV _CS_V6_ENV
+ _CS_V7_ENV,
+#define _CS_V7_ENV _CS_V7_ENV
};
Modified: fsf/trunk/libc/conform/conformtest.pl
==============================================================================
--- fsf/trunk/libc/conform/conformtest.pl (original)
+++ fsf/trunk/libc/conform/conformtest.pl Sun Jan 10 00:02:53 2010
@@ -1,6 +1,7 @@
#! /usr/bin/perl
use Getopt::Long;
+use POSIX;
$CC = "gcc";
@@ -30,7 +31,8 @@
}
if ($dialect ne "ISO" && $dialect ne "POSIX" && $dialect ne "XPG3"
- && $dialect ne "XPG4" && $dialect ne "UNIX98" && $dialect ne "XOPEN2K") {
+ && $dialect ne "XPG4" && $dialect ne "UNIX98" && $dialect ne "XOPEN2K"
+ && $dialect ne "XOPEN2K8" && $dialect ne "POSIX2008") {
die "unknown dialect \"$dialect\"";
}
@@ -40,6 +42,8 @@
$CFLAGS{"XPG4"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE_EXTENDED";
$CFLAGS{"UNIX98"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=500";
$CFLAGS{"XOPEN2K"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=600";
+$CFLAGS{"XOPEN2K8"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_XOPEN_SOURCE=700";
+$CFLAGS{"POSIX2008"} = "-I. -fno-builtin '-D__attribute__(x)=' -D_POSIX_C_SOURCE=200809L";
# These are the ISO C99 keywords.
@@ -71,7 +75,10 @@
$isknown{pop (@knownproblems)} = 1;
}
-$tmpdir = "/tmp";
+$uid = getuid();
+($pwname,$pwpasswd,$pwuid,$pwgid,
+ $pwquota,$pwcomment,$pwgcos,$pwdir,$pwshell,$pwexpire) = getpwuid($uid);
+$tmpdir = "$pwdir";
$verbose = 1;
@@ -660,9 +667,6 @@
$maybe_opaque = 1;
}
- # Remember that this name is allowed.
- push @allow, $type;
-
# Generate a program to test for the availability of this constant.
open (TESTFILE, ">$fnamebase.c");
print TESTFILE "$prepend";
@@ -690,9 +694,6 @@
$maybe_opaque = 1;
}
- # Remember that this name is allowed.
- push @allow, $type;
-
# Generate a program to test for the availability of this type.
open (TESTFILE, ">$fnamebase.c");
print TESTFILE "$prepend";
@@ -702,6 +703,27 @@
} else {
print TESTFILE "$type a;\n";
}
+ close (TESTFILE);
+
+ compiletest ($fnamebase, "Testing for type $type",
+ "Type \"$type\" not available.", $missing, 0);
+ } elsif (/^tag *({([^}]*)|([a-zA-Z0-9_]*))/) {
+ my($type) = "$2$3";
+
+ # Remember that this name is allowed.
+ if ($type =~ /^struct *(.*)/) {
+ push @allow, $1;
+ } elsif ($type =~ /^union *(.*)/) {
+ push @allow, $1;
+ } else {
+ push @allow, $type;
+ }
+
+ # Generate a program to test for the availability of this type.
+ open (TESTFILE, ">$fnamebase.c");
+ print TESTFILE "$prepend";
+ print TESTFILE "#include <$h>\n";
+ print TESTFILE "$type;\n";
close (TESTFILE);
compiletest ($fnamebase, "Testing for type $type",
Modified: fsf/trunk/libc/conform/data/ctype.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/ctype.h-data (original)
+++ fsf/trunk/libc/conform/data/ctype.h-data Sun Jan 10 00:02:53 2010
@@ -12,7 +12,7 @@
function int tolower (int)
function int toupper (int)
-#ifndef ISO
+#if !defined ISO && !defined POSIX && !defined POSIX2008
function int isascii (int)
function int toascii (int)
@@ -26,4 +26,22 @@
allow to*
allow *_t
+
+# if defined XOPEN2K8 || defined XOPEN2K8 || defined POSIX2008
+type locale_t
+
+function int isalnum_l (int, locale_t)
+function int isalpha_l (int, locale_t)
+function int iscntrl_l (int, locale_t)
+function int isdigit_l (int, locale_t)
+function int isgraph_l (int, locale_t)
+function int islower_l (int, locale_t)
+function int isprint_l (int, locale_t)
+function int ispunct_l (int, locale_t)
+function int isspace_l (int, locale_t)
+function int isupper_l (int, locale_t)
+function int isxdigit_l (int, locale_t)
+function int tolower_l (int, locale_t)
+function int toupper_l (int, locale_t)
+# endif
#endif
Modified: fsf/trunk/libc/conform/data/dirent.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/dirent.h-data (original)
+++ fsf/trunk/libc/conform/data/dirent.h-data Sun Jan 10 00:02:53 2010
@@ -3,7 +3,9 @@
type {struct dirent}
+# if !defined POSIX && !defined POSIX2008
element {struct dirent} ino_t d_ino
+# endif
element {struct dirent} char d_name []
type ino_t
@@ -13,9 +15,18 @@
function {struct dirent*} readdir (DIR*)
function int readdir_r (DIR*, struct dirent*, struct dirent**)
function void rewinddir (DIR*)
+# if !defined POSIX && !defined POSIX2008
function void seekdir (DIR*, long int)
function {long int} telldir (DIR*)
+# endif
allow d_*
allow *_t
+
+# if defined XOPEN2K8 || defined POSIX2008
+function int alphasort (const struct dirent**, const struct dirent**)
+function int dirfd (DIR*)
+function int scandir (const char*, struct dirent***, int(*)(const struct dirent*), int(*)(const struct dirent**,const struct dirent **))
+function {DIR*} fdopendir (int)
+# endif
#endif
Modified: fsf/trunk/libc/conform/data/errno.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/errno.h-data (original)
+++ fsf/trunk/libc/conform/data/errno.h-data Sun Jan 10 00:02:53 2010
@@ -79,6 +79,11 @@
constant EWOULDBLOCK
constant EXDEV
+# if defined XOPEN2K8 || defined POSIX2008
+constant ENOTRECOVERABLE
+constant EOWNERDEAD
+# endif
+
// variable int errno
allow errno
Modified: fsf/trunk/libc/conform/data/fcntl.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/fcntl.h-data (original)
+++ fsf/trunk/libc/conform/data/fcntl.h-data Sun Jan 10 00:02:53 2010
@@ -60,9 +60,11 @@
constant S_IXOTH
constant S_ISUID
constant S_ISGID
+#if !defined POSIX && !defined POSIX2008
constant S_ISVTX
+#endif
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
constant POSIX_FADV_NORMAL
constant POSIX_FADV_SEQUENTIAL
constant POSIX_FADV_RANDOM
@@ -86,9 +88,30 @@
function int creat (const char*, mode_t)
function int fcntl (int, int, ...)
function int open (const char*, int, ...)
-#ifdef XOPEN2K
+#if defined XOPEN2K8 || defined POSIX2008
+function int openat (int, const char*, int, ...)
+#endif
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int posix_fadvise (int, off_t, off_t, int)
function int posix_fallocate (int, off_t, off_t)
+#endif
+
+#if defined XOPEN2K8 || defined POSIX2008
+constant O_TTY_INIT
+constant O_CLOEXEC
+constant O_EXEC
+constant O_SEARCH
+constant O_DIRECTORY
+constant O_NOFOLLOW
+constant FD_CLOEXEC
+constant F_DUPFD_CLOEXEC
+constant AT_FDCWD
+constant AT_EACCESS
+constant AT_SYMLINK_NOFOLLOW
+constant AT_SYMLINK_FOLLOW
+constant AT_REMOVEDIR
+
+function int openat(int, const char*, int, ...)
#endif
allow-header sys/stat.h
@@ -99,4 +122,8 @@
allow O_*
allow S_*
allow *_t
+
+allow timespec
+allow tv_nsec
+allow tv_sec
#endif
Modified: fsf/trunk/libc/conform/data/fmtmsg.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/fmtmsg.h-data (original)
+++ fsf/trunk/libc/conform/data/fmtmsg.h-data Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined POSIX && !defined POSIX2008
macro MM_HARD
constant MM_HARD
Modified: fsf/trunk/libc/conform/data/fnmatch.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/fnmatch.h-data (original)
+++ fsf/trunk/libc/conform/data/fnmatch.h-data Sun Jan 10 00:02:53 2010
@@ -3,7 +3,9 @@
constant FNM_PATHNAME
constant FNM_PERIOD
constant FNM_NOESCAPE
+#if !defined XOPEN2K8 && !defined POSIX2008
constant FNM_NOSYS
+#endif
function int fnmatch (const char*, const char*, int)
Modified: fsf/trunk/libc/conform/data/ftw.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/ftw.h-data (original)
+++ fsf/trunk/libc/conform/data/ftw.h-data Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type {struct FTW}
element {struct FTW} int base
element {struct FTW} int level
Modified: fsf/trunk/libc/conform/data/glob.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/glob.h-data (original)
+++ fsf/trunk/libc/conform/data/glob.h-data Sun Jan 10 00:02:53 2010
@@ -15,7 +15,9 @@
constant GLOB_ABORTED
constant GLOB_NOMATCH
constant GLOB_NOSPACE
+# if !defined XOPEN2K8 && !defined POSIX2008
constant GLOB_NOSYS
+# endif
function int glob (const char*, int, int (*) (const char*, int), glob_t*)
function void globfree (glob_t *)
Modified: fsf/trunk/libc/conform/data/grp.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/grp.h-data (original)
+++ fsf/trunk/libc/conform/data/grp.h-data Sun Jan 10 00:02:53 2010
@@ -7,6 +7,9 @@
# ifndef POSIX
type gid_t
# endif
+# if defined XOPEN2K8 || defined POSIX2008
+type size_t
+# endif
function {struct group*} getgrgid (gid_t)
function {struct group*} getgrnam (const char*)
@@ -15,7 +18,9 @@
function int getgrnam_r (const char *, struct group *, char *, size_t, struct group**)
function {struct group*} getgrent (void)
function void endgrent (void)
+# ifndef POSIX2008
function void setgrent (void)
+# endif
# endif
allow gr_*
Modified: fsf/trunk/libc/conform/data/iconv.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/iconv.h-data (original)
+++ fsf/trunk/libc/conform/data/iconv.h-data Sun Jan 10 00:02:53 2010
@@ -1,5 +1,8 @@
#if !defined ISO && !defined POSIX
type iconv_t
+# if defined XOPEN2K8 || defined POSIX2008
+type size_t
+# endif
function iconv_t iconv_open (const char*, const char*)
function size_t iconv (iconv_t, char**, size_t*, char**, size_t*)
Modified: fsf/trunk/libc/conform/data/langinfo.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/langinfo.h-data (original)
+++ fsf/trunk/libc/conform/data/langinfo.h-data Sun Jan 10 00:02:53 2010
@@ -55,7 +55,15 @@
constant NOEXPR
constant CRNCYSTR
+type nl_item
+# if defined XOPEN2K8 || defined POSIX2008
+type locale_t
+# endif
+
function {char*} nl_langinfo (nl_item)
+# if defined XOPEN2K8 || defined POSIX2008
+function {char*} nl_langinfo_l (nl_item, locale_t)
+# endif
allow-header nl_types.h
Modified: fsf/trunk/libc/conform/data/libgen.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/libgen.h-data (original)
+++ fsf/trunk/libc/conform/data/libgen.h-data Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined POSIX && !defined POSIX2008
function {char*} basename (char*)
function {char*} dirname (char*)
Modified: fsf/trunk/libc/conform/data/limits.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/limits.h-data (original)
+++ fsf/trunk/libc/conform/data/limits.h-data Sun Jan 10 00:02:53 2010
@@ -11,7 +11,9 @@
allow MQ_OPEN_MAX
allow OPEN_MAX
allow PAGESIZE
+#if !defined POSIX && !defined POSIX2008
allow PAGE_SIZE
+#endif
allow PTHREAD_DESTRUCTOR_ITERATIONS
allow PTHREAD_KEYS_MAX
allow PTHREAD_STACK_MIN
@@ -131,12 +133,18 @@
optional-constant CHARCLASS_NAME_MAX >= 14
optional-constant NL_ARGMAX >= 9
+#if !defined POSIX && !defined POSIX2008
optional-constant NL_LANGMAX >= 14
+#endif
optional-constant NL_MSGMAX >= 32767
+#if !defined XOPEN2K8 && !defined POSIX2008
optional-constant NL_NMAX
+#endif
optional-constant NL_SETMAX >= 255
optional-constant NL_TEXTMAX
+#if !defined POSIX && !defined POSIX2008
optional-constant NZERO >= 20
+#endif
optional-constant TMP_MAX >= 10000
allow *_MAX
Modified: fsf/trunk/libc/conform/data/locale.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/locale.h-data (original)
+++ fsf/trunk/libc/conform/data/locale.h-data Sun Jan 10 00:02:53 2010
@@ -17,7 +17,7 @@
element {struct lconv} char p_sep_by_space
element {struct lconv} char p_sign_posn
element {struct lconv} {char*} thousands_sep
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
element {struct lconv} char int_n_cs_precedes
element {struct lconv} char int_n_sep_by_space
element {struct lconv} char int_n_sign_posn
@@ -36,8 +36,31 @@
macro LC_NUMERIC
macro LC_TIME
+#if defined XOPEN2K8 || defined POSIX2008
+constant LC_GLOBAL_LOCALE
+
+macro LC_COLLATE_MASK
+macro LC_CTYPE_MASK
+macro LC_MESSAGES_MASK
+macro LC_MONETARY_MASK
+macro LC_NUMERIC_MASK
+macro LC_TIME_MASK
+macro LC_ALL_MASK
+
+type locale_t
+#endif
+
function {struct lconv*} localeconv (void)
function {char*} setlocale (int, const char*)
+#if defined XOPEN2K8 || defined POSIX2008
+function locale_t duplocale (locale_t)
+function void freelocale (locale_t)
+function locale_t newlocale (int, const char*, locale_t)
+function locale_t uselocale (locale_t)
+#endif
allow LC_*
allow *_t
+#if defined XOPEN2K8 || defined POSIX2008
+allow LC_*_MASK
+#endif
Modified: fsf/trunk/libc/conform/data/math.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/math.h-data (original)
+++ fsf/trunk/libc/conform/data/math.h-data Sun Jan 10 00:02:53 2010
@@ -12,6 +12,7 @@
macro islessgreater
macro isunordered
+# ifndef POSIX2008
constant M_E
constant M_LOG2E
constant M_LOG10E
@@ -27,6 +28,7 @@
constant M_SQRT1_2
constant MAXFLOAT
+# endif
constant HUGE_VAL
constant HUGE_VALF
constant HUGE_VALL
@@ -79,14 +81,18 @@
function double erfc (double)
function double gamma (double)
function double hypot (double, double)
+#if !defined POSIX && !defined POSIX2008
function double j0 (double)
function double j1 (double)
function double jn (int, double)
+#endif
function double lgamma (double)
function double tgamma (double)
+#if !defined POSIX && !defined POSIX2008
function double y0 (double)
function double y1 (double)
function double yn (int, double)
+#endif
function int isnan (double)
function double acosh (double)
function double asinh (double)
@@ -117,8 +123,10 @@
function double fma (double, double, double)
function double nan (const char*)
+#if !defined POSIX && !defined POSIX2008
// variable signgam
allow signgam
+#endif
#if !defined ISO && !defined POSIX
function float acosf (float)
Modified: fsf/trunk/libc/conform/data/monetary.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/monetary.h-data (original)
+++ fsf/trunk/libc/conform/data/monetary.h-data Sun Jan 10 00:02:53 2010
@@ -1,8 +1,14 @@
#if !defined ISO && !defined POSIX
type size_t
type ssize_t
+# if defined XOPEN2K8 || defined POSIX2008
+type locale_t
+# endif
function ssize_t strfmon (char*, size_t, const char*, ...)
+# if defined XOPEN2K8 || defined POSIX2008
+function ssize_t strfmon_l (char*, size_t, locale_t, const char*, ...)
+# endif
allow *_t
#endif
Modified: fsf/trunk/libc/conform/data/mqueue.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/mqueue.h-data (original)
+++ fsf/trunk/libc/conform/data/mqueue.h-data Sun Jan 10 00:02:53 2010
@@ -18,9 +18,17 @@
function int mq_send (mqd_t, const char*, size_t, unsigned int)
function int mq_setattr (mqd_t, const struct mq_attr*, struct mq_attr*)
function int mq_unlink (const char*)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
optional-function ssize_t mq_timedreceive (mqd_t, char*, size_t, unsigned int*, const struct timespec*)
optional-function int mq_timedsend (mqd_t, const char*, size_t, unsigned int, const struct timespec*)
+#endif
+
+#if defined XOPEN2K8 || defined POSIX2008
+type pthread_attr_t
+type size_t
+type ssize_t
+type {struct timespec}
+type {struct sigevent}
#endif
allow-header fcntl.h
Modified: fsf/trunk/libc/conform/data/ndbm.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/ndbm.h-data (original)
+++ fsf/trunk/libc/conform/data/ndbm.h-data Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type datum
element datum {void*} dptr
element datum size_t dsize
Modified: fsf/trunk/libc/conform/data/netdb.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/netdb.h-data (original)
+++ fsf/trunk/libc/conform/data/netdb.h-data Sun Jan 10 00:02:53 2010
@@ -34,6 +34,7 @@
macro IPPORT_RESERVED
+#if !defined XOPEN2K8 && !defined POSIX2008
// variable int h_errno
allow h_errno
@@ -41,6 +42,7 @@
macro NO_DATA
macro NO_RECOVERY
macro TRY_AGAIN
+#endif
type {struct addrinfo}
element {struct addrinfo} int ai_flags
Modified: fsf/trunk/libc/conform/data/pthread.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/pthread.h-data (original)
+++ fsf/trunk/libc/conform/data/pthread.h-data Sun Jan 10 00:02:53 2010
@@ -24,6 +24,10 @@
macro PTHREAD_MUTEX_INITIALIZER
constant PTHREAD_MUTEX_RECURSIVE
macro PTHREAD_RWLOCK_INITIALIZER
+# endif
+# if defined XOPEN2K8 || defined POSIX2008
+constant PTHREAD_MUTEX_ROBUST
+constant PTHREAD_MUTEX_STALLED
# endif
type pthread_attr_t
@@ -90,7 +94,7 @@
function int pthread_detach (pthread_t)
function int pthread_equal (pthread_t, pthread_t)
function void pthread_exit (void*)
-# ifndef POSIX
+# if !defined POSIX && !defined POSIX2008
function int pthread_getconcurrency (void)
# endif
function int pthread_getcpuclockid (pthread_t, clockid_t*)
@@ -135,12 +139,12 @@
function pthread_t pthread_self (void)
function int pthread_setcancelstate (int, int*)
function int pthread_setcanceltype (int, int*)
-# ifndef POSIX
+# if !defined POSIX && !defined POSIX2008
function int pthread_setconcurrency (int)
# endif
function int pthread_setschedparam (pthread_t, int, const struct sched_param*)
function int pthread_setspecific (pthread_key_t, const void*)
-#ifndef XOPEN2K
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
#endif
function int pthread_spin_destroy (pthread_spinlock_t*)
@@ -149,6 +153,11 @@
function int pthread_spin_trylock (pthread_spinlock_t*)
function int pthread_spin_unlock (pthread_spinlock_t*)
function void pthread_testcancel (void)
+# if defined XOPEN2K8 || defined POSIX2008
+function int pthread_mutex_consistent (pthread_mutex_t *)
+function int pthread_mutexattr_getrobust (__const pthread_mutexattr_t*, int*)
+function int pthread_mutexattr_setrobust (pthread_mutexattr_t*, int)
+# endif
allow-header sched.h
allow-header time.h
Modified: fsf/trunk/libc/conform/data/pwd.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/pwd.h-data (original)
+++ fsf/trunk/libc/conform/data/pwd.h-data Sun Jan 10 00:02:53 2010
@@ -9,15 +9,20 @@
# ifndef POSIX
type uid_t
type gid_t
+# if defined XOPEN2K8 || defined POSIX2008
+type size_t
+# endif
# endif
function {struct passwd*} getpwnam (const char*)
function {struct passwd*} getpwuid (uid_t)
function int getpwnam_r (const char*, struct passwd*, char*, size_t, struct passwd**)
function int getpwuid_r (uid_t, struct passwd*, char*, size_t, struct passwd**)
+# ifndef POSIX2008
function void endpwent (void)
function {struct passwd*} getpwent (void)
function void setpwent (void)
+# endif
allow pw_*
allow *_t
Modified: fsf/trunk/libc/conform/data/regex.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/regex.h-data (original)
+++ fsf/trunk/libc/conform/data/regex.h-data Sun Jan 10 00:02:53 2010
@@ -28,7 +28,9 @@
constant REG_BADBR
constant REG_ESPACE
constant REG_BADRPT
+# if !defined XOPEN2K8 && !defined POSIX2008
constant REG_ENOSYS
+# endif
function int regcomp (regex_t*, const char*, int)
function int regexec (const regex_t*, const char*, size_t, regmatch_t[], int)
Modified: fsf/trunk/libc/conform/data/sched.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sched.h-data (original)
+++ fsf/trunk/libc/conform/data/sched.h-data Sun Jan 10 00:02:53 2010
@@ -5,6 +5,12 @@
optional-element {struct sched_param} {struct timespec} sched_ss_repl_period
optional-element {struct sched_param} {struct timespec} sched_ss_init_budget
optional-element {struct sched_param} int sched_ss_max_repl
+
+# if defined XOPEN2K8 || defined POSIX2008
+type pid_t
+type time_t
+type {struct timespec}
+# endif
constant SCHED_FIFO
constant SCHED_RR
Modified: fsf/trunk/libc/conform/data/search.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/search.h-data (original)
+++ fsf/trunk/libc/conform/data/search.h-data Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-#if !defined ISO && !defined POSIX
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type ENTRY
type {struct entry}
element {struct entry} {char*} key
Modified: fsf/trunk/libc/conform/data/semaphore.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/semaphore.h-data (original)
+++ fsf/trunk/libc/conform/data/semaphore.h-data Sun Jan 10 00:02:53 2010
@@ -14,7 +14,7 @@
function int sem_unlink (const char*)
function int sem_wait (sem_t*)
-# if !defined POSIX
+# ifndef POSIX
allow-header fcntl.h
allow-header sys/types.h
# endif
Modified: fsf/trunk/libc/conform/data/setjmp.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/setjmp.h-data (original)
+++ fsf/trunk/libc/conform/data/setjmp.h-data Sun Jan 10 00:02:53 2010
@@ -6,7 +6,7 @@
function void longjmp (jmp_buf, int)
#ifndef ISO
function void siglongjmp (sigjmp_buf, int)
-# ifndef POSIX
+# if !defined POSIX && !defined POSIX2008
function void _longjmp (jmp_buf, int)
# endif
#endif
@@ -14,7 +14,7 @@
macro-function int setjmp (jmp_buf)
#ifndef ISO
macro-function int sigsetjmp (sigjmp_buf, int)
-# ifndef POSIX
+# if !defined POSIX && !defined POSIX2008
macro-function int _setjmp (jmp_buf)
# endif
#endif
Modified: fsf/trunk/libc/conform/data/signal.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/signal.h-data (original)
+++ fsf/trunk/libc/conform/data/signal.h-data Sun Jan 10 00:02:53 2010
@@ -6,6 +6,20 @@
type sig_atomic_t
type sigset_t
type pid_t
+#if defined XOPEN2K8 || defined POSIX2008
+type size_t
+type pthread_t
+type uid_t
+
+type mcontext_t
+
+type ucontext_t
+
+element ucontext_t {ucontext_t*} uc_link
+element ucontext_t sigset_t uc_sigmask
+element ucontext_t stack_t uc_stack
+element ucontext_t mcontext_t uc_mcontext
+#endif
element {union sigval} int sival_int
element {union sigval} {void*} sival_ptr
@@ -52,7 +66,9 @@
constant SIGPOLL
constant SIGPROF
constant SIGSYS
+#if !defined POSIX && !defined POSIX2008
constant SIGTRAP
+#endif
constant SIGURG
constant SIGVTALRM
constant SIGXCPU
@@ -69,16 +85,20 @@
constant SIG_BLOCK
constant SIG_UNBLOCK
constant SIG_SETMASK
+#if !defined POSIX && !defined POSIX2008
constant SA_ONSTACK
+#endif
constant SA_RESETHAND
constant SA_RESTART
constant SA_SIGINFO
constant SA_NOCLDWAIT
constant SA_NODEFER
+#if !defined POSIX && !defined POSIX2008
constant SS_ONSTACK
constant SS_DISABLE
constant MINSIGSTKSZ
constant SIGSTKSZ
+#endif
type ucontext_t
@@ -101,7 +121,9 @@
type siginfo_t
element siginfo_t int si_signo
+#if !defined POSIX && !defined POSIX2008
element siginfo_t int si_errno
+#endif
element siginfo_t int si_code
element siginfo_t pid_t si_pid
element siginfo_t uid_t si_uid
@@ -153,32 +175,46 @@
function void (*bsd_signal (int, void(*)(int)))(int)
function int kill (pid_t, int)
+#if !defined POSIX && !defined POSIX2008
function int killpg (pid_t, int)
+#endif
function int pthread_kill (pthread_t, int)
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
function int raise (int)
function int sigaction (int, const struct sigaction*, struct sigaction*)
function int sigaddset (sigset_t*, int)
+#if !defined POSIX && !defined POSIX2008
function int sigaltstack (const stack_t*, stack_t*)
+#endif
function int sigdelset (sigset_t*, int)
function int sigemptyset (sigset_t*)
function int sigfillset (sigset_t*)
+#if !defined POSIX && !defined POSIX2008
function int sighold (int)
function int sigignore (int)
function int siginterrupt (int, int)
+#endif
function int sigismember (const sigset_t*, int)
function void (*signal (int, void(*)(int)))(int)
+#if !defined POSIX && !defined POSIX2008
function int sigpause (int)
+#endif
function int sigpending (sigset_t*)
function int sigprocmask (int, const sigset_t*, sigset_t*)
function int sigqueue (pid_t, int, const union sigval)
+#if !defined POSIX && !defined POSIX2008
function int sigrelse (int)
function void (*sigset (int, void(*)(int)))(int)
+#endif
function int sigstack (struct sigstack*, struct sigstack*)
function int sigsuspend (const sigset_t*)
function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
function int sigwait (const sigset_t*, int*)
function int sigwaitinfo (const sigset_t*, siginfo_t*)
+#if defined XOPEN2K8 || defined POSIX2008
+function void psiginfo (const siginfo_t*, const char*)
+function void psignal (int, const char*)
+#endif
// The following expressions are not entirely correct but the current
// poorfnmatch implementation doesn't grok the right form.
Modified: fsf/trunk/libc/conform/data/spawn.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/spawn.h-data (original)
+++ fsf/trunk/libc/conform/data/spawn.h-data Sun Jan 10 00:02:53 2010
@@ -1,6 +1,12 @@
#ifndef ISO
type posix_spawnattr_t
type posix_spawn_file_actions_t
+# if defined XOPEN2K8 || defined POSIX2008
+type mode_t
+type pid_t
+type sigset_t
+type {struct sched_param}
+# endif
constant POSIX_SPAWN_RESETIDS
constant POSIX_SPAWN_SETPGROUP
Modified: fsf/trunk/libc/conform/data/stdio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stdio.h-data (original)
+++ fsf/trunk/libc/conform/data/stdio.h-data Sun Jan 10 00:02:53 2010
@@ -7,7 +7,9 @@
constant _IONBF
constant L_ctermid
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
constant L_cuserid
+#endif
constant L_tmpnam
constant SEEK_CUR
@@ -20,7 +22,9 @@
constant NULL
+#if !defined POSIX && !defined POSIX2008
constant P_tmpdir
+#endif
macro stdin
macro stdout
@@ -30,10 +34,16 @@
type fpos_t
type va_list
type size_t
+#if defined XOPEN2K8 || defined POSIX2008
+type off_t
+#endif
function void clearerr (FILE*)
function {char*} ctermid (char*)
function {char*} cuserid (char*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int dprintf (int, const char*, ...)
+#endif
function int fclose (FILE*)
function {FILE*} fdopen (int, const char*)
function int feof (FILE*)
@@ -44,6 +54,9 @@
function {char*} fgets (char*, int, FILE*)
function int fileno (FILE*)
function void flockfile (FILE*)
+#if defined XOPEN2K8 || defined POSIX2008
+function {FILE*} fmemopen (void*, size_t, const char*)
+#endif
function {FILE*} fopen (const char*, const char*)
function int fprintf (FILE*, const char*, ...)
function int fputc (int, FILE*)
@@ -63,12 +76,19 @@
function int getchar (void)
function int getc_unlocked (FILE*)
function int getchar_unlocked ()
-#ifndef XOPEN2K
+#if defined XOPEN2K8 || defined POSIX2008
+function ssize_t getdelim (char**, size_t*, int, FILE*)
+function ssize_t getline (char**, size_t*, FILE*)
+#endif
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
function int getopt (int, char *const[], const char *)
#endif
function {char*} gets (char*)
-#ifndef XOPEN2K
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
function int getw (FILE*)
+#endif
+#if defined XOPEN2K8 || defined POSIX2008
+function {FILE*} open_memstream (char**, size_t*)
#endif
function int pclose (FILE*)
function void perror (const char*)
@@ -79,11 +99,14 @@
function int putc_unlocked (int, FILE*)
function int putchar_unlocked (int)
function int puts (const char*)
-#ifndef XOPEN2K
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
function int putw (int, FILE*)
#endif
function int remove (const char*)
function int rename (const char*, const char*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int renameat (int, const char*, int, const char*)
+#endif
function void rewind (FILE*)
function int scanf (const char*, ...)
function void setbuf (FILE*, char*)
@@ -91,26 +114,31 @@
function int snprintf (char*, size_t, const char*, ...)
function int sprintf (char *, const char *, ...)
function int sscanf (const char*, const char*, ...)
+#if !defined POSIX && !defined POSIX2008
function {char*} tempnam (const char*, const char*)
+#endif
function {FILE*} tmpfile (void)
function {char*} tmpnam (char*)
function int ungetc (int, FILE*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int vdprintf (int, const char*, va_list)
+#endif
function int vfprintf (FILE*, const char*, va_list)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int vfscanf (FILE*, const char*, va_list)
#endif
function int vprintf (const char*, va_list)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int vscanf (const char*, va_list)
#endif
function int vsnprintf (char*, size_t, const char*, va_list)
function int vsprintf (char*, const char*, va_list)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int vsscanf (const char*, const char*, va_list)
#endif
#if !defined ISO && !defined POSIX
-#ifndef XOPEN2K
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
variable {char*} optarg
variable int opterr
variable int optind
Modified: fsf/trunk/libc/conform/data/stdlib.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/stdlib.h-data (original)
+++ fsf/trunk/libc/conform/data/stdlib.h-data Sun Jan 10 00:02:53 2010
@@ -10,7 +10,7 @@
type ldiv_t
element ldiv_t long quot
element ldiv_t long rem
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
type lldiv_t
element lldiv_t {long long} quot
element lldiv_t {long long} rem
@@ -29,77 +29,116 @@
macro WTERMSIG
function void _Exit (int)
+#if !defined POSIX && !defined POSIX2008
function long a64l (const char*)
+#endif
function void abort (void)
function int abs (int)
function int atexit (void(*)(void))
function double atof (const char*)
function int atoi (const char*)
function {long int} atol (const char*)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function {long long} atoll (const char*)
#endif
function {void*} bsearch (const void*, const void*, size_t, size_t, int(*)(const void*, const void*))
function {void*} calloc (size_t, size_t)
function div_t div (int, int)
+#if !defined POSIX && !defined POSIX2008
function double drand48 (void)
+#endif
+#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
function {char*} ecvt (double, int, int*, int*)
+#endif
+#if !defined POSIX && !defined POSIX2008
function double erand48 (unsigned short int[3])
+#endif
function void exit (int)
+#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
function {char*} fcvt (double, int, int*, int*)
+#endif
function void free (void*)
+#if !defined POSIX && !defined XOPEN2K8 && !defined POSIX2008
function {char*} gcvt (double, int, char*)
+#endif
function {char*} getenv (const char*)
function int getsubopt (char**, char *const*, char**)
+#if !defined POSIX && !defined POSIX2008
function int grantpt (int)
function {char*} initstate (unsigned int, char*, size_t)
function {long int} jrand48 (unsigned short int[3])
function {char*} l64a (long)
+#endif
function {long int} labs (long int)
+#if !defined POSIX && !defined POSIX2008
function void lcong48 (unsigned short int[7])
+#endif
function ldiv_t ldiv (long int, long int)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function {long long} llabs (long long)
function lldiv_t lldiv (long long, long long)
#endif
+#if !defined POSIX && !defined POSIX2008
function {long int} lrand48 (void)
+#endif
function {void*} malloc (size_t)
function int mblen (const char*, size_t)
function size_t mbstowcs (wchar_t*, const char*, size_t)
function int mbtowc (wchar_t*, const char*, size_t)
+#if defined XOPEN2K8 || defined POSIX2008
+function {char*} mkdtemp (char*)
+#endif
+#if !defined XOPEN2K8 && !defined POSIX2008
function {char*} mktemp (char*)
+#endif
function int mkstemp (char*)
+#if !defined POSIX && !defined POSIX2008
function {long int} mrand48 (void)
function {long int} nrand48 (unsigned short int[3])
+#endif
function int posix_memalign (void**, size_t, size_t)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8
function int posix_openpt (int)
#endif
+#if !defined POSIX && !defined POSIX2008
function {char*} ptsname (int)
function int putenv (char*)
+#endif
function void qsort (void*, size_t, size_t, int(*)(const void*, const void*))
function int rand (void)
function int rand_r (unsigned int*)
+#if !defined POSIX && !defined POSIX2008
function long random (void)
+#endif
function {void*} realloc (void*, size_t)
+#if !defined POSIX && !defined POSIX2008
function {char*} realpath (const char*, char*)
function {unsigned short int*} seed48 (unsigned short int[3])
+#endif
function int setenv (const char*, const char*, int)
+#if !defined POSIX && !defined POSIX2008
function void setkey (const char*)
function {char*} setstate (char*)
+#endif
function void srand (unsigned int)
+#if !defined POSIX && !defined POSIX2008
function void srand48 (long int)
function void srandom (unsigned)
+#endif
function double strtod (const char*, char**)
function {long int} strtol (const char*, char**, int)
function {unsigned long int} strtoul (const char*, char**, int)
function int system (const char*)
-#ifndef XOPEN2K
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
function int ttyslot (void)
#endif
+#if !defined POSIX && !defined POSIX2008
function int unlockpt (int)
+#endif
function int unsetenv (const char*)
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
function {void*} valloc (size_t)
+#endif
function size_t wcstombs (char*, const wchar_t*, size_t)
function int wctomb (char*, wchar_t)
Modified: fsf/trunk/libc/conform/data/string.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/string.h-data (original)
+++ fsf/trunk/libc/conform/data/string.h-data Sun Jan 10 00:02:53 2010
@@ -1,35 +1,61 @@
constant NULL
type size_t
+#if defined XOPEN2K8 || defined POSIX2008
+type locale_t
+#endif
+#if !defined POSIX && !defined POSIX2008
function {void*} memccpy (void*, const void*, int, size_t)
+#endif
function {void*} memchr (const void*, int, size_t)
function int memcmp (const void*, const void*, size_t)
function {void*} memcpy (void*, const void*, size_t)
function {void*} memmove (void*, const void*, size_t)
function {void*} memset (void*, int, size_t)
+#if defined XOPEN2K8 || defined POSIX2008
+function {char*} stpcpy (char*, const char*)
+function {char*} stpncpy (char*, const char*, size_t)
+
+#endif
function {char*} strcat (char*, const char*)
function {char*} strchr (const char*, int)
function int strcmp (const char*, const char*)
function int strcoll (const char*, const char*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int strcoll_l (const char*, const char*, locale_t)
+#endif
function {char*} strcpy (char*, const char*)
function size_t strcspn (const char*, const char*)
function {char*} strdup (const char*)
function {char*} strerror (int)
-#ifdef XOPEN2K
+#if defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
function int strerror_r (int, char*, size_t)
+#endif
+#if defined XOPEN2K8 || defined POSIX2008
+function {char*} strerror_l (int, locale_t)
#endif
function size_t strlen (const char*)
function {char*} strncat (char*, const char*, size_t)
function int strncmp (const char*, const char*, size_t)
function {char*} strncpy (char*, const char*, size_t)
+#if defined XOPEN2K8 || defined POSIX2008
+function {char*} strndup (const char*, size_t)
+function size_t strnlen (const char*, size_t)
+#endif
function {char*} strpbrk (const char*, const char*)
function {char*} strrchr (const char*, int)
+#if defined XOPEN2K8 || defined POSIX2008
+function {char*} strsignal (int)
+#endif
function size_t strspn (const char*, const char*)
function {char*} strstr (const char*, const char*)
function {char*} strtok (char*, const char*)
function {char*} strtok_r (char*, const char*, char**)
function size_t strxfrm (char*, const char*, size_t)
+#if defined XOPEN2K8 || defined POSIX2008
+function size_t strxfrm_l (char*, const char*, size_t, locale_t)
+#endif
allow-header stddef.h
Modified: fsf/trunk/libc/conform/data/strings.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/strings.h-data (original)
+++ fsf/trunk/libc/conform/data/strings.h-data Sun Jan 10 00:02:53 2010
@@ -1,12 +1,21 @@
function int bcmp (const void*, const void*, size_t)
function void bcopy (const void*, void*, size_t)
function void bzero (void*, size_t)
+#if !defined POSIX && !defined POSIX2008
function int ffs (int)
+#endif
function {char*} index (const char*, int)
function {char*} rindex (const char*, int)
function int strcasecmp (const char*, const char*)
function int strncasecmp (const char*, const char*, size_t)
+#if defined XOPEN2K8 || defined POSIX2008
+function int strcasecmp_l (const char*, const char*, locale_t)
+function int strncasecmp_l (const char*, const char*, size_t, locale_t)
+#endif
type size_t
+#if defined XOPEN2K8 || defined POSIX2008
+type locale_t
+#endif
allow *_t
Modified: fsf/trunk/libc/conform/data/sys/ipc.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/ipc.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/ipc.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type {struct ipc_perm}
element {struct ipc_perm} uid_t uid
@@ -26,3 +27,4 @@
allow ipc_*
allow IPC_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/msg.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/msg.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/msg.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type {struct msqid_ds}
type msgqnum_t
@@ -30,3 +31,4 @@
allow msg*
allow MSG*
allow *_h
+#endif
Modified: fsf/trunk/libc/conform/data/sys/resource.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/resource.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/resource.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
constant PRIO_PROCESS
constant PRIO_PGRP
constant PRIO_USER
@@ -48,3 +49,4 @@
allow RLIMIT_*
allow RUSAGE_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/sem.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/sem.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/sem.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
constant SEM_UNDO
constant GETNCNT
@@ -35,3 +36,4 @@
allow sem*
allow SEM_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/shm.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/shm.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/shm.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
constant SHM_RDONLY
symbol SHMLBA
constant SHM_RND
@@ -30,3 +31,4 @@
allow shm*
allow SHM*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/socket.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/socket.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/socket.h-data Sun Jan 10 00:02:53 2010
@@ -2,6 +2,11 @@
type socklen_t
type sa_family_t
+
+# if defined XOPEN2K8 || defined POSIX2008
+type size_t
+type ssize_t
+# endif
type {struct sockaddr}
@@ -76,6 +81,9 @@
macro MSG_PEEK
macro MSG_TRUNC
macro MSG_WAITALL
+# if defined XOPEN2K8 || defined POSIX2008
+constant MSG_NOSIGNAL
+# endif
macro AF_UNIX
macro AF_UNSPEC
Modified: fsf/trunk/libc/conform/data/sys/stat.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/stat.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/stat.h-data Sun Jan 10 00:02:53 2010
@@ -8,13 +8,17 @@
element {struct stat} nlink_t st_nlink
element {struct stat} uid_t st_uid
element {struct stat} gid_t st_gid
+#if !defined POSIX && !defined POSIX2008
element {struct stat} dev_t st_rdev
+#endif
element {struct stat} off_t st_size
element {struct stat} time_t st_atime
element {struct stat} time_t st_mtime
element {struct stat} time_t st_ctime
+#if !defined POSIX && !defined POSIX2008
element {struct stat} blksize_t st_blksize
element {struct stat} blkcnt_t st_blocks
+#endif
type blkcnt_t
type blksize_t
@@ -26,7 +30,13 @@
type gid_t
type off_t
type time_t
+# ifdef XOPEN2K8
+type {struct timespec}
+element {struct timespec} time_t tv_sec
+element {struct timespec} long tv_nsec
+# endif
+#if !defined POSIX && !defined POSIX2008
constant S_IFMT
constant S_IFBLK
constant S_IFCHR
@@ -34,6 +44,8 @@
constant S_IFREG
constant S_IFDIR
constant S_IFLNK
+constant S_IFSOCK
+#endif
constant S_IRWXU
constant S_IRUSR
@@ -48,14 +60,20 @@
constant S_IXOTH
constant S_ISUID
constant S_ISGID
+#if !defined POSIX && !defined POSIX2008
constant S_ISVTX
+#endif
+#if !defined POSIX && !defined POSIX2008
+macro S_IFMT
macro S_ISBLK
macro S_ISCHR
macro S_ISDIR
macro S_ISFIFO
macro S_ISREG
macro S_ISLNK
+macro S_IFSOCK
+#endif
// How to represent optional tests?
optional-macro S_TYPEISMQ
@@ -63,15 +81,41 @@
optional-macro S_TYPEISSHM
optional-macro S_TYPEISTMO
+# if defined XOPEN2K8 || defined POSIX2008
+constant UTIME_NOW
+constant UTIME_OMIT
+# endif
+
function int chmod (const char*, mode_t)
function int fchmod (int, mode_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int fchmodat (int, const char*, mode_t, int)
+# endif
function int fstat (int, struct stat*)
+# if defined XOPEN2K8 || defined POSIX2008
+function int fstatat (int, const char*, struct stat*, int)
+function int futimens (int, const struct timespec[2])
+# endif
function int lstat (const char*, struct stat*)
function int mkdir (const char*, mode_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int mkdirat (int, const char*, mode_t)
+# endif
function int mkfifo (const char*, mode_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int mkfifoat (int, const char*, mode_t)
+# endif
+# if !defined POSIX && !defined POSIX2008
function int mknod (const char*, mode_t, dev_t)
+# endif
+# if defined XOPEN2K8 || defined POSIX2008
+function int mknodat (int, const char*, mode_t, dev_t)
+# endif
function int stat (const char*, struct stat*)
function mode_t umask (mode_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int utimensat (int, const char*, const struct timespec[2], int)
+# endif
allow st_*
allow S_*
Modified: fsf/trunk/libc/conform/data/sys/time.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/time.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/time.h-data Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-#ifndef ISO
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type {struct timeval}
element {struct timeval} time_t tv_sec
Modified: fsf/trunk/libc/conform/data/sys/types.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/types.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/types.h-data Sun Jan 10 00:02:53 2010
@@ -1,14 +1,19 @@
+#ifndef ISO
type blkcnt_t
type blksize_t
type clock_t
type clockid_t
type dev_t
+# if !defined POSIX && !defined POSIX2008
type fsblkcnt_t
type fsfilcnt_t
+# endif
type gid_t
type id_t
type ino_t
+# if !defined POSIX && !defined POSIX2008
type key_t
+# endif
type mode_t
type nlink_t
type off_t
@@ -28,10 +33,13 @@
type pthread_t
type size_t
type ssize_t
+# if !defined POSIX && !defined POSIX2008
type suseconds_t
+# endif
type time_t
type timer_t
type uid_t
type useconds_t
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/sys/uio.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/uio.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/uio.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type {struct iovec}
element {struct iovec} {void*} iov_base
@@ -10,3 +11,4 @@
allow IOV_*
allow *_t
allow UIO_MAXIOV
+#endif
Modified: fsf/trunk/libc/conform/data/sys/wait.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/sys/wait.h-data (original)
+++ fsf/trunk/libc/conform/data/sys/wait.h-data Sun Jan 10 00:02:53 2010
@@ -1,8 +1,11 @@
+#ifndef ISO
constant WNOHANG
constant WUNTRACED
macro WEXITSTATUS
+# if !defined POSIX && !defined POSIX2008
macro WIFCONTINUED
+# endif
macro WIFEXITED
macro WIFSIGNALED
macro WIFSTOPPED
@@ -11,7 +14,9 @@
constant WEXITED
constant WSTOPPED
+# if !defined POSIX && !defined POSIX2008
constant WCONTINUED
+# endif
constant WNOHANG
constant WNOWAIT
@@ -62,3 +67,4 @@
allow SI_
allow TRAP_
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/syslog.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/syslog.h-data (original)
+++ fsf/trunk/libc/conform/data/syslog.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
constant LOG_PID
constant LOG_CONS
constant LOG_NDELAY
@@ -40,3 +41,4 @@
allow LOG_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/tar.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/tar.h-data (original)
+++ fsf/trunk/libc/conform/data/tar.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#ifndef ISO
macro-str TMAGIC "ustar"
constant TMAGLEN 6
macro-str TVERSION "00"
@@ -15,7 +16,9 @@
constant TSUID 04000
constant TSGID 02000
+# if !defined POSIX && !defined POSIX2008
constant TSVTX 01000
+# endif
constant TUREAD 00400
constant TUWRITE 00200
constant TUEXEC 00100
@@ -27,3 +30,4 @@
constant TOEXEC 00001
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/termios.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/termios.h-data (original)
+++ fsf/trunk/libc/conform/data/termios.h-data Sun Jan 10 00:02:53 2010
@@ -1,8 +1,13 @@
+#ifndef ISO
type cc_t
type speed_t
type tcflag_t
type {struct termios}
+
+#if defined XOPEN2K8 || defined POSIX2008
+type pid_t
+#endif
element {struct termios} tcflag_t c_iflag
element {struct termios} tcflag_t c_oflag
@@ -32,18 +37,24 @@
constant INLCR
constant INPCK
constant ISTRIP
+# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
constant IUCLC
+# <endif
constant IXANY
constant IXOFF
constant IXON
constant PARMRK
constant OPOST
+# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
constant OLCUC
+# endif
+# if !defined POSIX && !defined POSIX2008
constant ONLCR
constant OCRNL
constant ONOCR
constant ONLRET
+constant OFDEL
constant OFILL
constant NLDLY
constant NL0
@@ -67,6 +78,7 @@
constant FFDLY
constant FF0
constant FF1
+# endif
constant B0
constant B50
@@ -106,7 +118,9 @@
constant ISIG
constant NOFLSH
constant TOSTOP
+# if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
constant XCASE
+# endif
constant TCSANOW
constant TCSADRAIN
@@ -157,3 +171,4 @@
allow TC*
allow B*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/time.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/time.h-data (original)
+++ fsf/trunk/libc/conform/data/time.h-data Sun Jan 10 00:02:53 2010
@@ -11,7 +11,7 @@
element {struct tm} int tm_isdst
constant NULL
-#ifndef XOPEN2K
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
constant CLK_TCK
#endif
constant CLOCKS_PER_SEC
@@ -38,6 +38,12 @@
type time_t
type timer_t
+#if defined XOPEN2K8 || defined POSIX2008
+type pid_t
+type locale_t
+tag {struct sigevent}
+#endif
+
variable int getdate_err
function {char*} asctime (const struct tm*)
@@ -51,7 +57,9 @@
function {char*} ctime (const time_t*)
function {char*} ctime_r (const time_t*, char*)
function double difftime (time_t, time_t)
+#if !defined POSIX && !defined POSIX2008
function {struct tm*} getdate (const char*)
+#endif
function {struct tm*} gmtime (const time_t*)
function {struct tm*} gmtime_r (const time_t*, struct tm*)
function {struct tm*} localtime (const time_t*)
@@ -59,7 +67,12 @@
function time_t mktime (struct tm*)
function int nanosleep (const struct timespec*, struct timespec*)
function size_t strftime (char*, size_t, const char*, const struct tm*)
+#if defined XOPEN2K8 || defined POSIX2008
+function size_t strftime_l (char*, size_t, const char*, const struct tm*, locale_t)
+#endif
+#if !defined POSIX && !defined POSIX2008
function {char*} strptime (const char*, const char*, struct tm*)
+#endif
function time_t time (time_t*)
function int timer_create (clockid_t, struct sigevent*, timer_t*)
function int timer_delete (timer_t)
@@ -68,8 +81,10 @@
function int timer_settime (timer_t, int, const struct itimerspec*, struct itimerspec*)
function void tzset (void)
+#if !defined POSIX && !defined POSIX2008
variable int daylight
variable {long int} timezone
+#endif
variable {char*} tzname [2]
allow tm_*
Modified: fsf/trunk/libc/conform/data/ulimit.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/ulimit.h-data (original)
+++ fsf/trunk/libc/conform/data/ulimit.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
constant UL_GETFSIZE
constant UL_SETFSIZE
@@ -5,3 +6,4 @@
allow UL_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/unistd.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/unistd.h-data (original)
+++ fsf/trunk/libc/conform/data/unistd.h-data Sun Jan 10 00:02:53 2010
@@ -41,10 +41,24 @@
optional-constant _POSIX_THREAD_SAFE_FUNCTIONS
optional-constant _POSIX_THREAD_SPORADIC_SERVER
+# ifdef XOPEN2K
+optional-constant _POSIX_V6_ILP32_OFF32
+optional-constant _POSIX_V6_ILP32_OFFBIG
+optional-constant _POSIX_V6_LP64_OFF64
+optional-constant _POSIX_V6_LPBIG_OFFBIG
+# endif
+# if defined XOPEN2K8 || defined POSIX2008
+optional-constant _POSIX_V7_ILP32_OFF32
+optional-constant _POSIX_V7_ILP32_OFFBIG
+optional-constant _POSIX_V7_LP64_OFF64
+optional-constant _POSIX_V7_LPBIG_OFFBIG
+# endif
+
optional-constant _POSIX2_C_DEV
optional-constant _POSIX2_FORT_DEV
optional-constant _POSIX2_FORT_RUN
optional-constant _POSIX2_SW_DEV
+# if !defined POSIX && !defined POSIX2008
optional-constant _XOPEN_CRYPT
optional-constant _XOPEN_ENH_I18N
optional-constant _XOPEN_LEGACY
@@ -52,6 +66,7 @@
optional-constant _XOPEN_REALTIME_THREADS
optional-constant _XOPEN_SHM
optional-constant _XOPEN_STREAMS
+# endif
allow _XBS5_ILP32_OFF32
allow _XBS5_ILP32_OFBIG
allow _XBS5_LP64_OFF64
@@ -88,6 +103,8 @@
optional-constant _POSIX2_PBS_LOCATE
optional-constant _POSIX2_PBS_MESSAGE
optional-constant _POSIX2_PBS_TRACK
+
+optional-constant _POSIX_TIMESTAMP_RESOLUTION
constant NULL
@@ -219,7 +236,20 @@
constant _SC_TZNAME_MAX
constant _SC_USER_GROUPS
constant _SC_USER_GROUPS_R
+# ifdef XOPEN2K
+constant _SC_V6_ILP32_OFF32
+constant _SC_V6_ILP32_OFFBIG
+constant _SC_V6_LP64_OFF64
+constant _SC_V6_LPBIG_OFFBIG
+# endif
+# if defined XOPEN2K8 || defined POSIX2008
+constant _SC_V7_ILP32_OFF32
+constant _SC_V7_ILP32_OFFBIG
+constant _SC_V7_LP64_OFF64
+constant _SC_V7_LPBIG_OFFBIG
+# endif
constant _SC_VERSION
+# if !defined POSIX && !defined POSIX2008
constant _SC_XOPEN_VERSION
constant _SC_XOPEN_CRYPT
constant _SC_XOPEN_ENH_I18N
@@ -229,11 +259,46 @@
constant _SC_XOPEN_LEGACY
constant _SC_XOPEN_REALTIME
constant _SC_XOPEN_REALTIME_THREADS
+# endif
constant _SC_STREAMS
constant _SC_XBS5_ILP32_OFF32
constant _SC_XBS5_ILP32_OFFBIG
constant _SC_XBS5_LP64_OFF64
constant _SC_XBS5_LPBIG_OFFBIG
+# ifdef XOPEN2K
+constant _CS_POSIX_V6_ILP32_OFF32_CFLAGS
+constant _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+constant _CS_POSIX_V6_ILP32_OFF32_LIBS
+constant _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+constant _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+constant _CS_POSIX_V6_ILP32_OFFBIG_LIBS
+constant _CS_POSIX_V6_LP64_OFF64_CFLAGS
+constant _CS_POSIX_V6_LP64_OFF64_LDFLAGS
+constant _CS_POSIX_V6_LP64_OFF64_LIBS
+constant _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+constant _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+constant _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+constant _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
+constant _CS_V6_ENV
+# endif
+# if defined XOPEN2K8 || defined POSIX2008
+constant _CS_POSIX_V7_ILP32_OFF32_CFLAGS
+constant _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+constant _CS_POSIX_V7_ILP32_OFF32_LIBS
+constant _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+constant _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+constant _CS_POSIX_V7_ILP32_OFFBIG_LIBS
+constant _CS_POSIX_V7_LP64_OFF64_CFLAGS
+constant _CS_POSIX_V7_LP64_OFF64_LDFLAGS
+constant _CS_POSIX_V7_LP64_OFF64_LIBS
+constant _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+constant _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+constant _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+constant _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
+constant _CS_V7_ENV
+# endif
+constant _SC_THREAD_ROBUST_PRIO_INHERIT
+constant _SC_THREAD_ROBUST_PRIO_PROTECT
constant F_LOCK
constant F_ULOCK
@@ -283,14 +348,18 @@
function int chown (const char*, uid_t, gid_t)
function int close (int)
function size_t confstr (int, char*, size_t)
+#if !defined POSIX && !defined POSIX2008
function {char*} crypt (const char*, const char*)
+#endif
function {char*} ctermid (char*)
#if defined XPG3 || defined XPG4 || defined UNIX98
function {char*} cuserid (char*)
#endif
function int dup (int)
function int dup2 (int, int)
+#if !defined POSIX && !defined POSIX2008
function void encrypt (char[64], int)
+#endif
function int execl (const char*, const char*, ...)
function int execle (const char*, const char*, ...)
function int execlp (const char*, const char*, ...)
@@ -298,9 +367,18 @@
function int execve (const char*, char *const[], char *const[])
function int execvp (const char*, char *const[])
function void _exit (int)
+# if defined XOPEN2K8 || defined POSIX2008
+function int faccessat (int, const char*, int, int)
+# endif
function int fchown (int, uid_t, gid_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function int fchownat (int, const char*, uid_t, gid_t, int)
+# endif
function int fchdir (int)
function int fdatasync (int)
+# if defined XOPEN2K8 || defined POSIX2008
+function int fexecve (int, char *const[], char *const[])
+# endif
function pid_t fork (void)
function {long int} fpathconf (int, int)
function int fsync (int)
@@ -311,7 +389,9 @@
function uid_t geteuid (void)
function gid_t getgid (void)
function int getgroups (int, gid_t[])
+#if !defined POSIX && !defined POSIX2008
function long gethostid (void)
+#endif
function int gethostname (char*, size_t)
function {char*} getlogin (void)
function int getlogin_r (char*, size_t)
@@ -330,34 +410,53 @@
function int isatty (int)
function int lchown (const char*, uid_t, gid_t)
function int link (const char*, const char*)
+# if defined XOPEN2K8 || defined POSIX2008
+function int linkat (int, const char*, int, const char*, int)
+# endif
+# if !defined POSIX && !defined POSIX2008
function int lockf (int, int, off_t)
+# endif
function off_t lseek (int, off_t, int)
+# if !defined POSIX && !defined POSIX2008
function int nice (int)
+# endif
function {long int} pathconf (const char*, int)
function int pause (void)
function int pipe (int[2])
function ssize_t pread (int, void*, size_t, off_t)
-#ifndef XOPEN2K
+#if !defined XOPEN2K && !defined XOPEN2K8 && !defined POSIX2008
function int pthread_atfork (void(*)(void), void(*)(void), void(*)(void))
#endif
function ssize_t pwrite (int, const void*, size_t, off_t)
function ssize_t read (int, void*, size_t)
function ssize_t readlink (const char*, char*, size_t)
+# if defined XOPEN2K8 || defined POSIX2008
+function ssize_t readlinkat (int, const char*, char*, size_t)
+# endif
function int rmdir (const char*)
function {void*} sbrk (intptr_t)
function int setegid (gid_t)
function int seteuid (uid_t)
function int setgid (gid_t)
function int setpgid (pid_t, pid_t)
+# if !defined POSIX && !defined POSIX2008
function pid_t setpgrp (void)
function int setregid (gid_t, gid_t)
function int setreuid (uid_t, uid_t)
+# endif
function pid_t setsid (void)
function int setuid (uid_t)
function {unsigned int} sleep (unsigned int)
+# if !defined POSIX && !defined POSIX2008
function void swab (const void*, void*, ssize_t)
+# endif
function int symlink (const char*, const char*)
+# if defined XOPEN2K8 || defined POSIX2008
+function int symlinkat (const char*, int, const char*)
+# endif
+# if !defined POSIX && !defined POSIX2008
function void sync (void)
+# endif
function {long int} sysconf (int)
function pid_t tcgetpgrp (int)
function int tcsetpgrp (int, pid_t)
@@ -366,6 +465,9 @@
function int ttyname_r (int, char*, size_t)
function useconds_t ualarm (useconds_t, useconds_t)
function int unlink (const char*)
+# if defined XOPEN2K8 || defined POSIX2008
+function int unlinkat (int, const char*, int)
+# endif
function int usleep (useconds_t)
function pid_t vfork (void)
function ssize_t write (int, const void*, size_t)
Modified: fsf/trunk/libc/conform/data/utmpx.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/utmpx.h-data (original)
+++ fsf/trunk/libc/conform/data/utmpx.h-data Sun Jan 10 00:02:53 2010
@@ -1,3 +1,4 @@
+#if !defined ISO && !defined POSIX && !defined POSIX2008
type {struct utmpx}
element {struct utmpx} char ut_user []
@@ -34,3 +35,4 @@
allow ut_*
allow *_t
+#endif
Modified: fsf/trunk/libc/conform/data/wchar.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/wchar.h-data (original)
+++ fsf/trunk/libc/conform/data/wchar.h-data Sun Jan 10 00:02:53 2010
@@ -1,14 +1,19 @@
type wchar_t
type wint_t
+# if !defined ISO && !defined POSIX && !defined POSIX2008
type wctype_t
+#endif
type mbstate_t
type FILE
type size_t
+#if defined XOPEN2K8 || defined POSIX2008
+type locale_t
+#endif
function wint_t btowc (int)
function int fwprintf (FILE*, const wchar_t*, ...)
function int fwscanf (FILE*, const wchar_t*, ...)
-#if !ISO
+#if !defined ISO && !defined POSIX && !defined POSIX2008
function int iswalnum (wint_t)
function int iswalpha (wint_t)
function int iswcntrl (wint_t)
@@ -32,13 +37,21 @@
function int mbsinit (const mbstate_t*)
function size_t mbrlen (const char*, size_t, mbstate_t*)
function size_t mbrtowc (wchar_t*, const char*, size_t, mbstate_t*)
+#if defined XOPEN2K8 || defined POSIX2008
+function size_t mbsnrtowcs (wchar_t*, const char**, size_t, size_t, mbstate_t*)
+#endif
function size_t mbsrtowcs (wchar_t*, const char**, size_t, mbstate_t*)
+#if defined XOPEN2K8 || defined POSIX2008
+function {FILE*} open_wmemstream (wchar_t**, size_t*)
+#endif
function wint_t putwc (wchar_t, FILE*)
function wint_t putwchar (wchar_t)
function int swprintf (wchar_t*, size_t, const wchar_t*, ...)
function int swscanf (const wchar_t*, const wchar_t*, ...)
+#if !defined ISO && !defined POSIX && !defined POSIX2008
function wint_t towlower (wint_t)
function wint_t towupper (wint_t)
+#endif
function wint_t ungetwc (wint_t, FILE*)
function int vfwprintf (FILE*, const wchar_t*, va_list)
function int vfwscanf (FILE*, const wchar_t*, va_list)
@@ -46,18 +59,40 @@
function int vwscanf (const wchar_t*, va_list)
function int vswprintf (wchar_t*, size_t, const wchar_t*, va_list)
function int vswscanf (const wchar_t*, const wchar_t*, va_list)
+#if defined XOPEN2K8 || defined POSIX2008
+function {wchar_t*} wcpcpy (wchar_t*, const wchar_t*)
+function {wchar_t*} wcpncpy (wchar_t*, const wchar_t*, size_t)
+#endif
function size_t wcrtomb (char*, wchar_t, mbstate_t*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int wcscasecmp(const wchar_t*, const wchar_t*)
+function int wcscasecmp_l(const wchar_t*, const wchar_t*, locale_t)
+#endif
function {wchar_t*} wcscat (wchar_t*, const wchar_t*)
function {wchar_t*} wcschr (const wchar_t*, wchar_t)
function int wcscmp (const wchar_t*, const wchar_t*)
function int wcscoll (const wchar_t*, const wchar_t*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int wcscoll_l (const wchar_t*, const wchar_t*, locale_t)
+#endif
function {wchar_t*} wcscpy (wchar_t*, const wchar_t*)
function size_t wcscspn (const wchar_t*, const wchar_t*)
+#if defined XOPEN2K8 || defined POSIX2008
+function {wchar_t*} wcsdup (const wchar_t*)
+#endif
function size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*)
function size_t wcslen (const wchar_t*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int wcsncasecmp (const wchar_t*, const wchar_t*, size_t)
+function int wcsncasecmp_l (const wchar_t*, const wchar_t*, size_t, locale_t)
+#endif
function {wchar_t*} wcsncat (wchar_t*, const wchar_t*, size_t)
function int wcsncmp (const wchar_t*, const wchar_t*, size_t)
function {wchar_t*} wcsncpy (wchar_t*, const wchar_t*, size_t)
+#if defined XOPEN2K8 || defined POSIX2008
+function size_t wcsnlen (const wchar_t*, size_t)
+function size_t wcsnrtombs (char*, const wchar_t**, size_t, size_t, mbstate_t*)
+#endif
function {wchar_t*} wcspbrk (const wchar_t*, const wchar_t*)
function {wchar_t*} wcsrchr (const wchar_t*, wchar_t)
function size_t wcsrtombs (char*, const wchar_t**, size_t, mbstate_t*)
@@ -68,11 +103,18 @@
function {long int} wcstol (const wchar_t*, wchar_t**, int)
function {unsigned long int} wcstoul (const wchar_t*, wchar_t**, int)
function {wchar_t*} wcswcs (const wchar_t*, const wchar_t*)
+#if !defined ISO && !defined POSIX && !defined POSIX2008
function int wcswidth (const wchar_t*, size_t)
+#endif
function size_t wcsxfrm (wchar_t*, const wchar_t*, size_t)
+#if defined XOPEN2K8 || defined POSIX2008
+function size_t wcsxfrm_l (wchar_t*, const wchar_t*, size_t, locale_t)
+#endif
function int wctob (wint_t)
+#if !defined ISO && !defined POSIX && !defined POSIX2008
function wctype_t wctype (const char*)
function int wcwidth (wchar_t)
+#endif
function {wchar_t*} wmemchr (const wchar_t*, wchar_t, size_t)
function int wmemcmp (const wchar_t*, const wchar_t*, size_t)
function {wchar_t*} wmemcpy (wchar_t*, const wchar_t*, size_t)
Modified: fsf/trunk/libc/conform/data/wctype.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/wctype.h-data (original)
+++ fsf/trunk/libc/conform/data/wctype.h-data Sun Jan 10 00:02:53 2010
@@ -1,6 +1,9 @@
type wint_t
type wctrans_t
type wctype_t
+#if defined XOPEN2K8 || defined POSIX2008
+type locale_t
+#endif
function int iswalnum (wint_t)
function int iswalpha (wint_t)
@@ -19,6 +22,25 @@
function wint_t towupper (wint_t)
function wctrans_t wctrans (const char*)
function wctype_t wctype (const char*)
+#if defined XOPEN2K8 || defined POSIX2008
+function int iswalnum_l (wint_t, locale_t)
+function int iswalpha_l (wint_t, locale_t)
+function int iswcntrl_l (wint_t, locale_t)
+function int iswdigit_l (wint_t, locale_t)
+function int iswgraph_l (wint_t, locale_t)
+function int iswlower_l (wint_t, locale_t)
+function int iswprint_l (wint_t, locale_t)
+function int iswpunct_l (wint_t, locale_t)
+function int iswspace_l (wint_t, locale_t)
+function int iswupper_l (wint_t, locale_t)
+function int iswxdigit_l (wint_t, locale_t)
+function int iswctype_l (wint_t, wctype_t, locale_t)
+function wint_t towctrans_l (wint_t, wctrans_t, locale_t)
+function wint_t towlower_l (wint_t, locale_t)
+function wint_t towupper_l (wint_t, locale_t)
+function wctrans_t wctrans_l (const char*, locale_t)
+function wctype_t wctype_l (const char*, locale_t)
+#endif
macro WEOF
Modified: fsf/trunk/libc/conform/data/wordexp.h-data
==============================================================================
--- fsf/trunk/libc/conform/data/wordexp.h-data (original)
+++ fsf/trunk/libc/conform/data/wordexp.h-data Sun Jan 10 00:02:53 2010
@@ -14,7 +14,9 @@
constant WRDE_BADCHAR
constant WRDE_CMDSUB
constant WRDE_NOSPACE
+#if defined XOPEN2K8 || defined POSIX2008
constant WRDE_NOSYS
+#endif
constant WRDE_SYNTAX
function int wordexp (const char*, wordexp_t*, int)
Modified: fsf/trunk/libc/dirent/dirent.h
==============================================================================
--- fsf/trunk/libc/dirent/dirent.h (original)
+++ fsf/trunk/libc/dirent/dirent.h Sun Jan 10 00:02:53 2010
@@ -218,7 +218,7 @@
extern long int telldir (DIR *__dirp) __THROW __nonnull ((1));
#endif
-#if defined __USE_BSD || defined __USE_MISC || defined __XOPEN2K8
+#if defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN2K8
/* Return the file descriptor used by DIRP. */
extern int dirfd (DIR *__dirp) __THROW __nonnull ((1));
Modified: fsf/trunk/libc/include/features.h
==============================================================================
--- fsf/trunk/libc/include/features.h (original)
+++ fsf/trunk/libc/include/features.h Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1993,1995-2006,2007,2009 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1993,1995-2007,2009,2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -66,7 +66,8 @@
__USE_XOPEN_EXTENDED Define X/Open Unix things.
__USE_UNIX98 Define Single Unix V2 things.
__USE_XOPEN2K Define XPG6 things.
- __USE_XOPEN2K8 Define XPG7 things.
+ __USE_XOPEN2KXSI Define XPG6 XSI things.
+ __USE_XOPEN2K8XSI Define XPG7 XSI things.
__USE_LARGEFILE Define correct standard I/O things.
__USE_LARGEFILE64 Define LFS things with separate names.
__USE_FILE_OFFSET64 Define 64bit interface as default.
@@ -102,7 +103,9 @@
#undef __USE_XOPEN_EXTENDED
#undef __USE_UNIX98
#undef __USE_XOPEN2K
+#undef __USE_XOPEN2KXSI
#undef __USE_XOPEN2K8
+#undef __USE_XOPEN2K8XSI
#undef __USE_LARGEFILE
#undef __USE_LARGEFILE64
#undef __USE_FILE_OFFSET64
@@ -250,8 +253,10 @@
# if (_XOPEN_SOURCE - 0) >= 600
# if (_XOPEN_SOURCE - 0) >= 700
# define __USE_XOPEN2K8 1
+# define __USE_XOPEN2K8XSI 1
# endif
# define __USE_XOPEN2K 1
+# define __USE_XOPEN2KXSI 1
# undef __USE_ISOC99
# define __USE_ISOC99 1
# endif
Modified: fsf/trunk/libc/io/fcntl.h
==============================================================================
--- fsf/trunk/libc/io/fcntl.h (original)
+++ fsf/trunk/libc/io/fcntl.h Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,1992,1994-2001,2003,2004,2005,2006,2007, 2009
+/* Copyright (C) 1991,1992,1994-2001,2003,2004,2005,2006,2007,2009,2010
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -34,8 +34,54 @@
#include <bits/fcntl.h>
/* For XPG all symbols from <sys/stat.h> should also be available. */
-#ifdef __USE_XOPEN
-# include <sys/stat.h>
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
+# include <bits/types.h> /* For __mode_t and __dev_t. */
+# define __need_timespec
+# include <time.h>
+# include <bits/stat.h>
+
+# define S_IFMT __S_IFMT
+# define S_IFDIR __S_IFDIR
+# define S_IFCHR __S_IFCHR
+# define S_IFBLK __S_IFBLK
+# define S_IFREG __S_IFREG
+# ifdef __S_IFIFO
+# define S_IFIFO __S_IFIFO
+# endif
+# ifdef __S_IFLNK
+# define S_IFLNK __S_IFLNK
+# endif
+# if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) && defined __S_IFSOCK
+# define S_IFSOCK __S_IFSOCK
+# endif
+
+/* Protection bits. */
+
+# define S_ISUID __S_ISUID /* Set user ID on execution. */
+# define S_ISGID __S_ISGID /* Set group ID on execution. */
+
+# if defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN
+/* Save swapped text after use (sticky bit). This is pretty well obsolete. */
+# define S_ISVTX __S_ISVTX
+# endif
+
+# define S_IRUSR __S_IREAD /* Read by owner. */
+# define S_IWUSR __S_IWRITE /* Write by owner. */
+# define S_IXUSR __S_IEXEC /* Execute by owner. */
+/* Read, write, and execute by owner. */
+# define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC)
+
+# define S_IRGRP (S_IRUSR >> 3) /* Read by group. */
+# define S_IWGRP (S_IWUSR >> 3) /* Write by group. */
+# define S_IXGRP (S_IXUSR >> 3) /* Execute by group. */
+/* Read, write, and execute by group. */
+# define S_IRWXG (S_IRWXU >> 3)
+
+# define S_IROTH (S_IRGRP >> 3) /* Read by others. */
+# define S_IWOTH (S_IWGRP >> 3) /* Write by others. */
+# define S_IXOTH (S_IXGRP >> 3) /* Execute by others. */
+/* Read, write, and execute by others. */
+# define S_IRWXO (S_IRWXG >> 3)
#endif
#ifdef __USE_MISC
@@ -49,8 +95,8 @@
# endif
#endif /* Use misc. */
-/* XPG wants the following symbols. */
-#ifdef __USE_XOPEN /* <stdio.h> has the same definitions. */
+/* XPG wants the following symbols. <stdio.h> has the same definitions. */
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Seek from end of file. */
@@ -116,9 +162,10 @@
# define openat openat64
# endif
# endif
-
+# ifdef __USE_LARGEFILE64
extern int openat64 (int __fd, __const char *__file, int __oflag, ...)
__nonnull ((2));
+# endif
#endif
/* Create and open FILE, with mode MODE. This takes an `int' MODE
Modified: fsf/trunk/libc/locale/C-address.c
==============================================================================
--- fsf/trunk/libc/locale/C-address.c (original)
+++ fsf/trunk/libc/locale/C-address.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -24,7 +24,7 @@
/* This table's entries are taken from ISO 14652, the table in section
4.10 "LC_ADDRESS". */
-const struct locale_data _nl_C_LC_ADDRESS attribute_hidden =
+const struct __locale_data _nl_C_LC_ADDRESS attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-collate.c
==============================================================================
--- fsf/trunk/libc/locale/C-collate.c (original)
+++ fsf/trunk/libc/locale/C-collate.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1997,1999,2000,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997,1999,2000,2001,2002,2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1995.
@@ -98,7 +98,7 @@
L'\xf8', L'\xf9', L'\xfa', L'\xfb', L'\xfc', L'\xfd', L'\xfe', L'\xff'
};
-const struct locale_data _nl_C_LC_COLLATE attribute_hidden =
+const struct __locale_data _nl_C_LC_COLLATE attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-ctype.c
==============================================================================
--- fsf/trunk/libc/locale/C-ctype.c (original)
+++ fsf/trunk/libc/locale/C-ctype.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2002, 2003, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2003, 2009, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1995.
@@ -538,7 +538,7 @@
NR_FIXED == _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1). */
typedef int assertion1[1 - 2 * (NR_FIXED != _NL_ITEM_INDEX (_NL_CTYPE_EXTRA_MAP_1))];
-const struct locale_data _nl_C_LC_CTYPE attribute_hidden =
+const struct __locale_data _nl_C_LC_CTYPE attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-identification.c
==============================================================================
--- fsf/trunk/libc/locale/C-identification.c (original)
+++ fsf/trunk/libc/locale/C-identification.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -24,7 +24,7 @@
/* This table's entries are taken from ISO 14652, the table in section
4.12 "LC_IDENTIFICATION". */
-const struct locale_data _nl_C_LC_IDENTIFICATION attribute_hidden =
+const struct __locale_data _nl_C_LC_IDENTIFICATION attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-measurement.c
==============================================================================
--- fsf/trunk/libc/locale/C-measurement.c (original)
+++ fsf/trunk/libc/locale/C-measurement.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -24,7 +24,7 @@
/* This table's entries are taken from ISO 14652, the table in section
4.12 "LC_MEASUREMENT". */
-const struct locale_data _nl_C_LC_MEASUREMENT attribute_hidden =
+const struct __locale_data _nl_C_LC_MEASUREMENT attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-messages.c
==============================================================================
--- fsf/trunk/libc/locale/C-messages.c (original)
+++ fsf/trunk/libc/locale/C-messages.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,2000,2001,2002,2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxxxxxx>, 1995.
@@ -24,7 +24,7 @@
The last two fields are a GNU extension. */
-const struct locale_data _nl_C_LC_MESSAGES attribute_hidden =
+const struct __locale_data _nl_C_LC_MESSAGES attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-monetary.c
==============================================================================
--- fsf/trunk/libc/locale/C-monetary.c (original)
+++ fsf/trunk/libc/locale/C-monetary.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1995.
@@ -28,7 +28,7 @@
static const char not_available[] = "\177";
#endif
-const struct locale_data _nl_C_LC_MONETARY attribute_hidden =
+const struct __locale_data _nl_C_LC_MONETARY attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-name.c
==============================================================================
--- fsf/trunk/libc/locale/C-name.c (original)
+++ fsf/trunk/libc/locale/C-name.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -24,7 +24,7 @@
/* This table's entries are taken from ISO 14652, the table in section
4.9 "LC_NAME". */
-const struct locale_data _nl_C_LC_NAME attribute_hidden =
+const struct __locale_data _nl_C_LC_NAME attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-numeric.c
==============================================================================
--- fsf/trunk/libc/locale/C-numeric.c (original)
+++ fsf/trunk/libc/locale/C-numeric.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995,1996,1997,2000,2001,2002 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996,1997,2000,2001,2002,2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1995.
@@ -21,7 +21,7 @@
/* This table's entries are taken from POSIX.2 Table 2-10
``LC_NUMERIC Category Definition in the POSIX Locale''. */
-const struct locale_data _nl_C_LC_NUMERIC attribute_hidden =
+const struct __locale_data _nl_C_LC_NUMERIC attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-paper.c
==============================================================================
--- fsf/trunk/libc/locale/C-paper.c (original)
+++ fsf/trunk/libc/locale/C-paper.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -24,7 +24,7 @@
/* This table's entries are taken from ISO 14652, the table in section
4.8 "LC_PAPER". */
-const struct locale_data _nl_C_LC_PAPER attribute_hidden =
+const struct __locale_data _nl_C_LC_PAPER attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-telephone.c
==============================================================================
--- fsf/trunk/libc/locale/C-telephone.c (original)
+++ fsf/trunk/libc/locale/C-telephone.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2000, 2001, 2002, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1998.
@@ -24,7 +24,7 @@
/* This table's entries are taken from ISO 14652, the table in section
4.11 "LC_TELEPHONE". */
-const struct locale_data _nl_C_LC_TELEPHONE attribute_hidden =
+const struct __locale_data _nl_C_LC_TELEPHONE attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/C-time.c
==============================================================================
--- fsf/trunk/libc/locale/C-time.c (original)
+++ fsf/trunk/libc/locale/C-time.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-2002, 2004, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 1995-2002, 2004, 2007, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxx>, 1995.
@@ -23,7 +23,7 @@
``LC_TIME Category Definition in the POSIX Locale'',
with additions from ISO 14652, section 4.6. */
-const struct locale_data _nl_C_LC_TIME attribute_hidden =
+const struct __locale_data _nl_C_LC_TIME attribute_hidden =
{
_nl_C_name,
NULL, 0, 0, /* no file mapped */
Modified: fsf/trunk/libc/locale/findlocale.c
==============================================================================
--- fsf/trunk/libc/locale/findlocale.c (original)
+++ fsf/trunk/libc/locale/findlocale.c Sun Jan 10 00:02:53 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996-2001, 2002, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002, 2003, 2006, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1996.
@@ -33,14 +33,14 @@
#ifdef NL_CURRENT_INDIRECT
# define DEFINE_CATEGORY(category, category_name, items, a) \
-extern struct locale_data _nl_C_##category; \
+extern struct __locale_data _nl_C_##category; \
weak_extern (_nl_C_##category)
# include "categories.def"
# undef DEFINE_CATEGORY
/* Array indexed by category of pointers to _nl_C_CATEGORY slots.
Elements are zero for categories whose data is never used. */
-struct locale_data *const _nl_C[] attribute_hidden =
+struct __locale_data *const _nl_C[] attribute_hidden =
{
# define DEFINE_CATEGORY(category, category_name, items, a) \
[category] = &_nl_C_##category,
@@ -59,7 +59,7 @@
const char _nl_default_locale_path[] attribute_hidden = LOCALEDIR;
-struct locale_data *
+struct __locale_data *
internal_function
_nl_find_locale (const char *locale_path, size_t locale_path_len,
int category, const char **name)
@@ -104,7 +104,8 @@
but only if there was no LOCPATH environment variable specified. */
if (__builtin_expect (locale_path == NULL, 1))
{
- struct locale_data *data = _nl_load_locale_from_archive (category, name);
+ struct __locale_data *data
+ = _nl_load_locale_from_archive (category, name);
if (__builtin_expect (data != NULL, 1))
return data;
@@ -214,12 +215,12 @@
[__LC_MEASUREMENT] = _NL_ITEM_INDEX (_NL_MEASUREMENT_CODESET),
[__LC_IDENTIFICATION] = _NL_ITEM_INDEX (_NL_IDENTIFICATION_CODESET)
};
- const struct locale_data *data;
+ const struct __locale_data *data;
const char *locale_codeset;
char *clocale_codeset;
char *ccodeset;
- data = (const struct locale_data *) locale_file->data;
+ data = (const struct __locale_data *) locale_file->data;
locale_codeset =
(const char *) data->values[codeset_idx[category]].string;
assert (locale_codeset != NULL);
@@ -241,7 +242,7 @@
/* Determine the locale name for which loading succeeded. This
information comes from the file name. The form is
<path>/<locale>/LC_foo. We must extract the <locale> part. */
- if (((const struct locale_data *) locale_file->data)->name == NULL)
+ if (((const struct __locale_data *) locale_file->data)->name == NULL)
{
char *cp, *endp;
@@ -249,20 +250,20 @@
cp = endp - 1;
while (cp[-1] != '/')
--cp;
- ((struct locale_data *) locale_file->data)->name = __strndup (cp,
- endp - cp);
+ ((struct __locale_data *) locale_file->data)->name
+ = __strndup (cp, endp - cp);
}
/* Determine whether the user wants transliteration or not. */
if (modifier != NULL && __strcasecmp (modifier, "TRANSLIT") == 0)
- ((struct locale_data *) locale_file->data)->use_translit = 1;
+ ((struct __locale_data *) locale_file->data)->use_translit = 1;
/* Increment the usage count. */
- if (((const struct locale_data *) locale_file->data)->usage_count
+ if (((const struct __locale_data *) locale_file->data)->usage_count
< MAX_USAGE_COUNT)
- ++((struct locale_data *) locale_file->data)->usage_count;
-
- return (struct locale_data *) locale_file->data;
+ ++((struct __locale_data *) locale_file->data)->usage_count;
+
+ return (struct __locale_data *) locale_file->data;
}
@@ -270,7 +271,7 @@
is acquired. */
void
internal_function
-_nl_remove_locale (int locale, struct locale_data *data)
+_nl_remove_locale (int locale, struct __locale_data *data)
{
if (--data->usage_count == 0)
{
@@ -281,7 +282,7 @@
/* Search for the entry. It must be in the list. Otherwise it
is a bug and we crash badly. */
- while ((struct locale_data *) ptr->data != data)
+ while ((struct __locale_data *) ptr->data != data)
ptr = ptr->next;
/* Mark the data as not available anymore. So when the data has
Modified: fsf/trunk/libc/locale/global-locale.c
==============================================================================
--- fsf/trunk/libc/locale/global-locale.c (original)
+++ fsf/trunk/libc/locale/global-locale.c Sun Jan 10 00:02:53 2010
@@ -1,5 +1,5 @@
/* Locale object representing the global locale controlled by setlocale.
- Copyright (C) 2002, 2006, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2006, 2008, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -21,7 +21,7 @@
#include "localeinfo.h"
#define DEFINE_CATEGORY(category, category_name, items, a) \
-extern struct locale_data _nl_C_##category; weak_extern (_nl_C_##category)
+extern struct __locale_data _nl_C_##category; weak_extern (_nl_C_##category)
#include "categories.def"
#undef DEFINE_CATEGORY
Modified: fsf/trunk/libc/locale/loadarchive.c
==============================================================================
--- fsf/trunk/libc/locale/loadarchive.c (original)
+++ fsf/trunk/libc/locale/loadarchive.c Sun Jan 10 00:02:53 2010
@@ -1,5 +1,5 @@
/* Code to load locale data from the locale archive file.
- Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2005, 2010 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -85,7 +85,7 @@
{
struct locale_in_archive *next;
char *name;
- struct locale_data *data[__LC_LAST];
+ struct __locale_data *data[__LC_LAST];
};
static struct locale_in_archive *archloaded;
@@ -129,7 +129,7 @@
already been loaded from the archive, just returns the existing data
structure. If successful, sets *NAMEP to point directly into the mapped
archive string table; that way, the next call can short-circuit strcmp. */
-struct locale_data *
+struct __locale_data *
internal_function
_nl_load_locale_from_archive (int category, const char **namep)
{
Modified: fsf/trunk/libc/locale/loadlocale.c
==============================================================================
--- fsf/trunk/libc/locale/loadlocale.c (original)
+++ fsf/trunk/libc/locale/loadlocale.c Sun Jan 10 00:02:53 2010
@@ -1,5 +1,5 @@
[... 1962 lines stripped ...]