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

[Commits] r19163 - in /trunk: ./ libc/ libc/debug/ libc/manual/ libc/math/ libc/misc/bits/ libc/po/ libc/string/ libc/sysdeps/i386/fpu...



Author: joseph
Date: Mon Jun 18 13:44:49 2012
New Revision: 19163

Log:
Merge changes between r19077 and r19162 from /fsf/trunk.

Added:
    trunk/libc/string/tst-strtok_r.c
      - copied unchanged from r19162, fsf/trunk/libc/string/tst-strtok_r.c
    trunk/libc/sysdeps/x86/fpu/bits/mathinline.h
      - copied unchanged from r19162, fsf/trunk/libc/sysdeps/x86/fpu/bits/mathinline.h
Removed:
    trunk/libc/sysdeps/i386/fpu/bits/
    trunk/libc/sysdeps/x86_64/fpu/bits/
Modified:
    trunk/   (props changed)
    trunk/libc/ChangeLog
    trunk/libc/NEWS
    trunk/libc/debug/fdelt_chk.c
    trunk/libc/manual/contrib.texi
    trunk/libc/math/libm-test.inc
    trunk/libc/misc/bits/select2.h
    trunk/libc/po/Makefile
    trunk/libc/string/Makefile
    trunk/libc/string/endian.h
    trunk/libc/string/string.h
    trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
    trunk/libc/sysdeps/x86_64/strtok.S
    trunk/ports/ChangeLog.alpha
    trunk/ports/ChangeLog.arm
    trunk/ports/ChangeLog.mips
    trunk/ports/ChangeLog.powerpc
    trunk/ports/data/localplt-powerpcsoft-linux-gnu.data
    trunk/ports/sysdeps/alpha/bits/mathdef.h
    trunk/ports/sysdeps/alpha/fpu/cfloat-compat.h
    trunk/ports/sysdeps/alpha/fpu/s_copysign.c
    trunk/ports/sysdeps/alpha/fpu/s_copysignf.c
    trunk/ports/sysdeps/alpha/fpu/s_fabs.c
    trunk/ports/sysdeps/alpha/fpu/s_fabsf.c
    trunk/ports/sysdeps/alpha/fpu/s_nearbyint.c
    trunk/ports/sysdeps/alpha/fpu/s_nearbyintf.c
    trunk/ports/sysdeps/alpha/fpu/s_rint.c
    trunk/ports/sysdeps/alpha/fpu/s_rintf.c
    trunk/ports/sysdeps/alpha/soft-fp/sfp-machine.h
    trunk/ports/sysdeps/arm/bits/predefs.h   (props changed)
    trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h
    trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h
    trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h
    trunk/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c
    trunk/ports/sysdeps/unix/sysv/linux/arm/setcontext.S
    trunk/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h

Propchange: trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 18 13:44:49 2012
@@ -1,1 +1,1 @@
-/fsf/trunk:15224-19077
+/fsf/trunk:15224-19162

