summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-02-03 09:39:28 +0000
committerJakub Jelinek <jakub@redhat.com>2006-02-03 09:39:28 +0000
commit9f57ac239bd04f64ae20f6e7b35f387ae6605312 (patch)
tree1971d9c5a6261ff535fec20e8be494fac1f61eb2
parentc3a8c11b0c6a6e44e98dcd4bb0fdb397e4fd56f7 (diff)
Updated to fedora-glibc-20060203T0932
-rw-r--r--ChangeLog20
-rw-r--r--INSTALL35
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in11
-rw-r--r--include/errno.h2
-rw-r--r--include/sys/time.h1
-rw-r--r--manual/install.texi13
-rw-r--r--sysdeps/unix/sysv/linux/futimesat.c3
-rw-r--r--sysdeps/unix/sysv/linux/openat.c19
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/sysconf.c16
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 },