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

[Commits] r18605 - in /fsf/trunk/libc: ./ bits/ manual/ stdio-common/ sysdeps/mach/hurd/bits/ sysdeps/powerpc/powerpc32/ sysdeps/power...



Author: eglibc
Date: Sat May 19 00:01:58 2012
New Revision: 18605

Log:
Import glibc-mainline for 2012-05-19

Added:
    fsf/trunk/libc/sysdeps/x86_64/x32/_itoa.h
Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/INSTALL
    fsf/trunk/libc/bits/types.h
    fsf/trunk/libc/bits/typesizes.h
    fsf/trunk/libc/manual/install.texi
    fsf/trunk/libc/stdio-common/_itoa.c
    fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-machine.c
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-start.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/Makefile
    fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/Makefile
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/__longjmp-common.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-trampoline.S
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/Makefile
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/Makefile
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/setjmp-common.S
    fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statfs.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/getdents.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/pselect.c
    fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h
    fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.S
    fsf/trunk/libc/sysdeps/unix/x86_64/sysdep.S
    fsf/trunk/libc/sysdeps/x86_64/fpu/bits/mathinline.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat May 19 00:01:58 2012
@@ -1,3 +1,118 @@
+2012-05-18  Andreas Jaeger  <aj@xxxxxxx>
+	    Carlos O'Donell  <carlos_odonell@xxxxxxxxxx>
+
+	* manual/install.texi (Configuring and compiling): Update
+	description about files modified in the source directory.
+        * INSTALL: Regenerated.
+
+2012-05-18  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/unix/x86_64/sysdep.S: Use RAX_LP to access return
+	value.  Use "or" to set return value to -1.
+	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Use RAX_LP to
+	negate return value.
+
+2012-05-18  Tulio Magno Quites Machado Filho  <tuliom@xxxxxxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc32/power4/Makefile (CFLAGS-wordcopy.c,
+	CFLAGS-memmove.c): remove -ftree-loop-linear which causes a build
+	failure if the compiler has Graphite support disabled.
+	* sysdeps/powerpc/powerpc32/power4/fpu/Makefile (CFLAGS-mpa.c):
+	Likewise.
+	* sysdeps/powerpc/powerpc64/power4/Makefile (CFLAGS-wordcopy.c,
+	CFLAGS-memmove.c): Likewise.
+	* sysdeps/powerpc/powerpc64/power4/fpu/Makefile (CFLAGS-mpa.c):
+	Likewise.
+
+2012-05-18  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/x86_64/x32/_itoa.h: New file.
+
+	* sysdeps/unix/sysv/linux/getdents.c (__GETDENTS): Use
+	getdents system call only if kernel and user dirents have the
+	same d_ino and d_off.
+
+	* stdio-common/_itoa.c: Check _ITOA_NEEDED instead of
+	LLONG_MAX != LONG_MAX.
+	(_itoa_word): Use _ITOA_WORD_TYPE on value.
+	(_fitoa_word): Likewise.
+
+	* sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h: Fold copyright
+	years.
+	* sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/sys/procfs.h: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/sys/reg.h: Likewise.
+
+	* sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h: Don't
+	include <bits/wordsize.h>.  Check __x86_64__ instead of
+	__WORDSIZE.
+	(sigcontext): Use "__uint64_t" instead of "unsigned long int"
+	if __x86_64__ is defined.  Use anonymous union on fpstate.
+
+	* sysdeps/unix/sysv/linux/x86_64/sys/user.h (user): Use
+	anonymous union.
+
+2012-05-18  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/powerpc/powerpc32/dl-start.S (_dl_start_user): Use
+	INTUSE on _dl_argv, and _rtld_local instead of _rtld_global.
+	* sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S [IS_IN_rtld]:
+	Refer to _rtld_local_ro instead of _rtld_global_ro.
+	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S [IS_IN_rtld]:
+	Likewise.
+	* sysdeps/powerpc/powerpc64/__longjmp-common.S [IS_IN_rtld]:
+	Likewise.
+	* sysdeps/powerpc/powerpc64/setjmp-common.S [IS_IN_rtld]:
+	Likewise.
+	* sysdeps/powerpc/powerpc64/dl-trampoline.S [SHARED]: Likewise.
+	* sysdeps/powerpc/powerpc64/dl-machine.h: Use _rtld_local instead
+	of _rtld_global, and rtld_progname instead of _dl_argv[0].
+
+	* sysdeps/powerpc/powerpc32/dl-machine.c
+	(__elf_machine_runtime_setup) [PROF]: Don't reference
+	_dl_prof_resolve.
+
+2012-05-18  Andreas Jaeger  <aj@xxxxxxx>
+
+	* sysdeps/x86_64/fpu/bits/mathinline.h (lrintf): Make inline
+	function only available for GCCs before 3.4 since GCC 3.4
+	introduced a builtin.
+	(lrint): Likewise.
+	(llrintf): Likewise.
+	(llrint): Likewise.
+	(fmaxf): Likewise.
+	(fmax): Likewise.
+	(fminf): Likewise.
+	(fmin): Likewise.
+	(rint): Likewise.
+	(rintf): Likewise.
+	(nearbyint): Likewise.
+	(nearbyintf): Likewise.
+	(ceil): Likewise.
+	(ceilf): Likewise.
+	(floor): Likewise.
+	(floorf): Likewise.
+
+2012-05-17  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/pselect.c (data): Use __syscall_ulong_t
+	on both fields and cast pointer to __syscall_ulong_t.
+
+	* bits/types.h (__fsword_t): New type.
+	* bits/typesizes.h (__FSWORD_T_TYPE): New macro.
+	sysdeps/mach/hurd/bits/typesizes.h (__FSWORD_T_TYPE): Likewise.
+	* sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
+	(__FSWORD_T_TYPE): Likewise.
+	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h
+	(__FSWORD_T_TYPE): Likewise.
+	* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
+	(__FSWORD_T_TYPE): Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h
+	(__FSWORD_T_TYPE): Likewise.
+	* sysdeps/unix/sysv/linux/bits/statfs.h (statfs): Replace
+	__SWORD_TYPE with __fsword_t.
+	(statfs64): Likewise.
+
 2012-05-17  David S. Miller  <davem@xxxxxxxxxxxxx>
 
 	* crypt/sha512c-test.c (TIMEOUT): Increase to 32.