Modified: trunk/libc/ChangeLog
==============================================================================
--- trunk/libc/ChangeLog (original)
+++ trunk/libc/ChangeLog Mon Jun 18 13:44:49 2012
@@ -1,3 +1,98 @@
+2012-06-15  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14117]
+	* sysdeps/i386/fpu/bits/mathinline.h: Renamed to ...
+	* sysdeps/x86/fpu/bits/mathinline.h: This.
+	* sysdeps/x86_64/fpu/bits/mathinline.h: Removed.
+
+	[BZ #14050]
+	[BZ #14117]
+	* sysdeps/i386/fpu/bits/mathinline.h: Disable x87 inline
+	functions if __x86_64__ is defined.
+
+2012-06-15  Chung-Lin Tang  <cltang@xxxxxxxxxxxxxxxx>
+
+	* string/endian.h: Add !__ASSEMBLER__ condition for including
+	conversion interfaces.
+
+2012-06-15  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	[BZ #14241]
+	* sysdeps/ieee754/dbl-64/e_pow.c (__ieee754_pow): Use 0.0 instead
+	of ABS(x) in calculating zero to negative powers other than odd
+	integers.
+	* math/libm-test.inc (pow_test): Add more tests.
+
+2012-06-15  Andreas Jaeger  <aj@xxxxxxx>
+
+	* manual/contrib.texi (Contributors): Update entry of Liubov
+	Dmitrieva and add entries for Will Schmidt and Tulio Magno Quites
+	Machado Filho.
+
+2012-06-15  Cyril Hrubis  <metan@xxxxxx>
+
+	* string/string.h: Add __wur to GNU version of strerror_r.
+
+2012-06-14  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14229]
+	* string/Makefile (tests): Add tst-strtok_r.
+	* string/tst-strtok_r.c: New file.
+	* sysdeps/x86_64/strtok.S: Use LP_SIZE on save_ptr and use
+	RAX_LP/RDX_LP on SAVE_PTR.
+
+2012-06-14  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* manual/Makefile ($(objpfx)texis): Do $(make-target-directory).
+
+2012-06-14  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* libm_test.inc (csqrt_test): Allow more spurious underflow
+	exceptions.
+	(j0_test): Likewise.
+	(j1_test): Likewise.
+	(y0_test): Likewise.
+	(y1_test): Likewise.
+
+2012-06-13  Carlos O'Donell  <carlos_odonell@xxxxxxxxxx>
+
+	* po/Makefile (libc.pot): Use UTF-8 charset.
+
+2012-06-13  Paul Pluzhnikov  <ppluzhnikov@xxxxxxxxxx>
+
+	[BZ #14210]
+	Suppress sign-conversion warning from FD_SET.
+	See <http://sourceware.org/ml/libc-alpha/2012-05/msg01794.html>.
+	* debug/fdelt_chk.c (__fdelt_chk): Accept and return long int,
+	not unsigned long int.
+	* misc/bits/select2.h (__fdelt_chk, __fdelt_warn, __FD_ELT): Likewise.
+
+2012-06-12  H.J. Lu  <hongjiu.lu@xxxxxxxxx>
+
+	[BZ #14050]
+	[BZ #14117]
+	* sysdeps/i386/fpu/bits/mathinline.h (__MATH_INLINE): Check
+	__extern_always_inline instead of __extern_inline.
+	(__signbitf): Support __SSE2_MATH__ and C++ namespace.
+	(__signbit): Likewise.
+	(__signbitl): Support C++ namespace.
+	(lrintf): New inline function.
+	(lrint): Likewise.
+	(llrintf): Likewise.
+	(llrint): Likewise.
+	(fmaxf): Likewise.
+	(fmax): Likewise.
+	(fminf): Likewise.
+	(fmin): Likewise.
+	(rint): Likewise.
+	(rintf): Likewise.
+	(ceil): Likewise.
+	(ceilf): Likewise.
+	(floor): Likewise.
+	(floorf): Likewise.
+	(nearbyint): Likewise.
+	(nearbyintf): Likewise.
+
 2012-06-12  Thomas Schwinge  <thomas@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/Makefile ($(objpfx)stub-syscalls.c): Fix case for

Modified: trunk/libc/NEWS
==============================================================================
--- trunk/libc/NEWS (original)
+++ trunk/libc/NEWS Mon Jun 18 13:44:49 2012
@@ -20,16 +20,17 @@
   13361, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533,
   13547, 13551, 13552, 13553, 13555, 13556, 13559, 13563, 13566, 13576,
   13583, 13592, 13594, 13613, 13618, 13637, 13656, 13658, 13673, 13691,
-  13695, 13704, 13705, 13706, 13726, 13738, 13739, 13743, 13750, 13758,
-  13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824, 13840, 13841,
-  13844, 13846, 13851, 13852, 13854, 13871, 13872, 13873, 13879, 13883,
-  13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911, 13912, 13913,
-  13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921, 13922, 13923,
-  13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954, 13955, 13956,
-  13963, 13967, 13968, 13970, 13973, 13979, 13983, 13986, 13996, 14012,
-  14027, 14033, 14034, 14036, 14040, 14043, 14044, 14048, 14049, 14053,
-  14055, 14059, 14064, 14075, 14080, 14083, 14103, 14104, 14109, 14112,
-  14122, 14123, 14134, 14153, 14183, 14188, 14199, 14218
+  13695, 13704, 13705, 13706, 13718, 13726, 13738, 13739, 13743, 13750,
+  13758, 13760, 13761, 13775, 13786, 13787, 13792, 13806, 13824, 13840,
+  13841, 13844, 13846, 13848, 13851, 13852, 13854, 13871, 13872, 13873,
+  13879, 13883, 13884, 13885, 13886, 13892, 13895, 13908, 13910, 13911,
+  13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920, 13921,
+  13922, 13923, 13924, 13926, 13927, 13928, 13938, 13941, 13942, 13954,
+  13955, 13956, 13963, 13967, 13968, 13970, 13973, 13979, 13983, 13986,
+  13996, 14012, 14027, 14033, 14034, 14036, 14040, 14043, 14044, 14048,
+  14049, 14050, 14053, 14055, 14059, 14064, 14075, 14080, 14083, 14103,
+  14104, 14109, 14112, 14117, 14122, 14123, 14134, 14153, 14183, 14188,
+  14199, 14210, 14218, 14229, 14241
 
 * Support for the x32 ABI on x86-64 added.  The x32 target is selected by
   configuring glibc with:
@@ -116,6 +117,11 @@
   platform-specific functionality.  PowerPC added the first instance with a
   function to provide time base register access.  Contributed by Tulio
   Magno Quites Machado Filho.
+
+* ix86 configurations now install header files that are consistent with
+  what x86-64 configurations install.  These same header files can be used
+  for -m32, -m64, or -mx32 builds.
+  Contributed by H.J. Lu.
 
 Version 2.15
 

Modified: trunk/libc/debug/fdelt_chk.c
==============================================================================
--- trunk/libc/debug/fdelt_chk.c (original)
+++ trunk/libc/debug/fdelt_chk.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011, 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
@@ -18,10 +18,10 @@
 #include <sys/select.h>
 
 
-unsigned long int
-__fdelt_chk (unsigned long int d)
+long int
+__fdelt_chk (long int d)
 {
-  if (d >= FD_SETSIZE)
+  if (d < 0 || d >= FD_SETSIZE)
     __chk_fail ();
 
   return d / __NFDBITS;

Modified: trunk/libc/manual/contrib.texi
==============================================================================
--- trunk/libc/manual/contrib.texi (original)
+++ trunk/libc/manual/contrib.texi Mon Jun 18 13:44:49 2012
@@ -50,7 +50,8 @@
 Thomas Bushnell for his contributions to Hurd.
 
 @item
-Liubov Dmitrieva for optimzed string functions on x86-64 and x86.
+Liubov Dmitrieva for optimzed string and math functions on x86-64 and
+x86.
 
 @item
 Ulrich Drepper for his many contributions in almost all parts of
@@ -80,6 +81,11 @@
 part of @theglibc{} steering committee.
 
 @item
+Tulio Magno Quites Machado Filho for adding a new class of installed
+headers for low-level platform-specific functionality and one such for
+PowerPC.
+
+@item
 Mike Frysinger for his maintaining of the IA64 architecture and for
 testing and bug fixing.
 
@@ -231,6 +237,9 @@
 
 @item
 Pravin Satpute for writing sorting rules for some Indian languages.
+
+@item
+Will Schmidt for optimized string functions on PowerPC.
 
 @item
 Martin Schwidefsky for porting to Linux on s390

Modified: trunk/libc/math/libm-test.inc
==============================================================================
--- trunk/libc/math/libm-test.inc (original)
+++ trunk/libc/math/libm-test.inc Mon Jun 18 13:44:49 2012
@@ -3219,7 +3219,7 @@
   TEST_c_c (csqrt, 0x1.fffffffffffffp+1023L, 0x1p+1023L, 1.379778091031440685006200821918878702861e+154L, 3.257214233483129514781233066898042490248e+153L);
   /* Bug 14157: spurious exception may occur.  */
   TEST_c_c (csqrt, 0x1p-1074L, 0x1p-1074L, 2.442109726130830256743814843868934877597e-162L, 1.011554969366634726113090867589031782487e-162L, UNDERFLOW_EXCEPTION_OK);
-  TEST_c_c (csqrt, 0x1p-1073L, 0x1p-1073L, 3.453664695497464982856905711457966660085e-162L, 1.430554756764195530630723976279903095110e-162L);
+  TEST_c_c (csqrt, 0x1p-1073L, 0x1p-1073L, 3.453664695497464982856905711457966660085e-162L, 1.430554756764195530630723976279903095110e-162L, UNDERFLOW_EXCEPTION_OK);
 #endif
 
 #if defined TEST_LDOUBLE && LDBL_MAX_EXP >= 16384
@@ -4365,7 +4365,8 @@
   TEST_f_f (j0, 0x1.d7ce3ap+107L, 2.775523647291230802651040996274861694514e-17L, UNDERFLOW_EXCEPTION_OK);
 
 #ifndef TEST_FLOAT
-  TEST_f_f (j0, -0x1.001000001p+593L, -3.927269966354206207832593635798954916263e-90L);
+  /* Bug 14155: spurious exception may occur.  */
+  TEST_f_f (j0, -0x1.001000001p+593L, -3.927269966354206207832593635798954916263e-90L, UNDERFLOW_EXCEPTION_OK);
 #endif
 
   END (j0);
@@ -4406,7 +4407,8 @@
   TEST_f_f (j1, 0x1.3ffp+74L, 1.818984347516051243459364437186082741567e-12L);
 
 #ifndef TEST_FLOAT
-  TEST_f_f (j1, 0x1.ff00000000002p+840L, 1.846591691699331493194965158699937660696e-127L);
+  /* Bug 14155: spurious exception may occur.  */
+  TEST_f_f (j1, 0x1.ff00000000002p+840L, 1.846591691699331493194965158699937660696e-127L, UNDERFLOW_EXCEPTION_OK);
 #endif
 
   END (j1);
@@ -6301,6 +6303,8 @@
   TEST_ff_f (pow, minus_zero, 11.1L, 0);
   TEST_ff_f (pow, 0, plus_infty, 0);
   TEST_ff_f (pow, minus_zero, plus_infty, 0);
+  TEST_ff_f (pow, 0, minus_infty, plus_infty, DIVIDE_BY_ZERO_EXCEPTION_OK);
+  TEST_ff_f (pow, minus_zero, minus_infty, plus_infty, DIVIDE_BY_ZERO_EXCEPTION_OK);
 
 #ifndef TEST_INLINE
   /* pow (x, +inf) == +inf for |x| > 1.  */
@@ -8454,7 +8458,8 @@
   TEST_f_f (y0, 0x1.3ffp+74L, 1.818984347516051243459467456433028748678e-12L);
 
 #ifndef TEST_FLOAT
-  TEST_f_f (y0, 0x1.ff00000000002p+840L, 1.846591691699331493194965158699937660696e-127L);
+  /* Bug 14155: spurious exception may occur.  */
+  TEST_f_f (y0, 0x1.ff00000000002p+840L, 1.846591691699331493194965158699937660696e-127L, UNDERFLOW_EXCEPTION_OK);
 #endif
 
   END (y0);
@@ -8496,7 +8501,8 @@
   TEST_f_f (y1, 0x1.27e204p+99L, -8.881610148467797208469612080785210013461e-16L, UNDERFLOW_EXCEPTION_OK);
 
 #ifndef TEST_FLOAT
-  TEST_f_f (y1, 0x1.001000001p+593L, 3.927269966354206207832593635798954916263e-90L);
+  /* Bug 14155: spurious exception may occur.  */
+  TEST_f_f (y1, 0x1.001000001p+593L, 3.927269966354206207832593635798954916263e-90L, UNDERFLOW_EXCEPTION_OK);
 #endif
 
   END (y1);

Modified: trunk/libc/misc/bits/select2.h
==============================================================================
--- trunk/libc/misc/bits/select2.h (original)
+++ trunk/libc/misc/bits/select2.h Mon Jun 18 13:44:49 2012
@@ -1,5 +1,5 @@
 /* Checking macros for select functions.
-   Copyright (C) 2011 Free Software Foundation, Inc.
+   Copyright (C) 2011, 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
@@ -21,14 +21,15 @@
 #endif
 
 /* Helper functions to issue warnings and errors when needed.  */
-extern unsigned long int __fdelt_chk (unsigned long int __d);
-extern unsigned long int __fdelt_warn (unsigned long int __d)
+extern long int __fdelt_chk (long int __d);
+extern long int __fdelt_warn (long int __d)
   __warnattr ("bit outside of fd_set selected");
 #undef __FD_ELT
 #define	__FD_ELT(d) \
   __extension__								    \
-  ({ unsigned long int __d = (d);					    \
+  ({ long int __d = (d);						    \
      (__builtin_constant_p (__d)					    \
-      ? (__d >= __FD_SETSIZE						    \
-	 ? __fdelt_warn (__d) : (__d / __NFDBITS))			    \
+      ? (0 <= __d && __d < __FD_SETSIZE					    \
+	 ? (__d / __NFDBITS)						    \
+	 : __fdelt_warn (__d))						    \
       : __fdelt_chk (__d)); })

Modified: trunk/libc/po/Makefile
==============================================================================
--- trunk/libc/po/Makefile (original)
+++ trunk/libc/po/Makefile Mon Jun 18 13:44:49 2012
@@ -56,6 +56,7 @@
 	set `date -R`; disp="$$6"; \
 	sed -e 's/VERSION/$(version)/' \
 	    -e "s/DATE/`date +'%Y-%m-%d %H:%M'$$disp`/" \
+	    -e "s/CHARSET/UTF-8/" \
 	    $< > $@.new
 	egrep -v '\.ksh$$' $(word 2,$^) > $(objdir)/tmp-libc.pot-files
 	cd ..; $(XGETTEXT) --keyword=_ --keyword=N_ \

Modified: trunk/libc/string/Makefile
==============================================================================
--- trunk/libc/string/Makefile (original)
+++ trunk/libc/string/Makefile Mon Jun 18 13:44:49 2012
@@ -59,7 +59,8 @@
 		   bug-strncat1 bug-strspn1 bug-strpbrk1 tst-bswap	\
 		   tst-strtok tst-strfry	\
 		   bug-strtok1 $(addprefix test-,$(strop-tests))	\
-		   tst-strxfrm2 tst-endian tst-svc2 bug-strstr1 bug-strchr1
+		   tst-strxfrm2 tst-endian tst-svc2 bug-strstr1 bug-strchr1 \
+		   tst-strtok_r
 tests-$(OPTION_EGLIBC_ENVZ) += bug-envz1 
 tests-$(OPTION_EGLIBC_LOCALE_CODE) \
 		+= tst-strxfrm bug-strcoll1

Modified: trunk/libc/string/endian.h
==============================================================================
--- trunk/libc/string/endian.h (original)
+++ trunk/libc/string/endian.h Mon Jun 18 13:44:49 2012
@@ -55,7 +55,7 @@
 #endif
 
 
-#ifdef __USE_BSD
+#if defined __USE_BSD && !defined __ASSEMBLER__
 /* Conversion interfaces.  */
 # include <bits/byteswap.h>
 

Modified: trunk/libc/string/string.h
==============================================================================
--- trunk/libc/string/string.h (original)
+++ trunk/libc/string/string.h Mon Jun 18 13:44:49 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1991-1993,1995-2004,2007,2009,2010,2012
-   Free Software Foundation, Inc.
+/* Copyright (C) 1991-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
@@ -433,7 +432,7 @@
 /* If a temporary buffer is required, at most BUFLEN bytes of BUF will be
    used.  */
 extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
-     __THROW __nonnull ((2));
+     __THROW __nonnull ((2)) __wur;
 # endif
 #endif
 

Modified: trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c
==============================================================================
--- trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c (original)
+++ trunk/libc/sysdeps/ieee754/dbl-64/e_pow.c Mon Jun 18 13:44:49 2012
@@ -112,12 +112,12 @@
     if (((v.i[HIGH_HALF] & 0x7fffffff) == 0x7ff00000 && v.i[LOW_HALF] != 0)
 	|| (v.i[HIGH_HALF] & 0x7fffffff) > 0x7ff00000)
       return y;
-    if (ABS(y) > 1.0e20) return (y>0)?0:1.0/ABS(x);
+    if (ABS(y) > 1.0e20) return (y>0)?0:1.0/0.0;
     k = checkint(y);
     if (k == -1)
       return y < 0 ? 1.0/x : x;
     else
-      return y < 0 ? 1.0/ABS(x) : 0.0;                               /* return 0 */
+      return y < 0 ? 1.0/0.0 : 0.0;                               /* return 0 */
   }
 
   qx = u.i[HIGH_HALF]&0x7fffffff;  /*   no sign   */

Modified: trunk/libc/sysdeps/x86_64/strtok.S
==============================================================================
--- trunk/libc/sysdeps/x86_64/strtok.S (original)
+++ trunk/libc/sysdeps/x86_64/strtok.S Mon Jun 18 13:44:49 2012
@@ -1,6 +1,6 @@
 /* strtok (str, delim) -- Return next DELIM separated token from STR.
    For AMD x86-64.
-   Copyright (C) 1998,2000-2003,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 1998-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Based on i686 version contributed by Ulrich Drepper
    <drepper@xxxxxxxxxx>, 1998.
@@ -45,9 +45,9 @@
 	.bss
 	.local save_ptr
 	ASM_TYPE_DIRECTIVE (save_ptr, @object)
-	.size save_ptr, 8
+	.size save_ptr, LP_SIZE
 save_ptr:
-	.space 8
+	.space LP_SIZE
 
 # ifdef PIC
 #  define SAVE_PTR save_ptr(%rip)
@@ -79,13 +79,12 @@
 
 #ifdef USE_AS_STRTOK_R
 	/* The value is stored in the third argument.  */
-	movq %rdx, %rax
-	movq %rdx, %r9		/* Save value - see def. of SAVE_PTR.  */
-	movq (%rax), %rax
+	mov %RDX_LP, %R9_LP	/* Save value - see def. of SAVE_PTR.  */
+	mov (%rdx), %RAX_LP
 #else
 	/* The value is in the local variable defined above.  But
 	   we have to take care for PIC code.  */
-	movq SAVE_PTR, %rax
+	mov SAVE_PTR, %RAX_LP
 #endif
 	movq %r8, %rdx		/* Get start of string.  */
 
@@ -194,7 +193,7 @@
 	cmovne %rcx, %rdx
 
 	/* Store the pointer to the next character.  */
-	movq %rdx, SAVE_PTR
+	mov %RDX_LP, SAVE_PTR
 
 L(epilogue):
 	/* Remove the stopset table.  */
@@ -205,7 +204,7 @@
 L(returnNULL):
 	xorl %eax, %eax
 	/* Store the pointer to the next character.  */
-	movq %rdx, SAVE_PTR
+	mov %RDX_LP, SAVE_PTR
 	jmp L(epilogue)
 
 END (BP_SYM (FUNCTION))

Modified: trunk/ports/ChangeLog.alpha
==============================================================================
--- trunk/ports/ChangeLog.alpha (original)
+++ trunk/ports/ChangeLog.alpha Mon Jun 18 13:44:49 2012
@@ -1,3 +1,35 @@
+2012-06-15  Richard Henderson  <rth@xxxxxxxxxxx>
+
+	* sysdeps/alpha/soft-fp/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): New.
+
+	* sysdeps/alpha/fpu/s_rint.c (__rint): Handle inexact regardless
+	of -mieee-with-inexact.
+	* sysdeps/alpha/fpu/s_rintf.c (__rintf): Likewise.
+
+	[BZ #13848]
+	* sysdeps/alpha/fpu/s_nearbyint.c (__nearbyint): Fix corner cases
+	similar to BZ#5350.
+	* sysdeps/alpha/fpu/s_nearbyintf.c (__nearbyintf): Likewise.
+
+	* sysdeps/alpha/fpu/s_copysign.c (__copysign): Use builtin.
+	* sysdeps/alpha/fpu/s_copysignf.c (__copysignf): Use builtin.
+
+	* sysdeps/unix/sysv/linux/alpha/bits/resource.h (RLIMIT_RTTIME): New.
+	(prlimit, prlimit64): New declarations.
+	* sysdeps/unix/sysv/linux/alpha/bits/shm.h (SHM_EXEC): New.
+	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Use only __USE_ATFILE
+	to protect UTIME_NOW and UTIME_OMIT.
+
+	* sysdeps/alpha/fpu/cfloat-compat.h: Remove __GNUC_PREREQ check.
+	* sysdeps/alpha/fpu/s_fabs.c (__fabs): Likewise.
+	* sysdeps/alpha/fpu/s_fabsf.c (__fabsf): Likewise.
+	* sysdeps/unix/sysv/linux/alpha/sysconf.c (implver): Remove.
+	(amask): Remove.
+	(__sysconf): Use builtins directly.
+
+	* sysdeps/alpha/bits/mathdef.h (float_t): Define as float
+	regardless of __GNUC__.
+
 2012-06-06  Richard Henderson  <rth@xxxxxxxxxxx>
 
 	* sysdeps/alpha/strncmp.S: Bound count to LONG_MAX at startup.

Modified: trunk/ports/ChangeLog.arm
==============================================================================
--- trunk/ports/ChangeLog.arm (original)
+++ trunk/ports/ChangeLog.arm Mon Jun 18 13:44:49 2012
@@ -1,3 +1,8 @@
+2012-06-12  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/arm/setcontext.S (__startcontext): Use
+	HIDDEN_JUMPTARGET for _exit jump.
+
 2012-05-30  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/arm/syscalls.list: Remove

Modified: trunk/ports/ChangeLog.mips
==============================================================================
--- trunk/ports/ChangeLog.mips (original)
+++ trunk/ports/ChangeLog.mips Mon Jun 18 13:44:49 2012
@@ -1,3 +1,9 @@
+2012-06-14  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
+	(FORCE_FRAME_POINTER): Assign result of alloca to a volatile
+	variable.
+
 2012-06-01  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/mips/mips64/n32/s_fma.c: New file.

Modified: trunk/ports/ChangeLog.powerpc
==============================================================================
--- trunk/ports/ChangeLog.powerpc (original)
+++ trunk/ports/ChangeLog.powerpc Mon Jun 18 13:44:49 2012
@@ -1,3 +1,8 @@
+2012-06-13  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* data/localplt-powerpcsoft-linux-gnu.data: Allow abort and
+	soft-fp symbols to be absent.
+
 2012-06-08  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/nptl/libc.abilist:

Modified: trunk/ports/data/localplt-powerpcsoft-linux-gnu.data
==============================================================================
--- trunk/ports/data/localplt-powerpcsoft-linux-gnu.data (original)
+++ trunk/ports/data/localplt-powerpcsoft-linux-gnu.data Mon Jun 18 13:44:49 2012
@@ -1,32 +1,32 @@
 libc.so: _Unwind_Find_FDE
-libc.so: __adddf3
-libc.so: __addsf3
-libc.so: __divdf3
-libc.so: __divsf3
-libc.so: __eqdf2
-libc.so: __eqsf2
-libc.so: __extendsfdf2
-libc.so: __fixdfsi
-libc.so: __fixsfsi
-libc.so: __fixunsdfsi
-libc.so: __floatsidf
-libc.so: __floatsisf
-libc.so: __floatunsidf
-libc.so: __floatunsisf
-libc.so: __gedf2
-libc.so: __gtdf2
-libc.so: __ledf2
-libc.so: __ltdf2
-libc.so: __muldf3
-libc.so: __mulsf3
-libc.so: __nedf2
+libc.so: __adddf3 ?
+libc.so: __addsf3 ?
+libc.so: __divdf3 ?
+libc.so: __divsf3 ?
+libc.so: __eqdf2 ?
+libc.so: __eqsf2 ?
+libc.so: __extendsfdf2 ?
+libc.so: __fixdfsi ?
+libc.so: __fixsfsi ?
+libc.so: __fixunsdfsi ?
+libc.so: __floatsidf ?
+libc.so: __floatsisf ?
+libc.so: __floatunsidf ?
+libc.so: __floatunsisf ?
+libc.so: __gedf2 ?
+libc.so: __gtdf2 ?
+libc.so: __ledf2 ?
+libc.so: __ltdf2 ?
+libc.so: __muldf3 ?
+libc.so: __mulsf3 ?
+libc.so: __nedf2 ?
 libc.so: __signbit
 libc.so: __signbitl
-libc.so: __subdf3
-libc.so: __subsf3
-libc.so: __truncdfsf2
-libc.so: __unorddf2
-libc.so: abort
+libc.so: __subdf3 ?
+libc.so: __subsf3 ?
+libc.so: __truncdfsf2 ?
+libc.so: __unorddf2 ?
+libc.so: abort ?
 libc.so: calloc
 libc.so: free
 libc.so: malloc

Modified: trunk/ports/sysdeps/alpha/bits/mathdef.h
==============================================================================
--- trunk/ports/sysdeps/alpha/bits/mathdef.h (original)
+++ trunk/ports/sysdeps/alpha/bits/mathdef.h Mon Jun 18 13:44:49 2012
@@ -25,19 +25,9 @@
 #if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
 # define _MATH_H_MATHDEF	1
 
-# ifdef __GNUC__
-
-/* In GNU or ANSI mode, gcc leaves `float' expressions as-is.  */
-typedef float float_t;
-typedef double double_t;
-
-# else
-
-/* Wild guess at types for float_t and double_t. */
-typedef double float_t;
-typedef double double_t;
-
-# endif
+/* Alpha has "float" and "double" operations.  */
+typedef float float_t;    /* float expressions are evaluated as float.  */
+typedef double double_t;  /* double expressions are evaluated as double.  */
 
 /* The values returned by `ilogb' for 0 and NaN respectively.  */
 # define FP_ILOGB0     (-2147483647)

Modified: trunk/ports/sysdeps/alpha/fpu/cfloat-compat.h
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/cfloat-compat.h (original)
+++ trunk/ports/sysdeps/alpha/fpu/cfloat-compat.h Mon Jun 18 13:44:49 2012
@@ -1,5 +1,5 @@
 /* Compatibility macros for old and new Alpha complex float ABI.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-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
@@ -25,35 +25,20 @@
    follow the official Tru64 ABI, which passes the components of a complex
    as separate parameters.  */
 
-#if __GNUC_PREREQ(3,4)
-  typedef union { double d; _Complex float cf; } c1_compat;
+typedef union { double d; _Complex float cf; } c1_compat;
 # define c1_cfloat_decl(x)	double x
 # define c1_cfloat_real(x)	__real__ c1_cfloat_value (x)
 # define c1_cfloat_imag(x)	__imag__ c1_cfloat_value (x)
 # define c1_cfloat_value(x)	(((c1_compat *)(void *)&x)->cf)
 # define c1_cfloat_rettype	double
 # define c1_cfloat_return(x)	({ c1_compat _; _.cf = (x); _.d; })
+
 # define c2_cfloat_decl(x)	_Complex float x
 # define c2_cfloat_real(x)	__real__ x
 # define c2_cfloat_imag(x)	__imag__ x
 # define c2_cfloat_value(x)	x
 # define c2_cfloat_rettype	_Complex float
 # define c2_cfloat_return(x)	x
-#else
-# define c1_cfloat_decl(x)	_Complex float x
-# define c1_cfloat_real(x)	__real__ x
-# define c1_cfloat_imag(x)	__imag__ x
-# define c1_cfloat_value(x)	x
-# define c1_cfloat_rettype	_Complex float
-# define c1_cfloat_return(x)	x
-# define c2_cfloat_decl(x)	float x ## r, float x ## i
-# define c2_cfloat_real(x)	x ## r
-# define c2_cfloat_imag(x)	x ## i
-# define c2_cfloat_value(x) \
-    ({ _Complex float _; __real__ _ = x##r; __imag__ _ = x##i; _; })
-# define c2_cfloat_rettype	double _Complex
-# define c2_cfloat_return(x)	x
-#endif
 
 /* Get the proper symbol versions defined for each function.  */
 

Modified: trunk/ports/sysdeps/alpha/fpu/s_copysign.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_copysign.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_copysign.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2006, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -22,8 +22,7 @@
 double
 __copysign (double x, double y)
 {
-  __asm ("cpys %1, %2, %0" : "=f" (x) : "f" (y), "f" (x));
-  return x;
+  return __builtin_copysign (x, y);
 }
 
 weak_alias (__copysign, copysign)

Modified: trunk/ports/sysdeps/alpha/fpu/s_copysignf.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_copysignf.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_copysignf.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -21,8 +21,7 @@
 float
 __copysignf (float x, float y)
 {
-  __asm ("cpys %1, %2, %0" : "=f" (x) : "f" (y), "f" (x));
-  return x;
+  return __builtin_copysignf (x, y);
 }
 
 weak_alias (__copysignf, copysignf)

Modified: trunk/ports/sysdeps/alpha/fpu/s_fabs.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_fabs.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_fabs.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2006, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -22,12 +22,7 @@
 double
 __fabs (double x)
 {
-#if __GNUC_PREREQ (2, 8)
   return __builtin_fabs (x);
-#else
-  __asm ("cpys $f31, %1, %0" : "=f" (x) : "f" (x));
-  return x;
-#endif
 }
 
 weak_alias (__fabs, fabs)

Modified: trunk/ports/sysdeps/alpha/fpu/s_fabsf.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_fabsf.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_fabsf.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -21,12 +21,7 @@
 float
 __fabsf (float x)
 {
-#if __GNUC_PREREQ (2, 8)
   return __builtin_fabsf (x);
-#else
-  __asm ("cpys $f31, %1, %0" : "=f" (x) : "f" (x));
-  return x;
-#endif
 }
 
 weak_alias (__fabsf, fabsf)

Modified: trunk/ports/sysdeps/alpha/fpu/s_nearbyint.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_nearbyint.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_nearbyint.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -19,22 +19,23 @@
 #include <math.h>
 #include <math_ldbl_opt.h>
 
-#ifdef _IEEE_FP_INEXACT
-#error "Don't compile with -mieee-with-inexact"
-#endif
 
 double
 __nearbyint (double x)
 {
-  double two52 = copysign (0x1.0p52, x);
-  double r;
-  
-  r = x + two52;
-  r = r - two52;
+  if (isless (fabs (x), 9007199254740992.0))	/* 1 << DBL_MANT_DIG */
+    {
+      double tmp1, new_x;
+      __asm ("cvttq/svd %2,%1\n\t"
+	     "cvtqt/d %1,%0\n\t"
+	     : "=f"(new_x), "=&f"(tmp1)
+	     : "f"(x));
 
-  /* nearbyint(-0.1) == -0, and in general we'll always have the same sign
-     as our input.  */
-  return copysign (r, x);
+      /* nearbyint(-0.1) == -0, and in general we'll always have the same
+	 sign as our input.  */
+      x = copysign(new_x, x);
+    }
+  return x;
 }
 
 weak_alias (__nearbyint, nearbyint)
@@ -42,6 +43,6 @@
 strong_alias (__nearbyint, __nearbyintl)
 weak_alias (__nearbyint, nearbyintl)
 #endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1);
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_0);
 #endif

Modified: trunk/ports/sysdeps/alpha/fpu/s_nearbyintf.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_nearbyintf.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_nearbyintf.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2007-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -18,22 +18,29 @@
 
 #include <math.h>
 
-#ifdef _IEEE_FP_INEXACT
-#error "Don't compile with -mieee-with-inexact"
-#endif
-
 float
 __nearbyintf (float x)
 {
-  float two23 = copysignf (0x1.0p23, x);
-  float r;
+  if (isless (fabsf (x), 16777216.0f))	/* 1 << FLT_MANT_DIG */
+    {
+      /* Note that Alpha S_Floating is stored in registers in a
+	 restricted T_Floating format, so we don't even need to
+	 convert back to S_Floating in the end.  The initial
+	 conversion to T_Floating is needed to handle denormals.  */
 
-  r = x + two23;
-  r = r - two23;
+      float tmp1, tmp2, new_x;
 
-  /* nearbyint(-0.1) == -0, and in general we'll always have the same sign
-     as our input.  */
-  return copysign (r, x);
+      __asm ("cvtst/s %3,%2\n\t"
+	     "cvttq/svd %2,%1\n\t"
+	     "cvtqt/d %1,%0\n\t"
+	     : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
+	     : "f"(x));
+
+      /* nearbyintf(-0.1) == -0, and in general we'll always have the same
+	 sign as our input.  */
+      x = copysignf(new_x, x);
+    }
+  return x;
 }
 
 weak_alias (__nearbyintf, nearbyintf)

Modified: trunk/ports/sysdeps/alpha/fpu/s_rint.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_rint.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_rint.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2006, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -26,12 +26,7 @@
   if (isless (fabs (x), 9007199254740992.0))	/* 1 << DBL_MANT_DIG */
     {
       double tmp1, new_x;
-      __asm (
-#ifdef _IEEE_FP_INEXACT
-	     "cvttq/svid %2,%1\n\t"
-#else
-	     "cvttq/svd %2,%1\n\t"
-#endif
+      __asm ("cvttq/svid %2,%1\n\t"
 	     "cvtqt/d %1,%0\n\t"
 	     : "=f"(new_x), "=&f"(tmp1)
 	     : "f"(x));

Modified: trunk/ports/sysdeps/alpha/fpu/s_rintf.c
==============================================================================
--- trunk/ports/sysdeps/alpha/fpu/s_rintf.c (original)
+++ trunk/ports/sysdeps/alpha/fpu/s_rintf.c Mon Jun 18 13:44:49 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2007 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson.
 
@@ -32,11 +32,7 @@
       float tmp1, tmp2, new_x;
 
       __asm ("cvtst/s %3,%2\n\t"
-#ifdef _IEEE_FP_INEXACT
 	     "cvttq/svid %2,%1\n\t"
-#else
-	     "cvttq/svd %2,%1\n\t"
-#endif
 	     "cvtqt/d %1,%0\n\t"
 	     : "=f"(new_x), "=&f"(tmp1), "=&f"(tmp2)
 	     : "f"(x));

Modified: trunk/ports/sysdeps/alpha/soft-fp/sfp-machine.h
==============================================================================
--- trunk/ports/sysdeps/alpha/soft-fp/sfp-machine.h (original)
+++ trunk/ports/sysdeps/alpha/soft-fp/sfp-machine.h Mon Jun 18 13:44:49 2012
@@ -1,6 +1,6 @@
 /* Machine-dependent software floating-point definitions.
    Alpha userland IEEE 128-bit version.
-   Copyright (C) 2004 Free Software Foundation, Inc.
+   Copyright (C) 2004-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@xxxxxxxxxx),
 		  Jakub Jelinek (jj@xxxxxxxxxxxxxx) and
@@ -91,3 +91,6 @@
       __ieee_set_fp_control (t | _fex);				\
     }								\
 } while (0)
+
+#define FP_TRAPPING_EXCEPTIONS					\
+  ((__ieee_get_fp_control () & SWCR_ENABLE_MASK) << SWCR_ENABLE_SHIFT)

Propchange: trunk/ports/sysdeps/arm/bits/predefs.h
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Jun 18 13:44:49 2012
@@ -1,2 +1,2 @@
-/fsf/trunk/ports/sysdeps/arm/bits/predefs.h:18166-19077
+/fsf/trunk/ports/sysdeps/arm/bits/predefs.h:18166-19162
 /fsf/trunk/ports/sysdeps/arm/eabi/bits/predefs.h:15224-17813

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/resource.h Mon Jun 18 13:44:49 2012
@@ -1,6 +1,5 @@
 /* Bit values & structures for resource limits.  Alpha/Linux version.
-   Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2004, 2005
-   Free Software Foundation, Inc.
+   Copyright (C) 1994-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,13 @@
   __RLIMIT_RTPRIO = 14,
 #define RLIMIT_RTPRIO __RLIMIT_RTPRIO
 
-  __RLIMIT_NLIMITS = 15,
+  /* Maximum CPU time in ÃÂs that a process scheduled under a real-time
+     scheduling policy may consume without making a blocking system
+     call before being forcibly descheduled.  */
+  __RLIMIT_RTTIME = 15,
+#define RLIMIT_RTTIME __RLIMIT_RTTIME
+
+  __RLIMIT_NLIMITS = 16,
   __RLIM_NLIMITS = __RLIMIT_NLIMITS
 #define RLIMIT_NLIMITS __RLIMIT_NLIMITS
 #define RLIM_NLIMITS __RLIM_NLIMITS
@@ -157,10 +162,11 @@
 #define RUSAGE_SELF RUSAGE_SELF
 
   /* All of its terminated child processes.  */
-  RUSAGE_CHILDREN = -1,
+  RUSAGE_CHILDREN = -1
 #define RUSAGE_CHILDREN RUSAGE_CHILDREN
 
 #ifdef __USE_GNU
+  ,
   /* The calling thread.  */
   RUSAGE_THREAD = 1
 # define RUSAGE_THREAD RUSAGE_THREAD
@@ -230,3 +236,31 @@
   PRIO_USER = 2			/* WHO is a user ID.  */
 #define PRIO_USER PRIO_USER
 };
+
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+/* Modify and return resource limits of a process atomically.  */
+# ifndef __USE_FILE_OFFSET64
+extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource,
+		    const struct rlimit *__new_limit,
+		    struct rlimit *__old_limit) __THROW;
+# else
+#  ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (prlimit, (__pid_t __pid,
+				     enum __rlimit_resource __resource,
+				     const struct rlimit *__new_limit,
+				     struct rlimit *__old_limit), prlimit64);
+#  else
+#   define prlimit prlimit64
+#  endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource,
+		      const struct rlimit64 *__new_limit,
+		      struct rlimit64 *__old_limit) __THROW;
+# endif
+#endif
+
+__END_DECLS

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/shm.h Mon Jun 18 13:44:49 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 2000, 2002, 2004
-   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,6 +29,7 @@
 #define SHM_RDONLY	010000		/* attach read-only else read-write */
 #define SHM_RND		020000		/* round attach address to SHMLBA */
 #define SHM_REMAP	040000		/* take-over region on attach */
+#define SHM_EXEC	0100000		/* execution access */
 
 /* Commands for `shmctl'.  */
 #define SHM_LOCK	11		/* lock segment (root only) */

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/stat.h Mon Jun 18 13:44:49 2012
@@ -1,5 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001,2004,2010,2012
-   Free Software Foundation, Inc.
+/* Copyright (C) 1996-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
@@ -153,8 +152,7 @@
 #define	__S_IWRITE	0200	/* Write by owner.  */
 #define	__S_IEXEC	0100	/* Execute by owner.  */
 
-#if defined __USE_ATFILE || defined __USE_GNU
-/* XXX This will change to the macro for the next 2008 POSIX revision.  */
+#ifdef __USE_ATFILE
 # define UTIME_NOW	((1l << 30) - 1l)
 # define UTIME_OMIT	((1l << 30) - 2l)
 #endif

Modified: trunk/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/alpha/sysconf.c Mon Jun 18 13:44:49 2012
@@ -28,30 +28,6 @@
 
 extern long __libc_alpha_cache_shape[4];
 
-static inline unsigned long
-implver (void)
-{
-  unsigned long i;
-#if __GNUC_PREREQ(3,3)
-  i = __builtin_alpha_implver ();
-#else
-  asm ("implver %0" : "=r" (i));
-#endif
-  return i;
-}
-
-static inline unsigned long
-amask (unsigned long x)
-{
-  unsigned long r;
-#if __GNUC_PREREQ(3,3)
-  r = __builtin_alpha_amask (x);
-#else
-  asm ("amask %1,%0" : "=r"(r) : "Ir"(x));
-#endif
-  return r;
-}
-
 /* Get the value of the system variable NAME.  */
 long int
 __sysconf (int name)
@@ -79,7 +55,7 @@
 	 pages or have the kernel do the timings from KSEG.  Fortunately,
 	 kernels beginning with 2.6.5 will pass us this info in auxvec.  */
 
-      switch (implver())
+      switch (__builtin_alpha_implver ())
 	{
 	case 0: /* EV4 */
 	  /* EV4/LCA45 had 8k L1 caches; EV45 had 16k L1 caches.  */
@@ -89,7 +65,7 @@
 	  break;
 
 	case 1: /* EV5 */
-	  if (amask (1 << 8))
+	  if (__builtin_alpha_amask (1 << 8))
 	    {
 	      /* MAX insns not present; either EV5 or EV56.  */
 	      shape_l1i = shape_l1d = CSHAPE(8*1024, 5, 1);

Modified: trunk/ports/sysdeps/unix/sysv/linux/arm/setcontext.S
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/arm/setcontext.S (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/arm/setcontext.S Mon Jun 18 13:44:49 2012
@@ -87,7 +87,7 @@
         bne     PLTJMP(__setcontext)
 
         @ New context was 0 - exit
-        b       PLTJMP(_exit)
+        b       PLTJMP(HIDDEN_JUMPTARGET(_exit))
 END(__startcontext)
 
 #ifdef PIC

Modified: trunk/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
==============================================================================
--- trunk/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h (original)
+++ trunk/ports/sysdeps/unix/sysv/linux/mips/mips32/sysdep.h Mon Jun 18 13:44:49 2012
@@ -194,8 +194,9 @@
 /* We need to use a frame pointer for the functions in which we
    adjust $sp around the syscall, or debug information and unwind
    information will be $sp relative and thus wrong during the syscall.  As
-   of GCC 3.4.3, this is sufficient.  */
-#define FORCE_FRAME_POINTER alloca (4)
+   of GCC 4.7, this is sufficient.  */
+#define FORCE_FRAME_POINTER						\
+  void *volatile __fp_force __attribute__ ((unused)) = alloca (4)
 
 #define internal_syscall5(ncs_init, cs_init, input, err, arg1, arg2, arg3, arg4, arg5)\
 ({									\

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