diff options
-rw-r--r-- | ChangeLog | 20 | ||||
-rw-r--r-- | INSTALL | 35 | ||||
-rw-r--r-- | fedora/branch.mk | 4 | ||||
-rw-r--r-- | fedora/glibc.spec.in | 11 | ||||
-rw-r--r-- | include/errno.h | 2 | ||||
-rw-r--r-- | include/sys/time.h | 1 | ||||
-rw-r--r-- | manual/install.texi | 13 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/futimesat.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/openat.c | 19 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sysconf.c | 16 |
10 files changed, 81 insertions, 43 deletions
diff --git a/ChangeLog b/ChangeLog index ec8e939f49..b50bdceaea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,22 @@ +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. @@ -11,7 +28,7 @@ * 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> @@ -53,6 +70,7 @@ * 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> diff --git a/INSTALL b/INSTALL index e424610a04..b503ea8f5f 100644 --- a/INSTALL +++ b/INSTALL @@ -9,15 +9,7 @@ installation. It is updated more frequently than this manual. 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::, @@ -84,8 +76,7 @@ will be used, and CFLAGS sets optimization options for the compiler. 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 @@ -302,11 +293,18 @@ build the GNU C library: 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 @@ -316,7 +314,7 @@ build the GNU C library: 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 @@ -330,11 +328,10 @@ build the GNU C library: 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 diff --git a/fedora/branch.mk b/fedora/branch.mk index 27466b04c6..cef0bb059e 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora 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 diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in index 89012fcc54..9eaa8c6cda 100644 --- a/fedora/glibc.spec.in +++ b/fedora/glibc.spec.in @@ -1,4 +1,4 @@ -%define glibcrelease 33 +%define glibcrelease 35 %define auxarches i586 i686 athlon sparcv9 alphaev6 %define prelinkarches noarch %define xenarches i686 athlon @@ -1240,6 +1240,15 @@ rm -f *.filelist* %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 diff --git a/include/errno.h b/include/errno.h index 9865903b86..fe8bca44c5 100644 --- a/include/errno.h +++ b/include/errno.h @@ -2,7 +2,7 @@ #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> diff --git a/include/sys/time.h b/include/sys/time.h index c70396f04e..ec4055276e 100644 --- a/include/sys/time.h +++ b/include/sys/time.h @@ -20,6 +20,7 @@ extern int __setitimer (enum __itimer_which __which, 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) diff --git a/manual/install.texi b/manual/install.texi index b538f77fb2..d9dace916b 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -329,11 +329,18 @@ recommend GNU @code{make} version 3.79. All earlier versions have severe 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 diff --git a/sysdeps/unix/sysv/linux/futimesat.c b/sysdeps/unix/sysv/linux/futimesat.c index 514f456927..7c96b78045 100644 --- a/sysdeps/unix/sysv/linux/futimesat.c +++ b/sysdeps/unix/sysv/linux/futimesat.c @@ -42,6 +42,9 @@ futimesat (fd, file, tvp) 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) diff --git a/sysdeps/unix/sysv/linux/openat.c b/sysdeps/unix/sysv/linux/openat.c index 67e9df2e45..4c1f302ab0 100644 --- a/sysdeps/unix/sysv/linux/openat.c +++ b/sysdeps/unix/sysv/linux/openat.c @@ -30,7 +30,8 @@ #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) @@ -39,7 +40,7 @@ __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. */ @@ -48,23 +49,11 @@ __atfct_seterrno (int errval, int fd, const char *buf) 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); diff --git a/sysdeps/unix/sysv/linux/x86_64/sysconf.c b/sysdeps/unix/sysv/linux/x86_64/sysconf.c index 407fd46bc3..99f704e1b9 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sysconf.c +++ b/sysdeps/unix/sysv/linux/x86_64/sysconf.c @@ -1,5 +1,5 @@ /* 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 @@ -45,11 +45,24 @@ static const struct intel_02_cache_info { 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 }, @@ -60,6 +73,7 @@ static const struct intel_02_cache_info { 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 }, |