Modified: fsf/trunk/libc/INSTALL
==============================================================================
--- fsf/trunk/libc/INSTALL (original)
+++ fsf/trunk/libc/INSTALL Sat May 19 00:01:58 2012
@@ -31,8 +31,8 @@
      $ ../glibc-VERSION/configure ARGS...
 
    Please note that even though you're building in a separate build
-directory, the compilation needs to modify a few files in the source
-directory, especially some files in the manual subdirectory.
+directory, the compilation may need to create or modify files and
+directories in the source directory.
 
 `configure' takes many options, but the only one that is usually
 mandatory is `--prefix'.  This option tells `configure' where you want

Modified: fsf/trunk/libc/bits/types.h
==============================================================================
--- fsf/trunk/libc/bits/types.h (original)
+++ fsf/trunk/libc/bits/types.h Sat May 19 00:01:58 2012
@@ -176,6 +176,9 @@
 __STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
 __STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
 
+/* Type of miscellaneous file system fields.  */
+__STD_TYPE __FSWORD_T_TYPE __fsword_t;
+
 __STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error.  */
 
 /* Signed long type used in system calls.  */

Modified: fsf/trunk/libc/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/bits/typesizes.h (original)
+++ fsf/trunk/libc/bits/typesizes.h Sat May 19 00:01:58 2012
@@ -44,6 +44,7 @@
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
 #define __TIME_T_TYPE		__SLONGWORD_TYPE

Modified: fsf/trunk/libc/manual/install.texi
==============================================================================
--- fsf/trunk/libc/manual/install.texi (original)
+++ fsf/trunk/libc/manual/install.texi Sat May 19 00:01:58 2012
@@ -50,8 +50,8 @@
 @end smallexample
 
 Please note that even though you're building in a separate build
