[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r17672 - in /fsf/trunk/libc: ./ debug/ elf/ hurd/ malloc/ math/ nptl/ nptl/sysdeps/x86_64/ nscd/ posix/ stdio-common/ string...



Author: eglibc
Date: Wed Mar 21 00:01:54 2012
New Revision: 17672

Log:
Import glibc-mainline for 2012-03-21

Added:
    fsf/trunk/libc/sysdeps/generic/_itoa.h
Removed:
    fsf/trunk/libc/stdio-common/_itoa.h
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/debug/backtracesymsfd.c
    fsf/trunk/libc/debug/segfault.c
    fsf/trunk/libc/elf/dl-cache.c
    fsf/trunk/libc/elf/dl-minimal.c
    fsf/trunk/libc/elf/dl-misc.c
    fsf/trunk/libc/elf/dl-sysdep.c
    fsf/trunk/libc/elf/dl-version.c
    fsf/trunk/libc/elf/rtld.c
    fsf/trunk/libc/hurd/hurdsock.c
    fsf/trunk/libc/hurd/lookup-retry.c
    fsf/trunk/libc/malloc/malloc.c
    fsf/trunk/libc/malloc/mtrace.c
    fsf/trunk/libc/math/gen-libm-test.pl
    fsf/trunk/libc/math/libm-test.inc
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h
    fsf/trunk/libc/nscd/nscd_getgr_r.c
    fsf/trunk/libc/nscd/nscd_getpw_r.c
    fsf/trunk/libc/nscd/nscd_getserv_r.c
    fsf/trunk/libc/posix/getopt_init.c
    fsf/trunk/libc/posix/wordexp.c
    fsf/trunk/libc/stdio-common/_itoa.c
    fsf/trunk/libc/stdio-common/_itowa.c
    fsf/trunk/libc/stdio-common/printf_fphex.c
    fsf/trunk/libc/stdio-common/vfprintf.c
    fsf/trunk/libc/string/_strerror.c
    fsf/trunk/libc/sysdeps/generic/elf/backtracesymsfd.c
    fsf/trunk/libc/sysdeps/i386/i686/hp-timing.h
    fsf/trunk/libc/sysdeps/mach/_strerror.c
    fsf/trunk/libc/sysdeps/mach/hurd/powerpc/register-dump.h
    fsf/trunk/libc/sysdeps/mach/hurd/sethostid.c
    fsf/trunk/libc/sysdeps/mach/hurd/xmknodat.c
    fsf/trunk/libc/sysdeps/mach/xpg-strerror.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/hp-timing.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/register-dump.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/hp-timing.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/register-dump.h
    fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/hp-timing.h
    fsf/trunk/libc/sysdeps/sparc/sparc64/hp-timing.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/fd_to_filename.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/futimes.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/register-dump.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/ptsname.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname_r.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/register-dump.h
    fsf/trunk/libc/sysdeps/x86_64/bits/atomic.h
    fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h
    fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Mar 21 00:01:54 2012
@@ -1,6 +1,115 @@
+2012-03-20  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* debug/backtracesymsfd.c: Include <_itoa.h> instead of
+	<stdio-common/_itoa.h>.
+	* debug/segfault.c: Likewise.
+	* elf/dl-cache.c: Likewise.
+	* elf/dl-minimal.c: Likewise.
+	* elf/dl-misc.c: Likewise.
+	* elf/dl-sysdep.c: Likewise.
+	* elf/dl-version.c: Likewise.
+	* elf/rtld.c: Likewise.
+	* hurd/hurdsock.c: Likewise.
+	* hurd/lookup-retry.c: Likewise.
+	* malloc/malloc.c: Likewise.
+	* malloc/mtrace.c: Likewise.
+	* nscd/nscd_getgr_r.c: Likewise.
+	* nscd/nscd_getpw_r.c: Likewise.
+	* nscd/nscd_getserv_r.c: Likewise.
+	* posix/getopt_init.c: Likewise.
+	* posix/wordexp.c: Likewise.
+	* stdio-common/_itoa.c: Likewise.
+	* stdio-common/printf_fphex.c: Likewise.
+	* stdio-common/vfprintf.c: Likewise.
+	* string/_strerror.c: Likewise.
+	* sysdeps/generic/elf/backtracesymsfd.c: Likewise.
+	* sysdeps/i386/i686/hp-timing.h: Likewise.
+	* sysdeps/mach/_strerror.c: Likewise.
+	* sysdeps/mach/hurd/powerpc/register-dump.h: Likewise.
+	* sysdeps/mach/hurd/sethostid.c: Likewise.
+	* sysdeps/mach/hurd/xmknodat.c: Likewise.
+	* sysdeps/mach/xpg-strerror.c: Likewise.
+	* sysdeps/powerpc/powerpc32/dl-machine.c: Likewise.
+	* sysdeps/powerpc/powerpc32/power4/hp-timing.h: Likewise.
+	* sysdeps/powerpc/powerpc32/register-dump.h: Likewise.
+	* sysdeps/powerpc/powerpc64/dl-machine.c: Likewise.
+	* sysdeps/powerpc/powerpc64/hp-timing.h: Likewise.
+	* sysdeps/powerpc/powerpc64/register-dump.h: Likewise.
+	* sysdeps/sparc/sparc32/sparcv9/hp-timing.h: Likewise.
+	* sysdeps/sparc/sparc64/hp-timing.h: Likewise.
+	* sysdeps/unix/sysv/linux/fd_to_filename.h: Likewise.
+	* sysdeps/unix/sysv/linux/futimes.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/ptsname.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/sh/sh3/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/sh/sh4/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: Likewise.
+	* sysdeps/unix/sysv/linux/ttyname.c: Likewise.
+	* sysdeps/unix/sysv/linux/ttyname_r.c: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/register-dump.h: Likewise.
+
+	* stdio-common/_itoa.c: Include <_itoa.h> instead of "_itoa.h".
+
+	* stdio-common/_itoa.h: Moved to ...
+	* sysdeps/generic/_itoa.h: Here.
+
+	* stdio-common/_itowa.c: Include <_itowa.h> instead of "_itowa.h".
+
+	* stdio-common/printf_fphex.c: Include <_itoa.h> and <_itowa.h>
+	instead of "_itoa.h" and "_itowa.h".
+	* stdio-common/vfprintf.: Likewise.
+
+2012-03-20  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/fpu/bits/mathinline.h: Don't include
+	<bits/wordsize.h>.
+	(__signbitf): Check __x86_64__ instead of __WORDSIZE.
+	(__signbit): Likwise.
+	(llrintf): Likwise.
+	(llrint): Likwise.
+
+2012-03-20  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/bits/setjmp.h (__jmp_buf): Support x86-64 with
+	__WORDSIZE != 64.
+
+2012-03-20  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* math/gen-libm-test.pl (%beautify): Add OVERFLOW_EXCEPTION and
+	OVERFLOW_EXCEPTION_OK.
+	* math/libm-test.inc ("Philosophy"): Update comment about
+	exception testing.
+	(OVERFLOW_EXCEPTION): Define.
+	(OVERFLOW_EXCEPTION_OK): Likewise.
+	(INVALID_EXCEPTION_OK): Renumber.
+	(DIVIDE_BY_ZERO_EXCEPTION_OK): Likewise.
+	(IGNORE_ZERO_INF_SIGN): Likewise.
+	(test_exceptions): Handle FE_OVERFLOW.
+	(exp10_test): Expect overflow exceptions.
+	(exp2_test): Likewise.
+	(expm1_test): Likewise.
+	(nextafter_test): Likewise.
+	(pow_test): Likewise.
+	(scalbn_test): Likewise.
+	(scalbln_test): Likewise.
+
 2012-03-19  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
 
-	* sysdeps/x86_64/bits/mathdef.h: Don't include <bits/wordsize.h>.
+	* sysdeps/x86_64/bits/atomic.h
+	(__arch_c_compare_and_exchange_val_64_acq): Use atomic64_t on
+	64bit integer.
+	(atomic_exchange_acq): Likewise.
+	(__arch_exchange_and_add_body): Likewise.
+	(__arch_add_body): Likewise.
+	(atomic_add_negative): Likewise.
+	(atomic_add_zero): Likewise.
+
+2012-03-19  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/fpu/bits/fenv.h: Don't include <bits/wordsize.h>.
 	(fenv_t): Check __x86_64__ instead of __WORDSIZE.
 
 2012-03-19  H.J. Lu  <hongjiu.lu@xxxxxxxxx>

Modified: fsf/trunk/libc/debug/backtracesymsfd.c
==============================================================================
--- fsf/trunk/libc/debug/backtracesymsfd.c (original)
+++ fsf/trunk/libc/debug/backtracesymsfd.c Wed Mar 21 00:01:54 2012
@@ -21,7 +21,7 @@
 #include <string.h>
 #include <sys/uio.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <not-cancel.h>
 
 #if __ELF_NATIVE_CLASS == 32

Modified: fsf/trunk/libc/debug/segfault.c
==============================================================================
--- fsf/trunk/libc/debug/segfault.c (original)
+++ fsf/trunk/libc/debug/segfault.c Wed Mar 21 00:01:54 2012
@@ -29,7 +29,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <ldsodefs.h>
 
 #include <bp-checks.h>

Modified: fsf/trunk/libc/elf/dl-cache.c
==============================================================================
--- fsf/trunk/libc/elf/dl-cache.c (original)
+++ fsf/trunk/libc/elf/dl-cache.c Wed Mar 21 00:01:54 2012
@@ -24,7 +24,7 @@
 #include <dl-cache.h>
 #include <dl-procinfo.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #ifndef _DL_PLATFORMS_COUNT
 # define _DL_PLATFORMS_COUNT 0

Modified: fsf/trunk/libc/elf/dl-minimal.c
==============================================================================
--- fsf/trunk/libc/elf/dl-minimal.c (original)
+++ fsf/trunk/libc/elf/dl-minimal.c Wed Mar 21 00:01:54 2012
@@ -26,7 +26,7 @@
 #include <sys/param.h>
 #include <sys/types.h>
 #include <ldsodefs.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #include <assert.h>
 

Modified: fsf/trunk/libc/elf/dl-misc.c
==============================================================================
--- fsf/trunk/libc/elf/dl-misc.c (original)
+++ fsf/trunk/libc/elf/dl-misc.c Wed Mar 21 00:01:54 2012
@@ -30,7 +30,7 @@
 #include <sys/stat.h>
 #include <sys/uio.h>
 #include <sysdep.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <bits/libc-lock.h>
 
 /* Read the whole contents of FILE into new mmap'd space with given

Modified: fsf/trunk/libc/elf/dl-sysdep.c
==============================================================================
--- fsf/trunk/libc/elf/dl-sysdep.c (original)
+++ fsf/trunk/libc/elf/dl-sysdep.c Wed Mar 21 00:01:54 2012
@@ -29,7 +29,7 @@
 #include <sys/stat.h>
 #include <sys/mman.h>
 #include <ldsodefs.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <fpu_control.h>
 
 #include <entry.h>

Modified: fsf/trunk/libc/elf/dl-version.c
==============================================================================
--- fsf/trunk/libc/elf/dl-version.c (original)
+++ fsf/trunk/libc/elf/dl-version.c Wed Mar 21 00:01:54 2012
@@ -23,7 +23,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <ldsodefs.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #include <assert.h>
 

Modified: fsf/trunk/libc/elf/rtld.c
==============================================================================
--- fsf/trunk/libc/elf/rtld.c (original)
+++ fsf/trunk/libc/elf/rtld.c Wed Mar 21 00:01:54 2012
@@ -27,7 +27,7 @@
 #include <sys/param.h>
 #include <sys/stat.h>
 #include <ldsodefs.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <entry.h>
 #include <fpu_control.h>
 #include <hp-timing.h>

Modified: fsf/trunk/libc/hurd/hurdsock.c
==============================================================================
--- fsf/trunk/libc/hurd/hurdsock.c (original)
+++ fsf/trunk/libc/hurd/hurdsock.c Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 #include <string.h>
 #include <hurd/paths.h>
 #include <stdio.h>
-#include "stdio-common/_itoa.h"
+#include <_itoa.h>
 #include <cthreads.h>		/* For `struct mutex'.  */
 #include "hurdmalloc.h"		/* XXX */
 

Modified: fsf/trunk/libc/hurd/lookup-retry.c
==============================================================================
--- fsf/trunk/libc/hurd/lookup-retry.c (original)
+++ fsf/trunk/libc/hurd/lookup-retry.c Wed Mar 21 00:01:54 2012
@@ -24,7 +24,7 @@
 #include <limits.h>
 #include <fcntl.h>
 #include <string.h>
-#include "stdio-common/_itoa.h"
+#include <_itoa.h>
 
 /* Translate the error from dir_lookup into the error the user sees.  */
 static inline error_t

Modified: fsf/trunk/libc/malloc/malloc.c
==============================================================================
--- fsf/trunk/libc/malloc/malloc.c (original)
+++ fsf/trunk/libc/malloc/malloc.c Wed Mar 21 00:01:54 2012
@@ -218,7 +218,7 @@
 #include <malloc-machine.h>
 
 #include <atomic.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <bits/wordsize.h>
 #include <sys/sysinfo.h>
 

Modified: fsf/trunk/libc/malloc/mtrace.c
==============================================================================
--- fsf/trunk/libc/malloc/mtrace.c (original)
+++ fsf/trunk/libc/malloc/mtrace.c Wed Mar 21 00:01:54 2012
@@ -31,7 +31,7 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #include <libc-internal.h>
 

Modified: fsf/trunk/libc/math/gen-libm-test.pl
==============================================================================
--- fsf/trunk/libc/math/gen-libm-test.pl (original)
+++ fsf/trunk/libc/math/gen-libm-test.pl Wed Mar 21 00:01:54 2012
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# Copyright (C) 1999, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 # Contributed by Andreas Jaeger <aj@xxxxxxx>, 1999.
 
@@ -78,8 +78,10 @@
     "M_SQRT_PIl" => "sqrt (pi)",
     "INVALID_EXCEPTION" => "invalid exception",
     "DIVIDE_BY_ZERO_EXCEPTION" => "division by zero exception",
+    "OVERFLOW_EXCEPTION" => "overflow exception",
     "INVALID_EXCEPTION_OK" => "invalid exception allowed",
     "DIVIDE_BY_ZERO_EXCEPTION_OK" => "division by zero exception allowed",
+    "OVERFLOW_EXCEPTION_OK" => "overflow exception allowed",
     "EXCEPTIONS_OK" => "exceptions allowed",
     "IGNORE_ZERO_INF_SIGN" => "sign of zero/inf not specified",
 "INVALID_EXCEPTION|IGNORE_ZERO_INF_SIGN" => "invalid exception and sign of zero/inf not specified"

Modified: fsf/trunk/libc/math/libm-test.inc
==============================================================================
--- fsf/trunk/libc/math/libm-test.inc (original)
+++ fsf/trunk/libc/math/libm-test.inc Wed Mar 21 00:01:54 2012
@@ -78,8 +78,8 @@
    against.  These implemented tests should check all cases that are
    specified in ISO C99.
 
-   Exception testing: At the moment only divide-by-zero and invalid
-   exceptions are tested.  Overflow/underflow and inexact exceptions
+   Exception testing: At the moment only divide-by-zero, invalid and
+   overflow exceptions are tested.  Underflow and inexact exceptions
    aren't checked at the moment.
 
    NaN values: There exist signalling and quiet NaNs.  This implementation
@@ -132,12 +132,14 @@
 #define NO_EXCEPTION			0x0
 #define INVALID_EXCEPTION		0x1
 #define DIVIDE_BY_ZERO_EXCEPTION	0x2
+#define OVERFLOW_EXCEPTION		0x4
 /* The next flags signals that those exceptions are allowed but not required.   */
-#define INVALID_EXCEPTION_OK		0x4
-#define DIVIDE_BY_ZERO_EXCEPTION_OK	0x8
+#define INVALID_EXCEPTION_OK		0x8
+#define DIVIDE_BY_ZERO_EXCEPTION_OK	0x10
+#define OVERFLOW_EXCEPTION_OK		0x20
 #define EXCEPTIONS_OK INVALID_EXCEPTION_OK+DIVIDE_BY_ZERO_EXCEPTION_OK
 /* Some special test flags, passed togther with exceptions.  */
-#define IGNORE_ZERO_INF_SIGN		0x10
+#define IGNORE_ZERO_INF_SIGN		0x40
 
 /* Various constants (we must supply them precalculated for accuracy).  */
 #define M_PI_6l			.52359877559829887307710723054658383L
@@ -450,6 +452,11 @@
   if ((exception & INVALID_EXCEPTION_OK) == 0)
     test_single_exception (test_name, exception, INVALID_EXCEPTION, FE_INVALID,
 			 "Invalid operation");
+#endif
+#ifdef FE_OVERFLOW
+  if ((exception & OVERFLOW_EXCEPTION_OK) == 0)
+    test_single_exception (test_name, exception, OVERFLOW_EXCEPTION,
+			   FE_OVERFLOW, "Overflow");
 #endif
   feclearexcept (FE_ALL_EXCEPT);
 }
