+2006-02-02 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/unix/sysv/linux/futimesat.c [__NR_futimesat]
+ (futimesat): If file is NULL use __futimes.
+ * include/sys/time.h: Declare __futimes.
+
2006-02-02 Roland McGrath <roland@redhat.com>
+ * sysdeps/unix/sysv/linux/openat.c (__atfct_seterrno): Use the same
+ fstat check for ENOENT that should be EBADF as for ENOTDIR, and also
+ check for missing /proc the same way.
+
+ * include/errno.h [__cplusplus]: Avoid extra header magic for C++.
+
+ * manual/install.texi (Tools for Compilation): Require gcc 3.4,
+ recommend 4.1, advise 4.0 for powerpc64, and note 4.1 required for
+ powerpc, s390{x,} with new long double.
+ * INSTALL: Regenerated.
+
* timezone/private.h: Update from tzcode2006a.
* timezone/scheck.c: Likewise.
* timezone/asia: Update from tzdata2006a.
* sysdeps/powerpc/powerpc64/elf/Makefile
(CFLAGS-dl-runtime.os, CFLAGS-dl-lookup.os, CFLAGS-dl-misc.os,
CFLAGS-rtld-mempcpy.os, CFLAGS-rtld-memmove.os, CFLAGS-rtld-memchr.os,
- CFLAGS-rtld-strnlen.os): LIkewise
+ CFLAGS-rtld-strnlen.os): Likewise.
2006-02-01 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/i386/sysconf.c (intel_02_known): Add
some more entries.
+ * sysdeps/unix/sysv/linux/x86_64/sysconf.c (intel_02_known): Likewise.
2006-01-31 Jakub Jelinek <jakub@redhat.com>
Features can be added to GNU Libc via "add-on" bundles. These are
separate tar files, which you unpack into the top level of the source
tree. Then you give `configure' the `--enable-add-ons' option to
-activate them, and they will be compiled into the library. As of the
-2.2 release, one important component of glibc is distributed as
-"official" add-ons: the linuxthreads add-on. Unless you are doing an
-unusual installation, you should get this.
-
- Support for POSIX threads is maintained by someone else, so it's in a
-separate package. It is only available for GNU/Linux systems, but this
-will change in the future. Get it from the same place you got the main
-bundle; the file is `glibc-linuxthreads-VERSION.tar.gz'.
+activate them, and they will be compiled into the library.
You will need recent versions of several GNU tools: definitely GCC
and GNU Make, and possibly others. *Note Tools for Compilation::,
specified with no list, it enables all the add-on packages it
finds. If you do not wish to use some add-on packages that you
have present in your source tree, give this option a list of the
- add-ons that you _do_ want used, like this:
- `--enable-add-ons=linuxthreads'
+ add-ons that you _do_ want used, like this: `--enable-add-ons=nptl'
`--enable-kernel=VERSION'
This option is currently only useful on GNU/Linux systems. The
recommend GNU `make' version 3.79. All earlier versions have
severe bugs or lack features.
- * GCC 3.2 or newer
+ * GCC 3.4 or newer, GCC 4.1 recommended
The GNU C library can only be compiled with the GNU C compiler
- family. As of the 2.3 release, GCC 3.2 or higher is required. As
- of this writing, GCC 3.2 is the compiler we advise to use.
+ family. For the 2.3 releases, GCC 3.2 or higher is required; GCC
+ 3.4 is the compiler we advise to use for 2.3 versions. For the
+ 2.4 release, GCC 3.4 or higher is required; as of this writing,
+ GCC 4.1 is the compiler we advise to use for current versions. On
+ certain machines including `powerpc64', compilers prior to GCC 4.0
+ have bugs that prevent them compiling the C library code in the
+ 2.4 release. On other machines, GCC 4.1 is required to build the C
+ library with support for the correct `long double' type format;
+ these include `powerpc' (32 bit), `s390' and `s390x'.
You can use whatever compiler you like to compile programs that
use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in
Check the FAQ for any special compiler issues on particular
platforms.
- * GNU `binutils' 2.13 or later
+ * GNU `binutils' 2.15 or later
You must use GNU `binutils' (as and ld) to build the GNU C library.
No other assembler or linker has the necessary functionality at the
installation mechanism for the info files is not present or works
differently.
- * GNU `awk' 3.0, or some other POSIX awk
+ * GNU `awk' 3.0, or higher
- `Awk' is used in several places to generate files. The scripts
- should work with any POSIX-compliant `awk' implementation; `gawk'
- 3.0 and `mawk' 1.3 are known to work.
+ `Awk' is used in several places to generate files. `gawk' 3.0 is
+ known to work.
* Perl 5
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-fc4
-fedora-sync-date := 2006-02-02 05:07 UTC
-fedora-sync-tag := fedora-glibc-20060202T0507
+fedora-sync-date := 2006-02-03 09:32 UTC
+fedora-sync-tag := fedora-glibc-20060203T0932
-%define glibcrelease 33
+%define glibcrelease 35
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define prelinkarches noarch
%define xenarches i686 athlon
%endif
%changelog
+* Fri Feb 3 2006 Jakub Jelinek <jakub@redhat.com> 2.3.90-35
+- update from CVS
+ - handle futimesat (fd, NULL, tvp) as futimes (fd, tvp)
+- fix <stdlib.h> q{e,f,g}cvt{,_r} for -mlong-double-64
+
+* Thu Feb 2 2006 Jakub Jelinek <jakub@redhat.com> 2.3.90-34
+- fix <math.h> with C++ and -mlong-double-64 (#179742)
+- add nexttowardl redirect for -mlong-double-64
+
* Thu Feb 2 2006 Jakub Jelinek <jakub@redhat.com> 2.3.90-33
- update from CVS
- long double support fixes
#include <stdlib/errno.h>
-#if defined _ERRNO_H && !defined _ISOMAC
+#if defined _ERRNO_H && !defined _ISOMAC && !defined __cplusplus
# ifdef IS_IN_rtld
# include <dl-sysdep.h>
attribute_hidden;
extern int __utimes (__const char *__file, const struct timeval __tvp[2])
attribute_hidden;
+extern int __futimes (int fd, __const struct timeval tvp[2]) attribute_hidden;
#ifndef NOT_IN_libc
# define __gettimeofday(tv, tz) INTUSE(__gettimeofday) (tv, tz)
bugs or lack features.
@item
-GCC 3.2 or newer
+GCC 3.4 or newer, GCC 4.1 recommended
The GNU C library can only be compiled with the GNU C compiler family.
-As of the 2.3 release, GCC 3.2 or higher is required. As of this
-writing, GCC 3.2 is the compiler we advise to use.
+For the 2.3 releases, GCC 3.2 or higher is required; GCC 3.4 is the
+compiler we advise to use for 2.3 versions.
+For the 2.4 release, GCC 3.4 or higher is required; as of this
+writing, GCC 4.1 is the compiler we advise to use for current versions.
+On certain machines including @code{powerpc64}, compilers prior to GCC
+4.0 have bugs that prevent them compiling the C library code in the
+2.4 release. On other machines, GCC 4.1 is required to build the C
+library with support for the correct @code{long double} type format;
+these include @code{powerpc} (32 bit), @code{s390} and @code{s390x}.
You can use whatever compiler you like to compile programs that use GNU
libc, but be aware that both GCC 2.7 and 2.8 have bugs in their
if (__have_atfcts >= 0)
# endif
{
+ if (file == NULL)
+ return __futimes (fd, tvp);
+
result = INLINE_SYSCALL (futimesat, 3, fd, file, tvp);
# ifndef __ASSUME_ATFCTS
if (result == -1 && errno == ENOSYS)
#if !defined OPENAT && !defined __ASSUME_ATFCTS
# define OPENAT openat
-
+/* Set errno after a failed call. If BUF is not null,
+ it is a /proc/self/fd/ path name we just tried to use. */
void
attribute_hidden
__atfct_seterrno (int errval, int fd, const char *buf)
{
struct stat64 st;
- if (errval == ENOTDIR)
+ if (errval == ENOTDIR || errval == ENOENT)
{
/* This can mean either the file descriptor is invalid or
/proc is not mounted. */
return;
/* If /proc is not mounted there is nothing we can do. */
- if (S_ISDIR (st.st_mode)
+ if ((errval != ENOTDIR || S_ISDIR (st.st_mode))
&& (__xstat64 (_STAT_VER, "/proc/self/fd", &st) != 0
|| !S_ISDIR (st.st_mode)))
errval = ENOSYS;
}
- else if (errval == ENOENT)
- {
- /* This could mean the file descriptor is not valid. We
- reuse BUF for the stat call. Find the slash after the
- file descriptor number. */
- *(char *) strchr (buf + sizeof "/proc/self/fd", '/') = '\0';
-
- int e = __lxstat64 (_STAT_VER, buf, &st);
- if ((e == -1 && errno == ENOENT)
- ||(e == 0 && !S_ISLNK (st.st_mode)))
- errval = EBADF;
- }
}
__set_errno (errval);
/* Get file-specific information about a file. Linux version.
- Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2004, 2006 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
{ 0x29, _SC_LEVEL3_CACHE_SIZE, 4194304, 8, 64 },
{ 0x2c, _SC_LEVEL1_DCACHE_SIZE, 32768, 8, 64 },
{ 0x30, _SC_LEVEL1_ICACHE_SIZE, 32768, 8, 64 },
+ { 0x39, _SC_LEVEL2_CACHE_SIZE, 131072, 4, 64 },
+ { 0x3a, _SC_LEVEL2_CACHE_SIZE, 196608, 6, 64 },
+ { 0x3b, _SC_LEVEL2_CACHE_SIZE, 131072, 2, 64 },
+ { 0x3c, _SC_LEVEL2_CACHE_SIZE, 262144, 4, 64 },
+ { 0x3d, _SC_LEVEL2_CACHE_SIZE, 393216, 6, 64 },
+ { 0x3e, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 64 },
{ 0x41, _SC_LEVEL2_CACHE_SIZE, 131072, 4, 32 },
{ 0x42, _SC_LEVEL2_CACHE_SIZE, 262144, 4, 32 },
{ 0x43, _SC_LEVEL2_CACHE_SIZE, 524288, 4, 32 },
{ 0x44, _SC_LEVEL2_CACHE_SIZE, 1048576, 4, 32 },
{ 0x45, _SC_LEVEL2_CACHE_SIZE, 2097152, 4, 32 },
+ { 0x46, _SC_LEVEL3_CACHE_SIZE, 4194304, 4, 64 },
+ { 0x47, _SC_LEVEL3_CACHE_SIZE, 8388608, 8, 64 },
+ { 0x49, _SC_LEVEL3_CACHE_SIZE, 4194304, 16, 64 },
+ { 0x4a, _SC_LEVEL3_CACHE_SIZE, 6291456, 12, 64 },
+ { 0x4b, _SC_LEVEL3_CACHE_SIZE, 8388608, 16, 64 },
+ { 0x4c, _SC_LEVEL3_CACHE_SIZE, 12582912, 12, 64 },
+ { 0x4d, _SC_LEVEL3_CACHE_SIZE, 16777216, 16, 64 },
{ 0x60, _SC_LEVEL1_DCACHE_SIZE, 16384, 8, 64 },
{ 0x66, _SC_LEVEL1_DCACHE_SIZE, 8192, 4, 64 },
{ 0x67, _SC_LEVEL1_DCACHE_SIZE, 16384, 4, 64 },
{ 0x7b, _SC_LEVEL2_CACHE_SIZE, 524288, 8, 64 },
{ 0x7c, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 64 },
{ 0x7d, _SC_LEVEL2_CACHE_SIZE, 2097152, 8, 64 },
+ { 0x7f, _SC_LEVEL2_CACHE_SIZE, 524288, 2, 64 },
{ 0x82, _SC_LEVEL2_CACHE_SIZE, 262144, 8, 32 },
{ 0x83, _SC_LEVEL2_CACHE_SIZE, 524288, 8, 32 },
{ 0x84, _SC_LEVEL2_CACHE_SIZE, 1048576, 8, 32 },