-directory, the compilation needs to modify a few files in the source
-directory, especially some files in the manual subdirectory.
+directory, the compilation may need to create or modify files and
+directories in the source directory.
 
 @noindent
 @code{configure} takes many options, but the only one that is usually

Modified: fsf/trunk/libc/stdio-common/_itoa.c
==============================================================================
--- fsf/trunk/libc/stdio-common/_itoa.c (original)
+++ fsf/trunk/libc/stdio-common/_itoa.c Sat May 19 00:01:58 2012
@@ -79,7 +79,7 @@
 
 
 /* We do not compile _itoa if we always can use _itoa_word.  */
-#if LLONG_MAX != LONG_MAX
+#if _ITOA_NEEDED
 /* Local variables.  */
 const struct base_table_t _itoa_base_table[] attribute_hidden =
 {
@@ -169,7 +169,7 @@
 
 
 char *
-_itoa_word (unsigned long value, char *buflim,
+_itoa_word (_ITOA_WORD_TYPE value, char *buflim,
 	    unsigned int base, int upper_case)
 {
   const char *digits = (upper_case
@@ -204,7 +204,7 @@
 #undef SPECIAL
 
 
-#if LLONG_MAX != LONG_MAX
+#if _ITOA_NEEDED
 char *
 _itoa (value, buflim, base, upper_case)
      unsigned long long int value;
@@ -470,7 +470,8 @@
 #endif
 
 char *
-_fitoa_word (unsigned long value, char *buf, unsigned int base, int upper_case)
+_fitoa_word (_ITOA_WORD_TYPE value, char *buf, unsigned int base,
+	     int upper_case)
 {
   char tmpbuf[sizeof (value) * 4];	      /* Worst case length: base 2.  */
   char *cp = _itoa_word (value, tmpbuf + sizeof (value) * 4, base, upper_case);
@@ -479,7 +480,7 @@
   return buf;
 }
 
-#if LLONG_MAX != LONG_MAX
+#if _ITOA_NEEDED
 char *
 _fitoa (unsigned long long value, char *buf, unsigned int base, int upper_case)
 {

Modified: fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/mach/hurd/bits/typesizes.h Sat May 19 00:01:58 2012
@@ -44,6 +44,7 @@
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
 #define __TIME_T_TYPE		__SLONGWORD_TYPE

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 Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 /* Machine-dependent ELF dynamic relocation functions.  PowerPC version.
-   Copyright (C) 1995-2006, 2008, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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
@@ -235,16 +235,21 @@
       if (lazy)
 	{
 	  Elf32_Word *tramp = plt + PLT_TRAMPOLINE_ENTRY_WORDS;
-	  Elf32_Word dlrr = (Elf32_Word)(profile
-					 ? _dl_prof_resolve
-					 : _dl_runtime_resolve);
+	  Elf32_Word dlrr;
 	  Elf32_Word offset;
 
+#ifndef PROF
+	  dlrr = (Elf32_Word) (profile
+			       ? _dl_prof_resolve
+			       : _dl_runtime_resolve);
 	  if (profile && GLRO(dl_profile) != NULL
 	      && _dl_name_match_p (GLRO(dl_profile), map))
 	    /* This is the object we are looking for.  Say that we really
 	       want profiling and the timers are started.  */
 	    GL(dl_profile_map) = map;
+#else
+	  dlrr = (Elf32_Word) _dl_runtime_resolve;
+#endif
 
 	  /* For the long entries, subtract off data_words.  */
 	  tramp[0] = OPCODE_ADDIS_HI (11, 11, -data_words);

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-start.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-start.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/dl-start.S Sat May 19 00:01:58 2012
@@ -1,6 +1,5 @@
 /* Machine-dependent ELF startup code.  PowerPC version.
-   Copyright (C) 1995-2000, 2002, 2004, 2005, 2006, 2011
-	Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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,9 +52,9 @@
 /*  the address of _start in r30, */
 	mr	r30,r3
 /*  &_dl_argc in 29, &_dl_argv in 27, and _dl_loaded in 28.  */
-	lwz	r28,_rtld_global@got(r31)
+	lwz	r28,_rtld_local@got(r31)
 	lwz	r29,_dl_argc@got(r31)
-	lwz	r27,_dl_argv@got(r31)
+	lwz	r27,INTUSE(_dl_argv)@got(r31)
 
 /* Call _dl_init (_dl_loaded, _dl_argc, _dl_argv, _dl_argv+_dl_argc+1). */
 	lwz	r3,0(r28)

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S Sat May 19 00:01:58 2012
@@ -1,6 +1,5 @@
 /* longjmp for PowerPC.
-   Copyright (C) 1995-99, 2000, 2003-2006, 2009, 2011
-	Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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
@@ -38,7 +37,13 @@
 	addis	r5,r5,_GLOBAL_OFFSET_TABLE_-got_label@ha
 	addi	r5,r5,_GLOBAL_OFFSET_TABLE_-got_label@l
 #  ifdef SHARED
+#   ifdef IS_IN_rtld
+	/* Inside ld.so we use the local alias to avoid runtime GOT
+	   relocations.  */
+	lwz     r5,_rtld_local_ro@got(r5)
+#   else
 	lwz     r5,_rtld_global_ro@got(r5)
+#   endif
 	mtlr    r6
 	cfi_same_value (lr)
 	lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r5)

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/fpu/setjmp-common.S Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 /* setjmp for PowerPC.
-   Copyright (C) 1995-2000, 2003-2005, 2006, 2011 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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
@@ -90,7 +90,13 @@
 	mtlr	r6
 	cfi_same_value (lr)
 #  ifdef SHARED
+#   ifdef IS_IN_rtld
+	/* Inside ld.so we use the local alias to avoid runtime GOT
+	   relocations.  */
+	lwz     r5,_rtld_local_ro@got(r5)
+#   else
 	lwz     r5,_rtld_global_ro@got(r5)
+#   endif
 	lwz     r5,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET+4(r5)
 #  else
 	lwz     r5,_dl_hwcap@got(r5)

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/Makefile (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/Makefile Sat May 19 00:01:58 2012
@@ -1,6 +1,6 @@
 # Makefile fragment for POWER4/5/5+.
 
 ifeq ($(subdir),string)
-CFLAGS-wordcopy.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops -ftree-loop-linear
-CFLAGS-memmove.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops -ftree-loop-linear
+CFLAGS-wordcopy.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops
+CFLAGS-memmove.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops
 endif

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/Makefile (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc32/power4/fpu/Makefile Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 # Makefile fragment for POWER4/5/5+ with FPU.
 
 ifeq ($(subdir),math)
-CFLAGS-mpa.c += --param max-unroll-times=4 -funroll-loops -fpeel-loops -ftree-loop-linear 
+CFLAGS-mpa.c += --param max-unroll-times=4 -funroll-loops -fpeel-loops
 endif

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/__longjmp-common.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/__longjmp-common.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/__longjmp-common.S Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 /* longjmp for PowerPC64.
-   Copyright (C) 1995, 1996,1997,1999-2006,2009 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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
@@ -31,7 +31,13 @@
 	.section	".toc","aw"
 .LC__dl_hwcap:
 # ifdef SHARED
+#  ifdef IS_IN_rtld
+	/* Inside ld.so we use the local alias to avoid runtime GOT
+	   relocations.  */
+	.tc _rtld_local_ro[TC],_rtld_local_ro
+#  else
 	.tc _rtld_global_ro[TC],_rtld_global_ro
+#  endif
 # else
 	.tc _dl_hwcap[TC],_dl_hwcap
 # endif

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-machine.h Sat May 19 00:01:58 2012
@@ -1,6 +1,6 @@
 /* Machine-dependent ELF dynamic relocation inline functions.
    PowerPC64 version.
-   Copyright 1995-2005, 2006, 2008, 2010, 2011 Free Software Foundation, Inc.
+   Copyright 1995-2012 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
@@ -161,8 +161,8 @@
 "	.popsection\n"							\
 "	.pushsection	\".toc\",\"aw\"\n"				\
 DL_STARTING_UP_DEF							\
-".LC__rtld_global:\n"							\
-"	.tc _rtld_global[TC],_rtld_global\n"				\
+".LC__rtld_local:\n"							\
+"	.tc _rtld_local[TC],_rtld_local\n"				\
 ".LC__dl_argc:\n"							\
 "	.tc _dl_argc[TC],_dl_argc\n"					\
 ".LC__dl_argv:\n"							\
@@ -181,7 +181,7 @@
 /* the address of _start in r30.  */					\
 "	mr	30,3\n"							\
 /* &_dl_argc in 29, &_dl_argv in 27, and _dl_loaded in 28.  */		\
-"	ld	28,.LC__rtld_global@toc(2)\n"				\
+"	ld	28,.LC__rtld_local@toc(2)\n"				\
 "	ld	29,.LC__dl_argc@toc(2)\n"				\
 "	ld	27,.LC__dl_argv@toc(2)\n"				\
 /* _dl_init (_dl_loaded, _dl_argc, _dl_argv, _dl_argv+_dl_argc+1).  */	\
@@ -734,7 +734,7 @@
 	  _dl_error_printf ("%s: Symbol `%s' has different size" \
 			    " in shared object," \
 			    " consider re-linking\n",
-			    _dl_argv[0] ?: "<program name unknown>",
+			    rtld_progname ?: "<program name unknown>",
 			    strtab + refsym->st_name);
 	}
       memcpy (reloc_addr_arg, (char *) value,

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-trampoline.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-trampoline.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-trampoline.S Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 /* PLT trampolines.  PPC64 version.
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005-2012 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
@@ -169,7 +169,7 @@
 	.section	".toc","aw"
 .LC__dl_hwcap:
 # ifdef SHARED
-	.tc _rtld_global_ro[TC],_rtld_global_ro
+	.tc _rtld_local_ro[TC],_rtld_local_ro
 # else
 	.tc _dl_hwcap[TC],_dl_hwcap
 # endif
@@ -217,7 +217,7 @@
 	std	r0,FRAME_SIZE+8(r1)
 	ld	r12,.LC__dl_hwcap@toc(r2)
 #ifdef SHARED
-	/* Load _rtld-global._dl_hwcap.  */
+	/* Load _rtld_local_ro._dl_hwcap.  */
 	ld	r12,RTLD_GLOBAL_RO_DL_HWCAP_OFFSET(r12)
 #else
 	ld	r12,0(r12) /* Load extern _dl_hwcap.  */

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/Makefile (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/Makefile Sat May 19 00:01:58 2012
@@ -1,6 +1,6 @@
 # Makefile fragment for POWER4/5/5+.
 
 ifeq ($(subdir),string)
-CFLAGS-wordcopy.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops -ftree-loop-linear
-CFLAGS-memmove.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops -ftree-loop-linear
+CFLAGS-wordcopy.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops
+CFLAGS-memmove.c += --param max-variable-expansions-in-unroller=2 --param max-unroll-times=2 -funroll-loops -fpeel-loops
 endif

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/Makefile
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/Makefile (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/power4/fpu/Makefile Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 # Makefile fragment for POWER4/5/5+ platforms with FPU.
 
 ifeq ($(subdir),math)
-CFLAGS-mpa.c += --param max-unroll-times=4 -funroll-loops -fpeel-loops -ftree-loop-linear 
+CFLAGS-mpa.c += --param max-unroll-times=4 -funroll-loops -fpeel-loops
 endif

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/setjmp-common.S
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/setjmp-common.S (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/setjmp-common.S Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 /* setjmp for PowerPC64.
-   Copyright (C) 1995-2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 1995-2012 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
@@ -30,7 +30,13 @@
 	.section	".toc","aw"
 .LC__dl_hwcap:
 # ifdef SHARED
+#  ifdef IS_IN_rtld
+	/* Inside ld.so we use the local alias to avoid runtime GOT
+	   relocations.  */
+	.tc _rtld_local_ro[TC],_rtld_local_ro
+#  else
 	.tc _rtld_global_ro[TC],_rtld_global_ro
+#  endif
 # else
 	.tc _dl_hwcap[TC],_dl_hwcap
 # endif

Modified: fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h Sat May 19 00:01:58 2012
@@ -44,6 +44,7 @@
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__S32_TYPE
 #define __TIME_T_TYPE		__SLONGWORD_TYPE

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statfs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statfs.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/statfs.h Sat May 19 00:01:58 2012
@@ -23,8 +23,8 @@
 
 struct statfs
   {
-    __SWORD_TYPE f_type;
-    __SWORD_TYPE f_bsize;
+    __fsword_t f_type;
+    __fsword_t f_bsize;
 #ifndef __USE_FILE_OFFSET64
     __fsblkcnt_t f_blocks;
     __fsblkcnt_t f_bfree;
@@ -39,27 +39,27 @@
     __fsfilcnt64_t f_ffree;
 #endif
     __fsid_t f_fsid;
-    __SWORD_TYPE f_namelen;
-    __SWORD_TYPE f_frsize;
-    __SWORD_TYPE f_flags;
-    __SWORD_TYPE f_spare[4];
+    __fsword_t f_namelen;
+    __fsword_t f_frsize;
+    __fsword_t f_flags;
+    __fsword_t f_spare[4];
   };
 
 #ifdef __USE_LARGEFILE64
 struct statfs64
   {
-    __SWORD_TYPE f_type;
-    __SWORD_TYPE f_bsize;
+    __fsword_t f_type;
+    __fsword_t f_bsize;
     __fsblkcnt64_t f_blocks;
     __fsblkcnt64_t f_bfree;
     __fsblkcnt64_t f_bavail;
     __fsfilcnt64_t f_files;
     __fsfilcnt64_t f_ffree;
     __fsid_t f_fsid;
-    __SWORD_TYPE f_namelen;
-    __SWORD_TYPE f_frsize;
-    __SWORD_TYPE f_flags;
-    __SWORD_TYPE f_spare[4];
+    __fsword_t f_namelen;
+    __fsword_t f_frsize;
+    __fsword_t f_flags;
+    __fsword_t f_spare[4];
   };
 #endif
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/getdents.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/getdents.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/getdents.c Sat May 19 00:01:58 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995-2004, 2006, 2007, 2010
-   Free Software Foundation, Inc.
+/* Copyright (C) 19932-2012 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
@@ -99,7 +98,17 @@
   ssize_t retval;
 
 #ifdef __ASSUME_GETDENTS32_D_TYPE
-  if (sizeof (DIRENT_TYPE) == sizeof (struct dirent))
+  /* The d_ino and d_off fields in kernel_dirent and dirent must have
+     the same sizes and alignments.  */
+  if (sizeof (DIRENT_TYPE) == sizeof (struct dirent)
+      && (sizeof (((struct kernel_dirent *) 0)->d_ino)
+	  == sizeof (((struct dirent *) 0)->d_ino))
+      && (sizeof (((struct kernel_dirent *) 0)->d_off)
+	  == sizeof (((struct dirent *) 0)->d_off))
+      && (offsetof (struct kernel_dirent, d_off)
+	  == offsetof (struct dirent, d_off))
+      && (offsetof (struct kernel_dirent, d_reclen)
+	  == offsetof (struct dirent, d_reclen)))
     {
       retval = INLINE_SYSCALL (getdents, 3, fd, CHECK_N(buf, nbytes), nbytes);
 

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/pselect.c
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/pselect.c (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/pselect.c Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2006.
 
@@ -52,11 +52,11 @@
      be created.  */
   struct
   {
-    const sigset_t *ss;
-    size_t ss_len;
+    __syscall_ulong_t ss;
+    __syscall_ulong_t ss_len;
   } data;
 
-  data.ss = sigmask;
+  data.ss = (__syscall_ulong_t) (uintptr_t) sigmask;
   data.ss_len = _NSIG / 8;
 
   int result;

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/s390/bits/typesizes.h Sat May 19 00:01:58 2012
@@ -44,6 +44,7 @@
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
 #define __TIME_T_TYPE		__SLONGWORD_TYPE

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h Sat May 19 00:01:58 2012
@@ -44,6 +44,7 @@
 #define	__FSBLKCNT64_T_TYPE	__UQUAD_TYPE
 #define	__FSFILCNT_T_TYPE	__ULONGWORD_TYPE
 #define	__FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define	__FSWORD_T_TYPE		__SWORD_TYPE
 #define	__ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SLONGWORD_TYPE
 #define __TIME_T_TYPE		__SLONGWORD_TYPE

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/sigcontext.h Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002-2012 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
@@ -22,8 +22,6 @@
 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
 #endif
 
-#include <bits/wordsize.h>
-
 struct _fpreg
 {
   unsigned short significand[4];
@@ -44,7 +42,7 @@
 
 
 
-#if __WORDSIZE == 32
+#ifndef __x86_64__
 
 struct _fpstate
 {
@@ -103,7 +101,7 @@
   unsigned long cr2;
 };
 
-#else /* __WORDSIZE == 64 */
+#else /* __x86_64__ */
 
 struct _fpstate
 {
@@ -123,36 +121,40 @@
 
 struct sigcontext
 {
-  unsigned long r8;
-  unsigned long r9;
-  unsigned long r10;
-  unsigned long r11;
-  unsigned long r12;
-  unsigned long r13;
-  unsigned long r14;
-  unsigned long r15;
-  unsigned long rdi;
-  unsigned long rsi;
-  unsigned long rbp;
-  unsigned long rbx;
-  unsigned long rdx;
-  unsigned long rax;
-  unsigned long rcx;
-  unsigned long rsp;
-  unsigned long rip;
-  unsigned long eflags;
+  __uint64_t r8;
+  __uint64_t r9;
+  __uint64_t r10;
+  __uint64_t r11;
+  __uint64_t r12;
+  __uint64_t r13;
+  __uint64_t r14;
+  __uint64_t r15;
+  __uint64_t rdi;
+  __uint64_t rsi;
+  __uint64_t rbp;
+  __uint64_t rbx;
+  __uint64_t rdx;
+  __uint64_t rax;
+  __uint64_t rcx;
+  __uint64_t rsp;
+  __uint64_t rip;
+  __uint64_t eflags;
   unsigned short cs;
   unsigned short gs;
   unsigned short fs;
   unsigned short __pad0;
-  unsigned long err;
-  unsigned long trapno;
-  unsigned long oldmask;
-  unsigned long cr2;
-  struct _fpstate * fpstate;
-  unsigned long __reserved1 [8];
+  __uint64_t err;
+  __uint64_t trapno;
+  __uint64_t oldmask;
+  __uint64_t cr2;
+  __extension__ union
+    {
+      struct _fpstate * fpstate;
+      __uint64_t __fpstate_word;
+    };
+  __uint64_t __reserved1 [8];
 };
 
-#endif /* __WORDSIZE == 64 */
+#endif /* __x86_64__ */
 
 #endif /* _BITS_SIGCONTEXT_H */

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/typesizes.h Sat May 19 00:01:58 2012
@@ -53,6 +53,7 @@
 #define __FSBLKCNT64_T_TYPE	__UQUAD_TYPE
 #define __FSFILCNT_T_TYPE	__SYSCALL_ULONG_TYPE
 #define __FSFILCNT64_T_TYPE	__UQUAD_TYPE
+#define __FSWORD_T_TYPE		__SYSCALL_SLONG_TYPE
 #define __ID_T_TYPE		__U32_TYPE
 #define __CLOCK_T_TYPE		__SYSCALL_SLONG_TYPE
 #define __TIME_T_TYPE		__SYSCALL_SLONG_TYPE

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/debugreg.h Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2003, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/procfs.h Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2004, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/reg.h Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2012 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sys/user.h Sat May 19 00:01:58 2012
@@ -82,14 +82,16 @@
   __extension__ unsigned long long int	start_stack;
   __extension__ long long int		signal;
   int				reserved;
-  struct user_regs_struct*	u_ar0;
-# ifdef __ILP32__
-  unsigned int			pad0;
-# endif
-  struct user_fpregs_struct*	u_fpstate;
-# ifdef __ILP32__
-  unsigned int			pad1;
-# endif
+  __extension__ union
+    {
+      struct user_regs_struct*	u_ar0;
+      __extension__ unsigned long long int	__u_ar0_word;
+    };
+  __extension__ union
+    {
+      struct user_fpregs_struct*	u_fpstate;
+      __extension__ unsigned long long int	__u_fpstate_word;
+    };
   __extension__ unsigned long long int	magic;
   char				u_comm [32];
   __extension__ unsigned long long int	u_debugreg [8];

Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.S (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/sysdep.S Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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
@@ -32,7 +32,7 @@
 
 	.text
 ENTRY (__syscall_error)
-	negq %rax
+	neg %RAX_LP
 
 #define __syscall_error __syscall_error_1
 #include <sysdeps/unix/x86_64/sysdep.S>

Modified: fsf/trunk/libc/sysdeps/unix/x86_64/sysdep.S
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/x86_64/sysdep.S (original)
+++ fsf/trunk/libc/sysdeps/unix/x86_64/sysdep.S Sat May 19 00:01:58 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001,2002,2004,2005,2011,2012 Free Software Foundation, Inc.
+/* Copyright (C) 2001-2012 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
@@ -34,7 +34,7 @@
 	/* We translate the system's EWOULDBLOCK error into EAGAIN.
 	   The GNU C library always defines EWOULDBLOCK==EAGAIN.
 	   EWOULDBLOCK_sys is the original number.  */
-	cmpq $EWOULDBLOCK_sys, %rax /* Is it the old EWOULDBLOCK?  */
+	cmp $EWOULDBLOCK_sys, %RAX_LP /* Is it the old EWOULDBLOCK?  */
 	jne notb		/* Branch if not.  */
 	movl $EAGAIN, %eax	/* Yes; translate it to EAGAIN.  */
 notb:
@@ -45,7 +45,7 @@
 #else
 	movl %eax, %fs:C_SYMBOL_NAME(errno@TPOFF)
 #endif
-	movq $-1, %rax
+	or $-1, %RAX_LP
 	ret
 
 #undef	__syscall_error

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 Sat May 19 00:01:58 2012
@@ -1,5 +1,5 @@
 /* Inline math functions for x86-64.
-   Copyright (C) 2002-2004,2007,2009,2011,2012 Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 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
@@ -68,7 +68,10 @@
 #endif
 
 
-#if __GNUC_PREREQ (2, 8) && !defined __NO_MATH_INLINES && defined __OPTIMIZE__
+#if __GNUC_PREREQ (2, 8) && !__GNUC_PREREQ (3, 4) \
+    && !defined __NO_MATH_INLINES && defined __OPTIMIZE__
+/* GCC 3.4 introduced builtins for all functions below, so
+   there's no need to define any of these inline functions.  */
 
 # ifdef __USE_ISOC99
 __BEGIN_NAMESPACE_C99

Added: fsf/trunk/libc/sysdeps/x86_64/x32/_itoa.h
==============================================================================
--- fsf/trunk/libc/sysdeps/x86_64/x32/_itoa.h (added)
+++ fsf/trunk/libc/sysdeps/x86_64/x32/_itoa.h Sat May 19 00:01:58 2012
@@ -1,0 +1,3 @@
+#define _ITOA_NEEDED		0
+#define _ITOA_WORD_TYPE		unsigned long long int
+#include_next <_itoa.h>

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