@@ -3074,7 +3081,7 @@
   TEST_f_f (exp10, nan_value, nan_value);
   TEST_f_f (exp10, 3, 1000);
   TEST_f_f (exp10, -1, 0.1L);
-  TEST_f_f (exp10, 1e6, plus_infty);
+  TEST_f_f (exp10, 1e6, plus_infty, OVERFLOW_EXCEPTION);
   TEST_f_f (exp10, -1e6, 0);
   TEST_f_f (exp10, 0.75L, 5.62341325190349080394951039776481231L);
 
@@ -3101,7 +3108,8 @@
 
   TEST_f_f (exp2, 10, 1024);
   TEST_f_f (exp2, -1, 0.5);
-  TEST_f_f (exp2, 1e6, plus_infty);
+  /* Bug 13871: OVERFLOW exception may be missing.  */
+  TEST_f_f (exp2, 1e6, plus_infty, OVERFLOW_EXCEPTION_OK);
   TEST_f_f (exp2, -1e6, 0);
   TEST_f_f (exp2, 0.75L, 1.68179283050742908606225095246642979L);
 
@@ -3137,7 +3145,8 @@
 #endif
 
   errno = 0;
-  TEST_f_f (expm1, 100000.0, plus_infty);
+  /* Bug 13787: OVERFLOW exception may be missing.  */
+  TEST_f_f (expm1, 100000.0, plus_infty, OVERFLOW_EXCEPTION_OK);
   check_int ("errno for expm1(large) == ERANGE", errno, ERANGE, 0, 0, 0);
 
   END (expm1);
