[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...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r19163 - in /trunk: ./ libc/ libc/debug/ libc/manual/ libc/math/ libc/misc/bits/ libc/po/ libc/string/ libc/sysdeps/i386/fpu...
- From: joseph@xxxxxxxxxx
- Date: Mon, 18 Jun 2012 13:44:50 -0000
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