This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch, release/2.12/master, updated. glibc-2.12.2
- From: schwab at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 13 Dec 2010 13:55:03 -0000
- Subject: GNU C Library master sources branch, release/2.12/master, updated. glibc-2.12.2
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, release/2.12/master has been updated
via 3a33e487eeb65e2f1f633581c56bee2c60d0ca43 (commit)
via a8f09f4347b9496b6b838211e82f596d13304044 (commit)
via 255eab5f5ef8fec5187f4a611a89cc28f0ed7d1b (commit)
via 92111c633273b228bbce9564108a50499435c5ee (commit)
via 04d5ab182b780d12092711627ceac464b711bb00 (commit)
via 9796df9ff2bc74bbb2bbce62628eb50265a5aa78 (commit)
via 745cb72f04667f7551e86e87fffd08bb316aae13 (commit)
via 5657e17a40c738f6dbd675abc3dd666256fddc16 (commit)
from 1489c92cf2192242fc7390ef020acde8922b384d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=3a33e487eeb65e2f1f633581c56bee2c60d0ca43
commit 3a33e487eeb65e2f1f633581c56bee2c60d0ca43
Author: Andreas Schwab <schwab@redhat.com>
Date: Mon Dec 13 11:45:50 2010 +0100
glibc 2.12.2 release
diff --git a/ChangeLog b/ChangeLog
index 2122312..afd9059 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-12-13 Andreas Schwab <schwab@redhat.com>
+
+ * version.h (VERSION): Bump for 2.12.2 release.
+
2010-12-10 Andreas Schwab <schwab@redhat.com>
* wcsmbs/wchar.h (wcpcpy, wcpncpy): Only declare under
diff --git a/version.h b/version.h
index 2f4c7ec..c06dd9e 100644
--- a/version.h
+++ b/version.h
@@ -1,4 +1,4 @@
/* This file just defines the current version number of libc. */
#define RELEASE "stable"
-#define VERSION "2.12.1"
+#define VERSION "2.12.2"
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a8f09f4347b9496b6b838211e82f596d13304044
commit a8f09f4347b9496b6b838211e82f596d13304044
Author: Andreas Schwab <schwab@redhat.com>
Date: Mon Dec 13 11:44:56 2010 +0100
NEWS for 2.12.2
diff --git a/NEWS b/NEWS
index c0c74be..a186c92 100644
--- a/NEWS
+++ b/NEWS
@@ -1,10 +1,24 @@
-GNU C Library NEWS -- history of user-visible changes. 2010-5-4
+GNU C Library NEWS -- history of user-visible changes. 2010-12-13
Copyright (C) 1992-2009, 2010 Free Software Foundation, Inc.
See the end for copying conditions.
Please send GNU C library bug reports via <http://sources.redhat.com/bugzilla/>
using `glibc' in the "product" field.
+Version 2.12.2
+
+* The following bugs are resolved with this release:
+
+ 12077, 12092, 12113, 12159, 12167, 12191, 11840, 11856, 10851, 7066,
+ 11968, 12005, 12093, 12078, 12140, 11904, 12194, 11883, 11611,
+ 10085, 11149, 11903, 11655
+
+Version 2.12.1
+
+* The following bugs are resolved with this release:
+
+ 11571, 11640
+
Version 2.12
* The following bugs are resolved with this release:
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=255eab5f5ef8fec5187f4a611a89cc28f0ed7d1b
commit 255eab5f5ef8fec5187f4a611a89cc28f0ed7d1b
Author: Andreas Schwab <schwab@redhat.com>
Date: Fri Dec 10 09:16:12 2010 -0500
Declare wcpcpy and wcpncpy only under _GNU_SOURCE
(cherry picked from commit dbb0472f054a4241feec09af30db850dd4d18a7b)
diff --git a/ChangeLog b/ChangeLog
index 18023b9..2122312 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2010-12-10 Andreas Schwab <schwab@redhat.com>
+ * wcsmbs/wchar.h (wcpcpy, wcpncpy): Only declare under
+ _GNU_SOURCE.
+
+2010-12-10 Andreas Schwab <schwab@redhat.com>
+
* wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict.
* wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset):
Remove __restrict.
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index ca8ba80..5f341f3 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -555,10 +555,8 @@ extern float wcstof_l (__const wchar_t *__restrict __nptr,
extern long double wcstold_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
__locale_t __loc) __THROW;
-#endif /* GNU */
-#ifdef __USE_XOPEN2K8
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
DEST. */
extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=92111c633273b228bbce9564108a50499435c5ee
commit 92111c633273b228bbce9564108a50499435c5ee
Author: Andreas Schwab <schwab@redhat.com>
Date: Fri Dec 10 09:15:01 2010 -0500
Fix use of restrict in wchar.h
(cherry picked from commit 4f1972374a080e823c4ead7c0496827dfc013837)
diff --git a/ChangeLog b/ChangeLog
index ebb5342..18023b9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2010-12-10 Andreas Schwab <schwab@redhat.com>
+
+ * wcsmbs/wchar.h (wcpcpy, wcpncpy): Add __restrict.
+ * wcsmbs/bits/wchar2.h (__wmemmove_chk_warn, wmemmove, wmemset):
+ Remove __restrict.
+ (wcscpy, __wcpcpy_chk, __wcpcpy_alias, wcpcpy, wcsncpy, wcpncpy)
+ (wcscat, wcsncat, __wcrtomb_chk, wcrtomb): Add __restrict.
+
2010-12-09 Ulrich Drepper <drepper@gmail.com>
[BZ #11655]
diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h
index 2ec4ce1..c38eaa3 100644
--- a/wcsmbs/bits/wchar2.h
+++ b/wcsmbs/bits/wchar2.h
@@ -1,5 +1,5 @@
/* Checking macros for wchar functions.
- Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2006, 2007, 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
@@ -60,15 +60,13 @@ extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1,
__const wchar_t *__s2,
size_t __n), wmemmove);
extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
- (wchar_t *__restrict __s1,
- __const wchar_t *__restrict __s2, size_t __n,
- size_t __ns1), __wmemmove_chk)
+ (wchar_t *__s1, __const wchar_t *__s2,
+ size_t __n, size_t __ns1), __wmemmove_chk)
__warnattr ("wmemmove called with length bigger than size of destination "
"buffer");
__extern_always_inline wchar_t *
-__NTH (wmemmove (wchar_t *__restrict __s1, __const wchar_t *__restrict __s2,
- size_t __n))
+__NTH (wmemmove (wchar_t *__s1, __const wchar_t *__s2, size_t __n))
{
if (__bos0 (__s1) != (size_t) -1)
{
@@ -129,7 +127,7 @@ extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn,
"buffer");
__extern_always_inline wchar_t *
-__NTH (wmemset (wchar_t *__restrict __s, wchar_t __c, size_t __n))
+__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
{
if (__bos0 (__s) != (size_t) -1)
{
@@ -152,7 +150,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscpy_alias,
__const wchar_t *__restrict __src), wcscpy);
__extern_always_inline wchar_t *
-__NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
+__NTH (wcscpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
{
if (__bos (__dest) != (size_t) -1)
return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -160,14 +158,15 @@ __NTH (wcscpy (wchar_t *__dest, __const wchar_t *__src))
}
-extern wchar_t *__wcpcpy_chk (wchar_t *__dest, __const wchar_t *__src,
+extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src,
size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, (wchar_t *__dest,
- __const wchar_t *__src),
- wcpcpy);
+extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
+ (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src), wcpcpy);
__extern_always_inline wchar_t *
-__NTH (wcpcpy (wchar_t *__dest, __const wchar_t *__src))
+__NTH (wcpcpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
{
if (__bos (__dest) != (size_t) -1)
return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -190,7 +189,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn,
"buffer");
__extern_always_inline wchar_t *
-__NTH (wcsncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcsncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+ size_t __n))
{
if (__bos (__dest) != (size_t) -1)
{
@@ -220,7 +220,8 @@ extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn,
"buffer");
__extern_always_inline wchar_t *
-__NTH (wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcpncpy (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+ size_t __n))
{
if (__bos (__dest) != (size_t) -1)
{
@@ -243,7 +244,7 @@ extern wchar_t *__REDIRECT_NTH (__wcscat_alias,
__const wchar_t *__restrict __src), wcscat);
__extern_always_inline wchar_t *
-__NTH (wcscat (wchar_t *__dest, __const wchar_t *__src))
+__NTH (wcscat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src))
{
if (__bos (__dest) != (size_t) -1)
return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
@@ -260,7 +261,8 @@ extern wchar_t *__REDIRECT_NTH (__wcsncat_alias,
size_t __n), wcsncat);
__extern_always_inline wchar_t *
-__NTH (wcsncat (wchar_t *__dest, __const wchar_t *__src, size_t __n))
+__NTH (wcsncat (wchar_t *__restrict __dest, __const wchar_t *__restrict __src,
+ size_t __n))
{
if (__bos (__dest) != (size_t) -1)
return __wcsncat_chk (__dest, __src, __n,
@@ -428,14 +430,16 @@ fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
#endif
-extern size_t __wcrtomb_chk (char *__s, wchar_t __wchar, mbstate_t *__p,
- size_t __buflen) __THROW __wur;
+extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
+ mbstate_t *__restrict __p,
+ size_t __buflen) __THROW __wur;
extern size_t __REDIRECT_NTH (__wcrtomb_alias,
(char *__restrict __s, wchar_t __wchar,
mbstate_t *__restrict __ps), wcrtomb) __wur;
__extern_always_inline __wur size_t
-__NTH (wcrtomb (char *__s, wchar_t __wchar, mbstate_t *__ps))
+__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
+ mbstate_t *__restrict __ps))
{
/* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
But this would only disturb the namespace. So we define our own
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 061b105..ca8ba80 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -561,11 +561,13 @@ extern long double wcstold_l (__const wchar_t *__restrict __nptr,
#ifdef __USE_XOPEN2K8
/* Copy SRC to DEST, returning the address of the terminating L'\0' in
DEST. */
-extern wchar_t *wcpcpy (wchar_t *__dest, __const wchar_t *__src) __THROW;
+extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src) __THROW;
/* Copy no more than N characters of SRC to DEST, returning the address of
the last character written into DEST. */
-extern wchar_t *wcpncpy (wchar_t *__dest, __const wchar_t *__src, size_t __n)
+extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
+ __const wchar_t *__restrict __src, size_t __n)
__THROW;
#endif /* use GNU */
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=04d5ab182b780d12092711627ceac464b711bb00
commit 04d5ab182b780d12092711627ceac464b711bb00
Author: Ulrich Drepper <drepper@gmail.com>
Date: Thu Dec 9 12:12:58 2010 -0500
Fix race in qsort_r initialization.
(cherry picked from commit fb88ac72c2dcbbd979c8798e4ea497818bb3e171)
diff --git a/ChangeLog b/ChangeLog
index 6a86ea7..ebb5342 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-12-09 Ulrich Drepper <drepper@gmail.com>
+
+ [BZ #11655]
+ * stdlib/msort.c (qsort_r): Make sure both phys_pages and pagesize
+ are initialized.
+
2010-12-09 Jakub Jelinek <jakub@redhat.com>
* string/bits/string3.h (memmove, bcopy): Remove __restrict.
diff --git a/stdlib/msort.c b/stdlib/msort.c
index 35cd4d0..fc58f0d 100644
--- a/stdlib/msort.c
+++ b/stdlib/msort.c
@@ -25,6 +25,7 @@
#include <unistd.h>
#include <memcopy.h>
#include <errno.h>
+#include <atomic.h>
struct msort_param
{
@@ -182,7 +183,7 @@ qsort_r (void *b, size_t n, size_t s, __compar_d_fn_t cmp, void *arg)
static long int phys_pages;
static int pagesize;
- if (phys_pages == 0)
+ if (pagesize == 0)
{
phys_pages = __sysconf (_SC_PHYS_PAGES);
@@ -197,6 +198,9 @@ qsort_r (void *b, size_t n, size_t s, __compar_d_fn_t cmp, void *arg)
a quarter of the physical memory. */
phys_pages /= 4;
+ /* Make sure phys_pages is written to memory. */
+ atomic_write_barrier ();
+
pagesize = __sysconf (_SC_PAGESIZE);
}
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=9796df9ff2bc74bbb2bbce62628eb50265a5aa78
commit 9796df9ff2bc74bbb2bbce62628eb50265a5aa78
Author: Jakub Jelinek <jakub@redhat.com>
Date: Thu Dec 9 10:38:18 2010 -0500
Fix -D_FORTIFY_SOURCE memmove and bcop
(cherry picked from commit 42acbb92c861e97a6e1293ea853db88342a1bf53)
diff --git a/ChangeLog b/ChangeLog
index a78f96d..6a86ea7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ * string/bits/string3.h (memmove, bcopy): Remove __restrict.
+
2010-08-11 Ulrich Drepper <drepper@redhat.com>
[BZ #11903]
diff --git a/string/bits/string3.h b/string/bits/string3.h
index 1d759f1..1647725 100644
--- a/string/bits/string3.h
+++ b/string/bits/string3.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2004, 2005, 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
@@ -53,8 +53,7 @@ __NTH (memcpy (void *__restrict __dest, __const void *__restrict __src,
}
__extern_always_inline void *
-__NTH (memmove (void *__restrict __dest, __const void *__restrict __src,
- size_t __len))
+__NTH (memmove (void *__dest, __const void *__src, size_t __len))
{
return __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
@@ -88,8 +87,7 @@ __NTH (memset (void *__dest, int __ch, size_t __len))
#ifdef __USE_BSD
__extern_always_inline void
-__NTH (bcopy (__const void *__restrict __src, void *__restrict __dest,
- size_t __len))
+__NTH (bcopy (__const void *__src, void *__dest, size_t __len))
{
(void) __builtin___memmove_chk (__dest, __src, __len, __bos0 (__dest));
}
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=745cb72f04667f7551e86e87fffd08bb316aae13
commit 745cb72f04667f7551e86e87fffd08bb316aae13
Author: Ulrich Drepper <drepper@redhat.com>
Date: Wed Aug 11 07:44:03 2010 -0700
Fix IPTOS_CLASS definition.
(cherry picked from commit 15bac72bac03faeb3b725b1d208c62160f0c3ad7)
diff --git a/ChangeLog b/ChangeLog
index dc80bd3..a78f96d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-11 Ulrich Drepper <drepper@redhat.com>
+
+ [BZ #11903]
+ * sysdeps/generic/netinet/ip.h (IPTOS_CLASS): Fix definition.
+ Patch by Evgeni Bikov <bikovevg@iitp.ru>.
+
2010-08-21 Mike Frysinger <vapier@gentoo.org>
* configure.in: Move assembler checks to before sysdep dir checking.
diff --git a/sysdeps/generic/netinet/ip.h b/sysdeps/generic/netinet/ip.h
index a837b98..4955fee 100644
--- a/sysdeps/generic/netinet/ip.h
+++ b/sysdeps/generic/netinet/ip.h
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991,92,93,95,96,97,98,99,2000,2009 Free Software
- Foundation, Inc.
+/* Copyright (C) 1991-1993,1995-2000,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
@@ -194,7 +193,7 @@ struct ip_timestamp
*/
#define IPTOS_CLASS_MASK 0xe0
-#define IPTOS_CLASS(class) ((tos) & IPTOS_CLASS_MASK)
+#define IPTOS_CLASS(class) ((class) & IPTOS_CLASS_MASK)
#define IPTOS_CLASS_CS0 0x00
#define IPTOS_CLASS_CS1 0x20
#define IPTOS_CLASS_CS2 0x40
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5657e17a40c738f6dbd675abc3dd666256fddc16
commit 5657e17a40c738f6dbd675abc3dd666256fddc16
Author: Mike Frysinger <vapier@gentoo.org>
Date: Mon Aug 23 07:51:49 2010 -0700
Remove multiarch dirs when gnu indirect is not supported
(cherry picked from commit 84b9230c404aed4fd3a7bb3d045ca367043dde8c)
diff --git a/ChangeLog b/ChangeLog
index 7635848..dc80bd3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-08-21 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.in: Move assembler checks to before sysdep dir checking.
+
2010-11-24 Andreas Schwab <schwab@redhat.com>
* resolv/nss_dns/dns-host.c (getanswer_r): Don't handle ttl == 0
diff --git a/configure b/configure
index 2af27a5..8c9413b 100755
--- a/configure
+++ b/configure
@@ -3805,9 +3805,6 @@ else
multi_arch=default
fi
-if test x"$multi_arch" != xno; then
- multi_arch_d=/multiarch
-fi
# Check whether --enable-experimental-malloc was given.
if test "${enable_experimental_malloc+set}" = set; then
@@ -4241,6 +4238,140 @@ _ACEOF
fi
+# For the multi-arch option we need support in the assembler.
+{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
+$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
+if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.s <<EOF
+.type foo,%gnu_indirect_function
+EOF
+if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
+then
+ libc_cv_asm_gnu_indirect_function=yes
+else
+ libc_cv_asm_gnu_indirect_function=no
+fi
+rm -f conftest*
+fi
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
+$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking whether .text pseudo-op must be used" >&5
+$as_echo_n "checking whether .text pseudo-op must be used... " >&6; }
+if test "${libc_cv_dot_text+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ cat > conftest.s <<EOF
+.text
+EOF
+libc_cv_dot_text=
+if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ libc_cv_dot_text=.text
+fi
+rm -f conftest*
+fi
+
+if test -z "$libc_cv_dot_text"; then
+ { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+else
+ { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for assembler global-symbol directive" >&5
+$as_echo_n "checking for assembler global-symbol directive... " >&6; }
+if test "${libc_cv_asm_global_directive+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ libc_cv_asm_global_directive=UNKNOWN
+for ac_globl in .globl .global .EXPORT; do
+ cat > conftest.s <<EOF
+ ${libc_cv_dot_text}
+ ${ac_globl} foo
+foo:
+EOF
+ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ libc_cv_asm_global_directive=${ac_globl}
+ fi
+ rm -f conftest*
+ test $libc_cv_asm_global_directive != UNKNOWN && break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_global_directive" >&5
+$as_echo "$libc_cv_asm_global_directive" >&6; }
+if test $libc_cv_asm_global_directive = UNKNOWN; then
+ { { $as_echo "$as_me:$LINENO: error: cannot determine asm global directive" >&5
+$as_echo "$as_me: error: cannot determine asm global directive" >&2;}
+ { (exit 1); exit 1; }; }
+else
+ cat >>confdefs.h <<_ACEOF
+#define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive}
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for assembler .type directive prefix" >&5
+$as_echo_n "checking for assembler .type directive prefix... " >&6; }
+if test "${libc_cv_asm_type_prefix+set}" = set; then
+ $as_echo_n "(cached) " >&6
+else
+ libc_cv_asm_type_prefix=no
+for ac_try_prefix in '@' '%' '#'; do
+ cat > conftest.s <<EOF
+ ${libc_cv_dot_text}
+ ${libc_cv_asm_global_directive} foo
+ .type foo, ${ac_try_prefix}object
+ .size foo, 1
+foo:
+ .byte 1
+EOF
+ if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ libc_cv_asm_type_prefix=${ac_try_prefix}
+ fi
+ rm -f conftest*
+ test "x$libc_cv_asm_type_prefix" != xno && break
+done
+fi
+{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_type_prefix" >&5
+$as_echo "$libc_cv_asm_type_prefix" >&6; }
+if test "x$libc_cv_asm_type_prefix" != xno; then
+ cat >>confdefs.h <<_ACEOF
+#define ASM_TYPE_DIRECTIVE_PREFIX ${libc_cv_asm_type_prefix}
+_ACEOF
+
+fi
+
+if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then
+ if test x"$multi_arch" = xyes; then
+ { { $as_echo "$as_me:$LINENO: error: --enable-multi-arch support requires assembler and linker support" >&5
+$as_echo "$as_me: error: --enable-multi-arch support requires assembler and linker support" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ multi_arch=no
+ fi
+fi
+if test x"$multi_arch" != xno; then
+ multi_arch_d=/multiarch
+fi
+
# Compute the list of sysdep directories for this configuration.
# This can take a while to compute.
sysdep_dir=$srcdir/sysdeps
@@ -4357,35 +4488,14 @@ done
# If the assembler supports gnu_indirect_function symbol type and the
# architecture supports multi-arch, we enable multi-arch by default.
-if test "$multi_arch" = default; then
-{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
-$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
-if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
-then
- libc_cv_asm_gnu_indirect_function=yes
-else
- libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
-$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
+case $sysnames_add_ons$sysnames in
+*"$multi_arch_d"*)
+ ;;
+*)
multi_arch=no
- if test "$libc_cv_asm_gnu_indirect_function" = yes; then
- case $sysnames_add_ons$sysnames in
- *"$multi_arch_d"*)
- multi_arch=yes
- ;;
- esac
- fi
-fi
-if test x"$multi_arch" = xyes; then
+ ;;
+esac
+if test x"$multi_arch" != xno; then
cat >>confdefs.h <<\_ACEOF
#define USE_MULTIARCH 1
_ACEOF
@@ -5916,71 +6026,6 @@ if test $libc_cv_need_minus_P = yes; then
asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
fi
-{ $as_echo "$as_me:$LINENO: checking whether .text pseudo-op must be used" >&5
-$as_echo_n "checking whether .text pseudo-op must be used... " >&6; }
-if test "${libc_cv_dot_text+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat > conftest.s <<EOF
-.text
-EOF
-libc_cv_dot_text=
-if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libc_cv_dot_text=.text
-fi
-rm -f conftest*
-fi
-
-if test -z "$libc_cv_dot_text"; then
- { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-else
- { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-
-{ $as_echo "$as_me:$LINENO: checking for assembler global-symbol directive" >&5
-$as_echo_n "checking for assembler global-symbol directive... " >&6; }
-if test "${libc_cv_asm_global_directive+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- libc_cv_asm_global_directive=UNKNOWN
-for ac_globl in .globl .global .EXPORT; do
- cat > conftest.s <<EOF
- ${libc_cv_dot_text}
- ${ac_globl} foo
-foo:
-EOF
- if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libc_cv_asm_global_directive=${ac_globl}
- fi
- rm -f conftest*
- test $libc_cv_asm_global_directive != UNKNOWN && break
-done
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_global_directive" >&5
-$as_echo "$libc_cv_asm_global_directive" >&6; }
-if test $libc_cv_asm_global_directive = UNKNOWN; then
- { { $as_echo "$as_me:$LINENO: error: cannot determine asm global directive" >&5
-$as_echo "$as_me: error: cannot determine asm global directive" >&2;}
- { (exit 1); exit 1; }; }
-else
- cat >>confdefs.h <<_ACEOF
-#define ASM_GLOBAL_DIRECTIVE ${libc_cv_asm_global_directive}
-_ACEOF
-
-fi
-
{ $as_echo "$as_me:$LINENO: checking for .set assembler directive" >&5
$as_echo_n "checking for .set assembler directive... " >&6; }
if test "${libc_cv_asm_set_directive+set}" = set; then
@@ -6016,42 +6061,6 @@ _ACEOF
fi
-{ $as_echo "$as_me:$LINENO: checking for assembler .type directive prefix" >&5
-$as_echo_n "checking for assembler .type directive prefix... " >&6; }
-if test "${libc_cv_asm_type_prefix+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- libc_cv_asm_type_prefix=no
-for ac_try_prefix in '@' '%' '#'; do
- cat > conftest.s <<EOF
- ${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
- .type foo, ${ac_try_prefix}object
- .size foo, 1
-foo:
- .byte 1
-EOF
- if { ac_try='${CC-cc} $ASFLAGS -c conftest.s 1>&5'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- libc_cv_asm_type_prefix=${ac_try_prefix}
- fi
- rm -f conftest*
- test "x$libc_cv_asm_type_prefix" != xno && break
-done
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_type_prefix" >&5
-$as_echo "$libc_cv_asm_type_prefix" >&6; }
-if test "x$libc_cv_asm_type_prefix" != xno; then
- cat >>confdefs.h <<_ACEOF
-#define ASM_TYPE_DIRECTIVE_PREFIX ${libc_cv_asm_type_prefix}
-_ACEOF
-
-fi
-
{ $as_echo "$as_me:$LINENO: checking for assembler gnu_unique_object symbol type" >&5
$as_echo_n "checking for assembler gnu_unique_object symbol type... " >&6; }
if test "${libc_cv_asm_unique_object+set}" = set; then
@@ -6078,37 +6087,6 @@ _ACEOF
fi
-# For the multi-arch option we need support in the assembler.
-if test "$multi_arch" = yes; then
- if test "x$libc_cv_asm_type_prefix" != xno; then
-{ $as_echo "$as_me:$LINENO: checking for assembler gnu_indirect_function symbol type support" >&5
-$as_echo_n "checking for assembler gnu_indirect_function symbol type support... " >&6; }
-if test "${libc_cv_asm_gnu_indirect_function+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&5 2>&5;
-then
- libc_cv_asm_gnu_indirect_function=yes
-else
- libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*
-fi
-{ $as_echo "$as_me:$LINENO: result: $libc_cv_asm_gnu_indirect_function" >&5
-$as_echo "$libc_cv_asm_gnu_indirect_function" >&6; }
- else
- libc_cv_asm_gnu_indirect_function=no
- fi
- if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
- { { $as_echo "$as_me:$LINENO: error: --enable-multi-arch support requires assembler and linker support" >&5
-$as_echo "$as_me: error: --enable-multi-arch support requires assembler and linker support" >&2;}
- { (exit 1); exit 1; }; }
- fi
-fi
-
{ $as_echo "$as_me:$LINENO: checking for .symver assembler directive" >&5
$as_echo_n "checking for .symver assembler directive... " >&6; }
if test "${libc_cv_asm_symver_directive+set}" = set; then
diff --git a/configure.in b/configure.in
index 036a950..098adf4 100644
--- a/configure.in
+++ b/configure.in
@@ -273,9 +273,6 @@ AC_ARG_ENABLE([multi-arch],
[enable single DSO with optimizations for multiple architectures]),
[multi_arch=$enableval],
[multi_arch=default])
-if test x"$multi_arch" != xno; then
- multi_arch_d=/multiarch
-fi
AC_ARG_ENABLE([experimental-malloc],
AC_HELP_STRING([--enable-experimental-malloc],
@@ -603,6 +600,90 @@ if test "$base_machine" = "i386"; then
AC_DEFINE(USE_REGPARMS)
fi
+# For the multi-arch option we need support in the assembler.
+AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
+ libc_cv_asm_gnu_indirect_function, [dnl
+cat > conftest.s <<EOF
+.type foo,%gnu_indirect_function
+EOF
+if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
+then
+ libc_cv_asm_gnu_indirect_function=yes
+else
+ libc_cv_asm_gnu_indirect_function=no
+fi
+rm -f conftest*])
+
+AC_MSG_CHECKING(whether .text pseudo-op must be used)
+AC_CACHE_VAL(libc_cv_dot_text, [dnl
+cat > conftest.s <<EOF
+.text
+EOF
+libc_cv_dot_text=
+if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ libc_cv_dot_text=.text
+fi
+rm -f conftest*])
+if test -z "$libc_cv_dot_text"; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+fi
+
+AC_CACHE_CHECK(for assembler global-symbol directive,
+ libc_cv_asm_global_directive, [dnl
+libc_cv_asm_global_directive=UNKNOWN
+for ac_globl in .globl .global .EXPORT; do
+ cat > conftest.s <<EOF
+ ${libc_cv_dot_text}
+ ${ac_globl} foo
+foo:
+EOF
+ if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ libc_cv_asm_global_directive=${ac_globl}
+ fi
+ rm -f conftest*
+ test $libc_cv_asm_global_directive != UNKNOWN && break
+done])
+if test $libc_cv_asm_global_directive = UNKNOWN; then
+ AC_MSG_ERROR(cannot determine asm global directive)
+else
+ AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
+fi
+
+AC_CACHE_CHECK(for assembler .type directive prefix,
+ libc_cv_asm_type_prefix, [dnl
+libc_cv_asm_type_prefix=no
+for ac_try_prefix in '@' '%' '#'; do
+ cat > conftest.s <<EOF
+ ${libc_cv_dot_text}
+ ${libc_cv_asm_global_directive} foo
+ .type foo, ${ac_try_prefix}object
+ .size foo, 1
+foo:
+ .byte 1
+EOF
+ if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
+ libc_cv_asm_type_prefix=${ac_try_prefix}
+ fi
+ rm -f conftest*
+ test "x$libc_cv_asm_type_prefix" != xno && break
+done])
+if test "x$libc_cv_asm_type_prefix" != xno; then
+ AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
+fi
+
+if test x"$libc_cv_asm_gnu_indirect_function" != xyes -a x"$libc_cv_asm_type_prefix" = xno; then
+ if test x"$multi_arch" = xyes; then
+ AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
+ else
+ multi_arch=no
+ fi
+fi
+if test x"$multi_arch" != xno; then
+ multi_arch_d=/multiarch
+fi
+
# Compute the list of sysdep directories for this configuration.
# This can take a while to compute.
sysdep_dir=$srcdir/sysdeps
@@ -722,29 +803,14 @@ done
# If the assembler supports gnu_indirect_function symbol type and the
# architecture supports multi-arch, we enable multi-arch by default.
-if test "$multi_arch" = default; then
-AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
- libc_cv_asm_gnu_indirect_function, [dnl
-cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
-then
- libc_cv_asm_gnu_indirect_function=yes
-else
- libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*])
+case $sysnames_add_ons$sysnames in
+*"$multi_arch_d"*)
+ ;;
+*)
multi_arch=no
- if test "$libc_cv_asm_gnu_indirect_function" = yes; then
- case $sysnames_add_ons$sysnames in
- *"$multi_arch_d"*)
- multi_arch=yes
- ;;
- esac
- fi
-fi
-if test x"$multi_arch" = xyes; then
+ ;;
+esac
+if test x"$multi_arch" != xno; then
AC_DEFINE(USE_MULTIARCH)
fi
AC_SUBST(multi_arch)
@@ -1172,43 +1238,6 @@ if test $libc_cv_need_minus_P = yes; then
asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
fi
-AC_MSG_CHECKING(whether .text pseudo-op must be used)
-AC_CACHE_VAL(libc_cv_dot_text, [dnl
-cat > conftest.s <<EOF
-.text
-EOF
-libc_cv_dot_text=
-if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_dot_text=.text
-fi
-rm -f conftest*])
-if test -z "$libc_cv_dot_text"; then
- AC_MSG_RESULT(no)
-else
- AC_MSG_RESULT(yes)
-fi
-
-AC_CACHE_CHECK(for assembler global-symbol directive,
- libc_cv_asm_global_directive, [dnl
-libc_cv_asm_global_directive=UNKNOWN
-for ac_globl in .globl .global .EXPORT; do
- cat > conftest.s <<EOF
- ${libc_cv_dot_text}
- ${ac_globl} foo
-foo:
-EOF
- if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_asm_global_directive=${ac_globl}
- fi
- rm -f conftest*
- test $libc_cv_asm_global_directive != UNKNOWN && break
-done])
-if test $libc_cv_asm_global_directive = UNKNOWN; then
- AC_MSG_ERROR(cannot determine asm global directive)
-else
- AC_DEFINE_UNQUOTED(ASM_GLOBAL_DIRECTIVE, ${libc_cv_asm_global_directive})
-fi
-
AC_CACHE_CHECK(for .set assembler directive, libc_cv_asm_set_directive, [dnl
cat > conftest.s <<EOF
${libc_cv_dot_text}
@@ -1234,28 +1263,6 @@ if test $libc_cv_asm_set_directive = yes; then
AC_DEFINE(HAVE_ASM_SET_DIRECTIVE)
fi
-AC_CACHE_CHECK(for assembler .type directive prefix,
- libc_cv_asm_type_prefix, [dnl
-libc_cv_asm_type_prefix=no
-for ac_try_prefix in '@' '%' '#'; do
- cat > conftest.s <<EOF
- ${libc_cv_dot_text}
- ${libc_cv_asm_global_directive} foo
- .type foo, ${ac_try_prefix}object
- .size foo, 1
-foo:
- .byte 1
-EOF
- if AC_TRY_COMMAND(${CC-cc} $ASFLAGS -c conftest.s 1>&AS_MESSAGE_LOG_FD); then
- libc_cv_asm_type_prefix=${ac_try_prefix}
- fi
- rm -f conftest*
- test "x$libc_cv_asm_type_prefix" != xno && break
-done])
-if test "x$libc_cv_asm_type_prefix" != xno; then
- AC_DEFINE_UNQUOTED(ASM_TYPE_DIRECTIVE_PREFIX, ${libc_cv_asm_type_prefix})
-fi
-
AC_CACHE_CHECK(for assembler gnu_unique_object symbol type,
libc_cv_asm_unique_object, [dnl
cat > conftest.s <<EOF
@@ -1273,29 +1280,6 @@ if test $libc_cv_asm_unique_object = yes; then
AC_DEFINE(HAVE_ASM_UNIQUE_OBJECT)
fi
-# For the multi-arch option we need support in the assembler.
-if test "$multi_arch" = yes; then
- if test "x$libc_cv_asm_type_prefix" != xno; then
-AC_CACHE_CHECK([for assembler gnu_indirect_function symbol type support],
- libc_cv_asm_gnu_indirect_function, [dnl
-cat > conftest.s <<EOF
-.type foo,%gnu_indirect_function
-EOF
-if ${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD;
-then
- libc_cv_asm_gnu_indirect_function=yes
-else
- libc_cv_asm_gnu_indirect_function=no
-fi
-rm -f conftest*])
- else
- libc_cv_asm_gnu_indirect_function=no
- fi
- if test x"$libc_cv_asm_gnu_indirect_function" != xyes; then
- AC_MSG_ERROR([--enable-multi-arch support requires assembler and linker support])
- fi
-fi
-
AC_CACHE_CHECK(for .symver assembler directive, libc_cv_asm_symver_directive,
[cat > conftest.s <<EOF
${libc_cv_dot_text}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 37 +++++
NEWS | 16 ++-
configure | 304 +++++++++++++++++++----------------------
configure.in | 198 +++++++++++++---------------
stdlib/msort.c | 6 +-
string/bits/string3.h | 8 +-
sysdeps/generic/netinet/ip.h | 5 +-
version.h | 2 +-
wcsmbs/bits/wchar2.h | 44 ++++---
wcsmbs/wchar.h | 8 +-
10 files changed, 323 insertions(+), 305 deletions(-)
hooks/post-receive
--
GNU C Library master sources