@@ -5242,8 +5251,8 @@
 
   FLOAT fltmax = CHOOSE (LDBL_MAX, DBL_MAX, FLT_MAX,
 			 LDBL_MAX, DBL_MAX, FLT_MAX);
-  TEST_ff_f (nextafter, fltmax, plus_infty, plus_infty);
-  TEST_ff_f (nextafter, -fltmax, minus_infty, minus_infty);
+  TEST_ff_f (nextafter, fltmax, plus_infty, plus_infty, OVERFLOW_EXCEPTION);
+  TEST_ff_f (nextafter, -fltmax, minus_infty, minus_infty, OVERFLOW_EXCEPTION);
 
 #ifdef TEST_LDOUBLE
   // XXX Enable once gcc is fixed.
@@ -5441,10 +5450,12 @@
   TEST_ff_f (pow, minus_zero, -11.1L, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
   check_int ("errno for pow(-0,-num) == ERANGE", errno, ERANGE, 0, 0, 0);
 
-  TEST_ff_f (pow, 0x1p72L, 0x1p72L, plus_infty);
+  TEST_ff_f (pow, 0x1p72L, 0x1p72L, plus_infty, OVERFLOW_EXCEPTION);
   TEST_ff_f (pow, 10, -0x1p72L, 0);
-  TEST_ff_f (pow, max_value, max_value, plus_infty);
-  TEST_ff_f (pow, 10, -max_value, 0);
+  /* Bug 13873: OVERFLOW exception may be missing.  */
+  TEST_ff_f (pow, max_value, max_value, plus_infty, OVERFLOW_EXCEPTION_OK);
+  /* Bug 13872: spurious OVERFLOW exception may be present.  */
+  TEST_ff_f (pow, 10, -max_value, 0, OVERFLOW_EXCEPTION_OK);
 
   TEST_ff_f (pow, 0, 1, 0);
   TEST_ff_f (pow, 0, 11, 0);
@@ -6338,13 +6349,13 @@
 
   TEST_fi_f (scalbn, 1, 0L, 1);
 
-  TEST_fi_f (scalbn, 1, INT_MAX, plus_infty);
+  TEST_fi_f (scalbn, 1, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbn, 1, INT_MIN, plus_zero);
-  TEST_fi_f (scalbn, max_value, INT_MAX, plus_infty);
+  TEST_fi_f (scalbn, max_value, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbn, max_value, INT_MIN, plus_zero);
-  TEST_fi_f (scalbn, min_value, INT_MAX, plus_infty);
+  TEST_fi_f (scalbn, min_value, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbn, min_value, INT_MIN, plus_zero);
-  TEST_fi_f (scalbn, min_value / 4, INT_MAX, plus_infty);
+  TEST_fi_f (scalbn, min_value / 4, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbn, min_value / 4, INT_MIN, plus_zero);
 
   END (scalbn);
@@ -6369,32 +6380,32 @@
 
   TEST_fl_f (scalbln, 1, 0L, 1);
 
-  TEST_fi_f (scalbln, 1, INT_MAX, plus_infty);
+  TEST_fi_f (scalbln, 1, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, 1, INT_MIN, plus_zero);
-  TEST_fi_f (scalbln, max_value, INT_MAX, plus_infty);
+  TEST_fi_f (scalbln, max_value, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, max_value, INT_MIN, plus_zero);
-  TEST_fi_f (scalbln, min_value, INT_MAX, plus_infty);
+  TEST_fi_f (scalbln, min_value, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, min_value, INT_MIN, plus_zero);
-  TEST_fi_f (scalbln, min_value / 4, INT_MAX, plus_infty);
+  TEST_fi_f (scalbln, min_value / 4, INT_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, min_value / 4, INT_MIN, plus_zero);
 
-  TEST_fi_f (scalbln, 1, LONG_MAX, plus_infty);
+  TEST_fi_f (scalbln, 1, LONG_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, 1, LONG_MIN, plus_zero);
-  TEST_fi_f (scalbln, max_value, LONG_MAX, plus_infty);
+  TEST_fi_f (scalbln, max_value, LONG_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, max_value, LONG_MIN, plus_zero);
-  TEST_fi_f (scalbln, min_value, LONG_MAX, plus_infty);
+  TEST_fi_f (scalbln, min_value, LONG_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, min_value, LONG_MIN, plus_zero);
-  TEST_fi_f (scalbln, min_value / 4, LONG_MAX, plus_infty);
+  TEST_fi_f (scalbln, min_value / 4, LONG_MAX, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, min_value / 4, LONG_MIN, plus_zero);
 
 #if LONG_MAX >= 0x100000000
-  TEST_fi_f (scalbln, 1, 0x88000000L, plus_infty);
+  TEST_fi_f (scalbln, 1, 0x88000000L, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, 1, -0x88000000L, plus_zero);
-  TEST_fi_f (scalbln, max_value, 0x88000000L, plus_infty);
+  TEST_fi_f (scalbln, max_value, 0x88000000L, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, max_value, -0x88000000L, plus_zero);
-  TEST_fi_f (scalbln, min_value, 0x88000000L, plus_infty);
+  TEST_fi_f (scalbln, min_value, 0x88000000L, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, min_value, -0x88000000L, plus_zero);
-  TEST_fi_f (scalbln, min_value / 4, 0x88000000L, plus_infty);
+  TEST_fi_f (scalbln, min_value / 4, 0x88000000L, plus_infty, OVERFLOW_EXCEPTION);
   TEST_fi_f (scalbln, min_value / 4, -0x88000000L, plus_zero);
 #endif
 

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Wed Mar 21 00:01:54 2012
@@ -1,3 +1,8 @@
+2012-03-19  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/pthreaddef.h (CURRENT_STACK_FRAME): Use
+	register char * __asm__("rsp") to get stack frame.
+
 2012-03-19  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (SYS_futex): Use

Modified: fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h Wed Mar 21 00:01:54 2012
@@ -41,7 +41,7 @@
 
 /* Location of current stack frame.  The frame pointer is not usable.  */
 #define CURRENT_STACK_FRAME \
-  ({ char *frame; asm ("movq %%rsp, %0" : "=r" (frame)); frame; })
+  ({ register char *frame __asm__("rsp"); frame; })
 
 
 /* XXX Until we have a better place keep the definitions here.  */

Modified: fsf/trunk/libc/nscd/nscd_getgr_r.c
==============================================================================
--- fsf/trunk/libc/nscd/nscd_getgr_r.c (original)
+++ fsf/trunk/libc/nscd/nscd_getgr_r.c Wed Mar 21 00:01:54 2012
@@ -31,7 +31,7 @@
 #include <sys/uio.h>
 #include <sys/un.h>
 #include <not-cancel.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #include "nscd-client.h"
 #include "nscd_proto.h"

Modified: fsf/trunk/libc/nscd/nscd_getpw_r.c
==============================================================================
--- fsf/trunk/libc/nscd/nscd_getpw_r.c (original)
+++ fsf/trunk/libc/nscd/nscd_getpw_r.c Wed Mar 21 00:01:54 2012
@@ -30,7 +30,7 @@
 #include <sys/uio.h>
 #include <sys/un.h>
 #include <not-cancel.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #include "nscd-client.h"
 #include "nscd_proto.h"

Modified: fsf/trunk/libc/nscd/nscd_getserv_r.c
==============================================================================
--- fsf/trunk/libc/nscd/nscd_getserv_r.c (original)
+++ fsf/trunk/libc/nscd/nscd_getserv_r.c Wed Mar 21 00:01:54 2012
@@ -20,7 +20,7 @@
 #include <errno.h>
 #include <string.h>
 #include <not-cancel.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #include "nscd-client.h"
 #include "nscd_proto.h"

Modified: fsf/trunk/libc/posix/getopt_init.c
==============================================================================
--- fsf/trunk/libc/posix/getopt_init.c (original)
+++ fsf/trunk/libc/posix/getopt_init.c Wed Mar 21 00:01:54 2012
@@ -27,7 +27,7 @@
 #include <unistd.h>
 #include <sys/types.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* Variable to synchronize work.  */
 char *__getopt_nonoption_flags;

Modified: fsf/trunk/libc/posix/wordexp.c
==============================================================================
--- fsf/trunk/libc/posix/wordexp.c (original)
+++ fsf/trunk/libc/posix/wordexp.c Wed Mar 21 00:01:54 2012
@@ -42,7 +42,7 @@
 #include <kernel-features.h>
 
 #include <bits/libc-lock.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* Undefine the following line for the production version.  */
 /* #define NDEBUG 1 */

Modified: fsf/trunk/libc/stdio-common/_itoa.c
==============================================================================
--- fsf/trunk/libc/stdio-common/_itoa.c (original)
+++ fsf/trunk/libc/stdio-common/_itoa.c Wed Mar 21 00:01:54 2012
@@ -25,7 +25,7 @@
 #include <stdlib/gmp-impl.h>
 #include <stdlib/longlong.h>
 
-#include "_itoa.h"
+#include <_itoa.h>
 
 
 /* Canonize environment.  For some architectures not all values might

Removed: fsf/trunk/libc/stdio-common/_itoa.h
==============================================================================
--- fsf/trunk/libc/stdio-common/_itoa.h (original)
+++ fsf/trunk/libc/stdio-common/_itoa.h (removed)
@@ -1,92 +1,0 @@
-/* Internal function for converting integers to ASCII.
-   Copyright (C) 1994-1999,2002,2003,2007 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
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _ITOA_H
-#define _ITOA_H
-
-#include <limits.h>
-
-/* Convert VALUE into ASCII in base BASE (2..36).
-   Write backwards starting the character just before BUFLIM.
-   Return the address of the first (left-to-right) character in the number.
-   Use upper case letters iff UPPER_CASE is nonzero.  */
-
-extern char *_itoa (unsigned long long int value, char *buflim,
-		    unsigned int base, int upper_case);
-
-extern const char _itoa_upper_digits[];
-extern const char _itoa_upper_digits_internal[] attribute_hidden;
-extern const char _itoa_lower_digits[];
-extern const char _itoa_lower_digits_internal[] attribute_hidden;
-
-#ifndef NOT_IN_libc
-extern char *_itoa_word (unsigned long value, char *buflim,
-			 unsigned int base, int upper_case);
-#else
-static inline char * __attribute__ ((unused, always_inline))
-_itoa_word (unsigned long value, char *buflim,
-	    unsigned int base, int upper_case)
-{
-  const char *digits = (upper_case
-# if defined IS_IN_rtld
-			? INTUSE(_itoa_upper_digits)
-			: INTUSE(_itoa_lower_digits)
-# else
-			? _itoa_upper_digits
-			: _itoa_lower_digits
-# endif
-		       );
-
-  switch (base)
-    {
-# define SPECIAL(Base)							      \
-    case Base:								      \
-      do								      \
-	*--buflim = digits[value % Base];				      \
-      while ((value /= Base) != 0);					      \
-      break
-
-      SPECIAL (10);
-      SPECIAL (16);
-      SPECIAL (8);
-    default:
-      do
-	*--buflim = digits[value % base];
-      while ((value /= base) != 0);
-    }
-  return buflim;
-}
-# undef SPECIAL
-#endif
-
-/* Similar to the _itoa functions, but output starts at buf and pointer
-   after the last written character is returned.  */
-extern char *_fitoa_word (unsigned long value, char *buf, unsigned int base,
-			  int upper_case) attribute_hidden;
-extern char *_fitoa (unsigned long long value, char *buf, unsigned int base,
-		     int upper_case) attribute_hidden;
-
-#if LONG_MAX == LLONG_MAX
-/* No need for special long long versions.  */
-# define _itoa(value, buf, base, upper_case) \
-  _itoa_word (value, buf, base, upper_case)
-# define _fitoa(value, buf, base, upper_case) \
-  _fitoa_word (value, buf, base, upper_case)
-#endif
-
-#endif	/* itoa.h */

Modified: fsf/trunk/libc/stdio-common/_itowa.c
==============================================================================
--- fsf/trunk/libc/stdio-common/_itowa.c (original)
+++ fsf/trunk/libc/stdio-common/_itowa.c Wed Mar 21 00:01:54 2012
@@ -24,7 +24,7 @@
 #include <stdlib/gmp-impl.h>
 #include <stdlib/longlong.h>
 
-#include "_itowa.h"
+#include <_itowa.h>
 
 
 /* Canonize environment.  For some architectures not all values might

Modified: fsf/trunk/libc/stdio-common/printf_fphex.c
==============================================================================
--- fsf/trunk/libc/stdio-common/printf_fphex.c (original)
+++ fsf/trunk/libc/stdio-common/printf_fphex.c Wed Mar 21 00:01:54 2012
@@ -25,8 +25,8 @@
 #include <stdio.h>
 #include <string.h>
 #include <wchar.h>
-#include "_itoa.h"
-#include "_itowa.h"
+#include <_itoa.h>
+#include <_itowa.h>
 #include <locale/localeinfo.h>
 
 /* #define NDEBUG 1*/		/* Undefine this for debugging assertions.  */

Modified: fsf/trunk/libc/stdio-common/vfprintf.c
==============================================================================
--- fsf/trunk/libc/stdio-common/vfprintf.c (original)
+++ fsf/trunk/libc/stdio-common/vfprintf.c Wed Mar 21 00:01:54 2012
@@ -26,7 +26,7 @@
 #include <wchar.h>
 #include <bits/libc-lock.h>
 #include <sys/param.h>
-#include "_itoa.h"
+#include <_itoa.h>
 #include <locale/localeinfo.h>
 #include <stdio.h>
 
@@ -102,7 +102,7 @@
 # define ISDIGIT(Ch)	((unsigned int) ((Ch) - L'0') < 10)
 # define STR_LEN(Str)	__wcslen (Str)
 
-# include "_itowa.h"
+# include <_itowa.h>
 
 # define PUT(F, S, N)	_IO_sputn ((F), (S), (N))
 # define PAD(Padchar) \

Modified: fsf/trunk/libc/string/_strerror.c
==============================================================================
--- fsf/trunk/libc/string/_strerror.c (original)
+++ fsf/trunk/libc/string/_strerror.c Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* It is critical here that we always use the `dcgettext' function for
    the message translation.  Since <libintl.h> only defines the macro

Added: fsf/trunk/libc/sysdeps/generic/_itoa.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/_itoa.h (added)
+++ fsf/trunk/libc/sysdeps/generic/_itoa.h Wed Mar 21 00:01:54 2012
@@ -1,0 +1,92 @@
+/* Internal function for converting integers to ASCII.
+   Copyright (C) 1994-1999,2002,2003,2007 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _ITOA_H
+#define _ITOA_H
+
+#include <limits.h>
+
+/* Convert VALUE into ASCII in base BASE (2..36).
+   Write backwards starting the character just before BUFLIM.
+   Return the address of the first (left-to-right) character in the number.
+   Use upper case letters iff UPPER_CASE is nonzero.  */
+
+extern char *_itoa (unsigned long long int value, char *buflim,
+		    unsigned int base, int upper_case);
+
+extern const char _itoa_upper_digits[];
+extern const char _itoa_upper_digits_internal[] attribute_hidden;
+extern const char _itoa_lower_digits[];
+extern const char _itoa_lower_digits_internal[] attribute_hidden;
+
+#ifndef NOT_IN_libc
+extern char *_itoa_word (unsigned long value, char *buflim,
+			 unsigned int base, int upper_case);
+#else
+static inline char * __attribute__ ((unused, always_inline))
+_itoa_word (unsigned long value, char *buflim,
+	    unsigned int base, int upper_case)
+{
+  const char *digits = (upper_case
+# if defined IS_IN_rtld
+			? INTUSE(_itoa_upper_digits)
+			: INTUSE(_itoa_lower_digits)
+# else
+			? _itoa_upper_digits
+			: _itoa_lower_digits
+# endif
+		       );
+
+  switch (base)
+    {
+# define SPECIAL(Base)							      \
+    case Base:								      \
+      do								      \
+	*--buflim = digits[value % Base];				      \
+      while ((value /= Base) != 0);					      \
+      break
+
+      SPECIAL (10);
+      SPECIAL (16);
+      SPECIAL (8);
+    default:
+      do
+	*--buflim = digits[value % base];
+      while ((value /= base) != 0);
+    }
+  return buflim;
+}
+# undef SPECIAL
+#endif
+
+/* Similar to the _itoa functions, but output starts at buf and pointer
+   after the last written character is returned.  */
+extern char *_fitoa_word (unsigned long value, char *buf, unsigned int base,
+			  int upper_case) attribute_hidden;
+extern char *_fitoa (unsigned long long value, char *buf, unsigned int base,
+		     int upper_case) attribute_hidden;
+
+#if LONG_MAX == LLONG_MAX
+/* No need for special long long versions.  */
+# define _itoa(value, buf, base, upper_case) \
+  _itoa_word (value, buf, base, upper_case)
+# define _fitoa(value, buf, base, upper_case) \
+  _fitoa_word (value, buf, base, upper_case)
+#endif
+
+#endif	/* itoa.h */

Modified: fsf/trunk/libc/sysdeps/generic/elf/backtracesymsfd.c
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/elf/backtracesymsfd.c (original)
+++ fsf/trunk/libc/sysdeps/generic/elf/backtracesymsfd.c Wed Mar 21 00:01:54 2012
@@ -21,7 +21,7 @@
 #include <string.h>
 #include <sys/uio.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <ldsodefs.h>
 
 #if __ELF_NATIVE_CLASS == 32

Modified: fsf/trunk/libc/sysdeps/i386/i686/hp-timing.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/hp-timing.h (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/hp-timing.h Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 
 #include <string.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* The macros defined here use the timestamp counter in i586 and up versions
    of the x86 processors.  They provide a very accurate way to measure the

Modified: fsf/trunk/libc/sysdeps/mach/_strerror.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/_strerror.c (original)
+++ fsf/trunk/libc/sysdeps/mach/_strerror.c Wed Mar 21 00:01:54 2012
@@ -21,7 +21,7 @@
 #include <mach/error.h>
 #include <errorlib.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* It is critical here that we always use the `dcgettext' function for
    the message translation.  Since <libintl.h> only defines the macro

Modified: fsf/trunk/libc/sysdeps/mach/hurd/powerpc/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/powerpc/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/powerpc/register-dump.h Wed Mar 21 00:01:54 2012
@@ -17,7 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* This prints out the information in the following form: */
 static const char dumpform[] = "\

Modified: fsf/trunk/libc/sysdeps/mach/hurd/sethostid.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/sethostid.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/sethostid.c Wed Mar 21 00:01:54 2012
@@ -18,7 +18,7 @@
 #include <unistd.h>
 #include <hurd.h>
 #include "hurdhost.h"
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* Set the current machine's Internet number to ID.
    This call is restricted to the super-user.  */

Modified: fsf/trunk/libc/sysdeps/mach/hurd/xmknodat.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/xmknodat.c (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/xmknodat.c Wed Mar 21 00:01:54 2012
@@ -23,7 +23,7 @@
 #include <hurd/fd.h>
 #include <hurd/paths.h>
 #include <fcntl.h>
-#include "stdio-common/_itoa.h"
+#include <_itoa.h>
 #include <string.h>
 #include <sys/types.h>
 

Modified: fsf/trunk/libc/sysdeps/mach/xpg-strerror.c
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/xpg-strerror.c (original)
+++ fsf/trunk/libc/sysdeps/mach/xpg-strerror.c Wed Mar 21 00:01:54 2012
@@ -23,7 +23,7 @@
 #include <mach/error.h>
 #include <errorlib.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* It is critical here that we always use the `dcgettext' function for
    the message translation.  Since <libintl.h> only defines the macro

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c Wed Mar 21 00:01:54 2012
@@ -23,7 +23,7 @@
 #include <ldsodefs.h>
 #include <elf/dynamic-link.h>
 #include <dl-machine.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* The value __cache_line_size is defined in dl-sysdep.c and is initialised
    by _dl_sysdep_start via DL_PLATFORM_INIT.  */

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/hp-timing.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/hp-timing.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/hp-timing.h Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 
 #include <string.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <atomic.h>
 
 /* The macros defined here use the powerpc 64-bit time base register.

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/register-dump.h Wed Mar 21 00:01:54 2012
@@ -17,7 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* This prints out the information in the following form: */
 static const char dumpform[] = "\

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.c
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.c (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.c Wed Mar 21 00:01:54 2012
@@ -19,7 +19,7 @@
 #include <string.h>
 #include <unistd.h>
 #include <ldsodefs.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <dl-machine.h>
 
 void

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/hp-timing.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/hp-timing.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/hp-timing.h Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 
 #include <string.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <atomic.h>
 
 /* The macros defined here use the powerpc 64-bit time base register.

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/register-dump.h Wed Mar 21 00:01:54 2012
@@ -17,7 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* This prints out the information in the following form: */
 static const char dumpform[] = "\

Modified: fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/hp-timing.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/hp-timing.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc32/sparcv9/hp-timing.h Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 
 #include <string.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #define HP_TIMING_AVAIL		(1)
 #define HP_TIMING_INLINE	(1)

Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/hp-timing.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/hp-timing.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/hp-timing.h Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 
 #include <string.h>
 #include <sys/param.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 #define HP_TIMING_AVAIL		(1)
 #define HP_TIMING_INLINE	(1)

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/fd_to_filename.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/fd_to_filename.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/fd_to_filename.h Wed Mar 21 00:01:54 2012
@@ -19,7 +19,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/stat.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 static inline const char *
 fd_to_filename (int fd)

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/futimes.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/futimes.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/futimes.c Wed Mar 21 00:01:54 2012
@@ -22,7 +22,7 @@
 #include <time.h>
 #include <utime.h>
 #include <sys/time.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <fcntl.h>
 
 #include <kernel-features.h>

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/register-dump.h Wed Mar 21 00:01:54 2012
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/ptsname.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/ptsname.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/ptsname.c Wed Mar 21 00:01:54 2012
@@ -26,7 +26,7 @@
 #include <termios.h>
 #include <unistd.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* Check if DEV corresponds to a master pseudo terminal device.  */
 #define MASTER_P(Dev)                                                         \

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-32/register-dump.h Wed Mar 21 00:01:54 2012
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h Wed Mar 21 00:01:54 2012
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h Wed Mar 21 00:01:54 2012
@@ -17,7 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sh/sh4/register-dump.h Wed Mar 21 00:01:54 2012
@@ -17,7 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h Wed Mar 21 00:01:54 2012
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h Wed Mar 21 00:01:54 2012
@@ -18,7 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname.c Wed Mar 21 00:01:54 2012
@@ -27,7 +27,7 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <kernel-features.h>
 
 #if 0

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname_r.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname_r.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/ttyname_r.c Wed Mar 21 00:01:54 2012
@@ -27,7 +27,7 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 #include <kernel-features.h>
 
 static int getttyname_r (char *buf, size_t buflen,

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/register-dump.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/register-dump.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/register-dump.h Wed Mar 21 00:01:54 2012
@@ -17,7 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sys/uio.h>
-#include <stdio-common/_itoa.h>
+#include <_itoa.h>
 
 /* We will print the register dump in this format:
 

Modified: fsf/trunk/libc/sysdeps/x86_64/bits/atomic.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/atomic.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/atomic.h Wed Mar 21 00:01:54 2012
@@ -101,8 +101,8 @@
 		       "lock\n"						      \
 		       "0:\tcmpxchgq %q2, %1"				      \
 		       : "=a" (ret), "=m" (*mem)			      \
-		       : "q" ((long int) (newval)), "m" (*mem),		      \
-			 "0" ((long int)oldval),			      \
+		       : "q" ((atomic64_t) (newval)), "m" (*mem),	      \
+			 "0" ((atomic64_t) (oldval)),		      \
 			 "i" (offsetof (tcbhead_t, multiple_threads)));	      \
      ret; })
 
@@ -125,7 +125,7 @@
      else								      \
        __asm __volatile ("xchgq %q0, %1"				      \
 			 : "=r" (result), "=m" (*mem)			      \
-			 : "0" ((long) (newvalue)), "m" (*mem));	      \
+			 : "0" ((atomic64_t) (newvalue)), "m" (*mem));	      \
      result; })
 
 
@@ -149,7 +149,7 @@
      else								      \
        __asm __volatile (lock "xaddq %q0, %1"				      \
 			 : "=r" (result), "=m" (*mem)			      \
-			 : "0" ((long) (value)), "m" (*mem),		      \
+			 : "0" ((atomic64_t) (value)), "m" (*mem),	      \
 			   "i" (offsetof (tcbhead_t, multiple_threads)));     \
      result; })
 
@@ -187,7 +187,7 @@
     else								      \
       __asm __volatile (lock "addq %q1, %0"				      \
 			: "=m" (*mem)					      \
-			: "ir" ((long) (value)), "m" (*mem),		      \
+			: "ir" ((atomic64_t) (value)), "m" (*mem),	      \
 			  "i" (offsetof (tcbhead_t, multiple_threads)));      \
   } while (0)
 
@@ -218,7 +218,7 @@
      else								      \
        __asm __volatile (LOCK_PREFIX "addq %q2, %0; sets %1"		      \
 			 : "=m" (*mem), "=qm" (__result)		      \
-			 : "ir" ((long) (value)), "m" (*mem));		      \
+			 : "ir" ((atomic64_t) (value)), "m" (*mem));	      \
      __result; })
 
 
@@ -239,7 +239,7 @@
      else								      \
        __asm __volatile (LOCK_PREFIX "addq %q2, %0; setz %1"		      \
 			 : "=m" (*mem), "=qm" (__result)		      \
-			 : "ir" ((long) (value)), "m" (*mem));		      \
+			 : "ir" ((atomic64_t) (value)), "m" (*mem));	      \
      __result; })
 
 

Modified: fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/bits/setjmp.h Wed Mar 21 00:01:54 2012
@@ -29,6 +29,8 @@
 
 # if __WORDSIZE == 64
 typedef long int __jmp_buf[8];
+# elif defined  __x86_64__
+typedef long long int __jmp_buf[8];
 # else
 typedef int __jmp_buf[6];
 # endif

Modified: fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h (original)
+++ fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h Wed Mar 21 00:01:54 2012
@@ -20,8 +20,6 @@
 # error "Never use <bits/mathinline.h> directly; include <math.h> instead."
 #endif
 
-#include <bits/wordsize.h>
-
 #ifndef __extern_always_inline
 # define __MATH_INLINE __inline
 #else
@@ -38,7 +36,7 @@
 __MATH_INLINE int
 __NTH (__signbitf (float __x))
 {
-# if __WORDSIZE == 32
+# ifndef __x86_64__
   __extension__ union { float __f; int __i; } __u = { __f: __x };
   return __u.__i < 0;
 # else
@@ -50,7 +48,7 @@
 __MATH_INLINE int
 __NTH (__signbit (double __x))
 {
-# if __WORDSIZE == 32
+# ifndef __x86_64__
   __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
   return __u.__i[1] < 0;
 # else
@@ -94,7 +92,7 @@
   return __res;
 }
 #  endif
-#  if __WORDSIZE == 64
+#  ifdef __x86_64__
 __MATH_INLINE long long int
 __NTH (llrintf (float __x))
 {

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits