[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commits] r23276 - in /fsf/trunk/libc: ./ include/ math/ po/ sysdeps/generic/ sysdeps/i386/fpu/ sysdeps/wordsize-32/
- To: commits@xxxxxxxxxx
- Subject: [Commits] r23276 - in /fsf/trunk/libc: ./ include/ math/ po/ sysdeps/generic/ sysdeps/i386/fpu/ sysdeps/wordsize-32/
- From: eglibc@xxxxxxxxxx
- Date: Thu, 13 Jun 2013 00:01:49 -0000
Author: eglibc
Date: Thu Jun 13 00:01:48 2013
New Revision: 23276
Log:
Import glibc-mainline for 2013-06-13
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/include/fenv.h
fsf/trunk/libc/math/bug-nextafter.c
fsf/trunk/libc/math/bug-nexttoward.c
fsf/trunk/libc/math/test-misc.c
fsf/trunk/libc/po/ia.po
fsf/trunk/libc/sysdeps/generic/math_private.h
fsf/trunk/libc/sysdeps/generic/symbol-hacks.h
fsf/trunk/libc/sysdeps/i386/fpu/fenv_private.h
fsf/trunk/libc/sysdeps/wordsize-32/symbol-hacks.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Thu Jun 13 00:01:48 2013
@@ -1,3 +1,77 @@
+2013-06-11 Adhemerval Zanella <azanella@xxxxxxxxxxxxxxxxxx>
+
+ [BZ #15605]
+ * sysdeps/generic/symbol-hacks.h: Add workaround for memset/memmove calls
+ generated by the compiler on loop optimizations.
+ * sysdeps/wordsize-32/symbol-hacks.h: Include next symbol-hacks.h for
+ general definitions.
+
+2013-06-12 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * math/bug-nextafter.c: Include <math-tests.h>.
+ (main): Only test for exceptions if EXCEPTION_TESTS is true for
+ the relevant type.
+ * math/bug-nexttoward.c: Include <math-tests.h>.
+ (main): Only test for exceptions if EXCEPTION_TESTS is true for
+ the relevant type.
+ * math/test-misc.c: Include <math-tests.h>.
+ (main): Only test for exceptions if EXCEPTION_TESTS is true for
+ the relevant type.
+
+2013-06-12 Andreas Jaeger <aj@xxxxxxx>
+
+ * po/ia.po: Update Interlingua translation from translation
+ project.
+
+2013-06-12 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
+
+ * include/fenv.h: Include stdbool.h.
+ (struct rm_ctx): New structure.
+ * sysdeps/generic/math_private.h (SET_RESTORE_ROUND_GENERIC):
+ Define macro.
+ (SET_RESTORE_ROUND): Define using SET_RESTORE_ROUND_GENERIC.
+ (SET_RESTORE_ROUNDF): Likewise.
+ (SET_RESTORE_ROUNDL): Likewise.
+ (SET_RESTORE_ROUND_NOEX): Likewise.
+ (SET_RESTORE_ROUND_NOEXF): Likewise.
+ (SET_RESTORE_ROUND_NOEXL): Likewise.
+ (SET_RESTORE_ROUND_53BIT): Likewise.
+ [HAVE_RM_CTX] (libc_feresetround_noex_ctx): Define macro.
+ (libc_feresetround_noexf_ctx): Likewise.
+ (libc_feresetround_noexl_ctx): Likewise.
+ (libc_feholdsetround_53bit_ctx): Likewise.
+ (libc_feresetround_53bit_ctx): Likewise.
+ * sysdeps/i386/fpu/fenv_private.h (HAVE_RM_CTX): Define macro.
+ (libc_feholdexcept_setround_sse_ctx): New function.
+ (libc_fesetenv_sse_ctx): Likewise.
+ (libc_feupdateenv_sse_ctx): Likewise.
+ (libc_feholdexcept_setround_387_prec_ctx): Likewise.
+ (libc_feholdexcept_setround_387_ctx): Likewise.
+ (libc_feholdexcept_setround_387_53bit_ctx): Likewise.
+ (libc_feholdsetround_387_prec_ctx): Likewise.
+ (libc_feholdsetround_387_ctx): Likewise.
+ (libc_feholdsetround_387_53bit_ctx): Likewise.
+ (libc_feholdsetround_sse_ctx): Likewise.
+ (libc_feresetround_sse_ctx): Likewise.
+ (libc_feresetround_387_ctx): Likewise.
+ (libc_feupdateenv_387_ctx): Likewise.
+ (libc_feholdexcept_setroundf_ctx): Define macro.
+ (libc_fesetenvf_ctx): Likewise.
+ (libc_feupdateenvf_ctx): Likewise.
+ (libc_feholdsetroundf_ctx): Likewise.
+ (libc_feresetroundf_ctx): Likewise.
+ (libc_feholdexcept_setround_ctx): Likewise.
+ (libc_fesetenv_ctx): Likewise.
+ (libc_feupdateenv_ctx): Likewise.
+ (libc_feholdsetround_ctx): Likewise.
+ (libc_feresetround_ctx): Likewise.
+ (libc_feholdexcept_setroundl_ctx): Likewise.
+ (libc_feupdateenvl_ctx): Likewise.
+ (libc_feholdsetroundl_ctx): Likewise.
+ (libc_feresetroundl_ctx): Likewise.
+ [!__SSE2_MATH__] (libc_feholdsetround_53bit_ctx): Likewise.
+ (libc_feresetround_53bit_ctx): Likewise.
+
2013-06-11 Siddhesh Poyarekar <siddhesh@xxxxxxxxxx>
* locale/iso-639.def: Convert to UTF-8.
Modified: fsf/trunk/libc/include/fenv.h
==============================================================================
--- fsf/trunk/libc/include/fenv.h (original)
+++ fsf/trunk/libc/include/fenv.h Thu Jun 13 00:01:48 2013
@@ -1,5 +1,6 @@
#ifndef _FENV_H
#include <math/fenv.h>
+#include <stdbool.h>
#ifndef _ISOMAC
/* Now define the internal interfaces. */
@@ -23,4 +24,13 @@
libm_hidden_proto (feclearexcept)
#endif
+/* Rounding mode context. This allows functions to set/restore rounding mode
+ only when the desired rounding mode is different from the current rounding
+ mode. */
+struct rm_ctx
+{
+ fenv_t env;
+ bool updated_status;
+};
+
#endif
Modified: fsf/trunk/libc/math/bug-nextafter.c
==============================================================================
--- fsf/trunk/libc/math/bug-nextafter.c (original)
+++ fsf/trunk/libc/math/bug-nextafter.c Thu Jun 13 00:01:48 2013
@@ -3,6 +3,7 @@
#include <float.h>
#include <stdlib.h>
#include <stdio.h>
+#include <math-tests.h>
#if !defined(FE_OVERFLOW) && !defined(FE_UNDERFLOW)
/* If there's no support for the exceptions this test is checking,
@@ -26,7 +27,7 @@
puts ("nextafterf+ failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nextafterf+ did not overflow");
++result;
@@ -37,7 +38,7 @@
puts ("nextafterf- failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nextafterf- did not overflow");
++result;
@@ -52,7 +53,7 @@
puts ("nextafterf+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterf+ did not underflow");
++result;
@@ -65,7 +66,7 @@
puts ("nextafterf- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterf- did not underflow");
++result;
@@ -78,7 +79,7 @@
puts ("nextafterf+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterf+ did not underflow");
++result;
@@ -89,7 +90,7 @@
puts ("nextafterf+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterf+ did not underflow");
++result;
@@ -101,7 +102,7 @@
puts ("nextafterf- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterf- did not underflow");
++result;
@@ -112,7 +113,7 @@
puts ("nextafterf- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterf- did not underflow");
++result;
@@ -126,7 +127,7 @@
puts ("nextafter+ failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nextafter+ did not overflow");
++result;
@@ -137,7 +138,7 @@
puts ("nextafter failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nextafter- did not overflow");
++result;
@@ -152,7 +153,7 @@
puts ("nextafter+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafter+ did not underflow");
++result;
@@ -165,7 +166,7 @@
puts ("nextafter- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafter- did not underflow");
++result;
@@ -178,7 +179,7 @@
puts ("nextafter+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafter+ did not underflow");
++result;
@@ -189,7 +190,7 @@
puts ("nextafter+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafter+ did not underflow");
++result;
@@ -201,7 +202,7 @@
puts ("nextafter- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafter- did not underflow");
++result;
@@ -212,7 +213,7 @@
puts ("nextafter- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafter- did not underflow");
++result;
@@ -227,7 +228,7 @@
puts ("nextafterl+ failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nextafterl+ did not overflow");
++result;
@@ -238,7 +239,7 @@
puts ("nextafterl failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nextafterl- did not overflow");
++result;
@@ -253,7 +254,7 @@
puts ("nextafterl+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterl+ did not underflow");
++result;
@@ -266,7 +267,7 @@
puts ("nextafterl- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterl- did not underflow");
++result;
@@ -279,7 +280,7 @@
puts ("nextafterl+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterl+ did not underflow");
++result;
@@ -290,7 +291,7 @@
puts ("nextafterl+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterl+ did not underflow");
++result;
@@ -302,7 +303,7 @@
puts ("nextafterl- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterl- did not underflow");
++result;
@@ -313,7 +314,7 @@
puts ("nextafterl- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nextafterl- did not underflow");
++result;
Modified: fsf/trunk/libc/math/bug-nexttoward.c
==============================================================================
--- fsf/trunk/libc/math/bug-nexttoward.c (original)
+++ fsf/trunk/libc/math/bug-nexttoward.c Thu Jun 13 00:01:48 2013
@@ -3,6 +3,7 @@
#include <float.h>
#include <stdlib.h>
#include <stdio.h>
+#include <math-tests.h>
#if !defined(FE_OVERFLOW) && !defined(FE_UNDERFLOW)
/* If there's no support for the exceptions this test is checking,
@@ -27,7 +28,7 @@
puts ("nexttowardf+ failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nexttowardf+ did not overflow");
++result;
@@ -38,7 +39,7 @@
puts ("nexttowardf- failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nexttowardf- did not overflow");
++result;
@@ -53,7 +54,7 @@
puts ("nexttowardf+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardf+ did not underflow");
++result;
@@ -66,7 +67,7 @@
puts ("nexttowardf- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardf- did not underflow");
++result;
@@ -79,7 +80,7 @@
puts ("nexttowardf+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardf+ did not underflow");
++result;
@@ -90,7 +91,7 @@
puts ("nexttowardf+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardf+ did not underflow");
++result;
@@ -102,7 +103,7 @@
puts ("nexttowardf- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardf- did not underflow");
++result;
@@ -113,7 +114,7 @@
puts ("nexttowardf- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (float) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardf- did not underflow");
++result;
@@ -128,7 +129,7 @@
puts ("nexttoward+ failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nexttoward+ did not overflow");
++result;
@@ -139,7 +140,7 @@
puts ("nexttoward- failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nexttoward- did not overflow");
++result;
@@ -154,7 +155,7 @@
puts ("nexttoward+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttoward+ did not underflow");
++result;
@@ -167,7 +168,7 @@
puts ("nexttoward- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttoward- did not underflow");
++result;
@@ -180,7 +181,7 @@
puts ("nexttoward+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttoward+ did not underflow");
++result;
@@ -191,7 +192,7 @@
puts ("nexttoward+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttoward+ did not underflow");
++result;
@@ -203,7 +204,7 @@
puts ("nexttoward- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttoward- did not underflow");
++result;
@@ -214,7 +215,7 @@
puts ("nexttoward- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttoward- did not underflow");
++result;
@@ -229,7 +230,7 @@
puts ("nexttowardl+ failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nexttowardl+ did not overflow");
++result;
@@ -240,7 +241,7 @@
puts ("nexttowardl failed");
++result;
}
- if (fetestexcept (FE_OVERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_OVERFLOW) == 0)
{
puts ("nexttowardl- did not overflow");
++result;
@@ -255,7 +256,7 @@
puts ("nexttowardl+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardl+ did not underflow");
++result;
@@ -268,7 +269,7 @@
puts ("nexttowardl- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardl- did not underflow");
++result;
@@ -281,7 +282,7 @@
puts ("nexttowardl+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardl+ did not underflow");
++result;
@@ -292,7 +293,7 @@
puts ("nexttowardl+ failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardl+ did not underflow");
++result;
@@ -304,7 +305,7 @@
puts ("nexttowardl- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardl- did not underflow");
++result;
@@ -315,7 +316,7 @@
puts ("nexttowardl- failed");
++result;
}
- if (fetestexcept (FE_UNDERFLOW) == 0)
+ if (EXCEPTION_TESTS (long double) && fetestexcept (FE_UNDERFLOW) == 0)
{
puts ("nexttowardl- did not underflow");
++result;
Modified: fsf/trunk/libc/math/test-misc.c
==============================================================================
--- fsf/trunk/libc/math/test-misc.c (original)
+++ fsf/trunk/libc/math/test-misc.c Thu Jun 13 00:01:48 2013
@@ -22,6 +22,7 @@
#include <math.h>
#include <stdio.h>
#include <string.h>
+#include <math-tests.h>
int
@@ -1188,7 +1189,7 @@
f2 += f1;
#if defined(FE_OVERFLOW) && defined(FE_INEXACT)
int fe = fetestexcept (FE_ALL_EXCEPT);
- if (fe != (FE_OVERFLOW | FE_INEXACT))
+ if (EXCEPTION_TESTS (float) && fe != (FE_OVERFLOW | FE_INEXACT))
{
printf ("float overflow test failed: %x\n", fe);
result = 1;
@@ -1203,7 +1204,7 @@
d2 += d1;
#if defined(FE_OVERFLOW) && defined(FE_INEXACT)
fe = fetestexcept (FE_ALL_EXCEPT);
- if (fe != (FE_OVERFLOW | FE_INEXACT))
+ if (EXCEPTION_TESTS (double) && fe != (FE_OVERFLOW | FE_INEXACT))
{
printf ("double overflow test failed: %x\n", fe);
result = 1;
@@ -1219,7 +1220,7 @@
ld2 += ld1;
# if defined(FE_OVERFLOW) && defined(FE_INEXACT)
fe = fetestexcept (FE_ALL_EXCEPT);
- if (fe != (FE_OVERFLOW | FE_INEXACT))
+ if (EXCEPTION_TESTS (long double) && fe != (FE_OVERFLOW | FE_INEXACT))
{
printf ("long double overflow test failed: %x\n", fe);
result = 1;
Modified: fsf/trunk/libc/po/ia.po
==============================================================================
--- fsf/trunk/libc/po/ia.po (original)
+++ fsf/trunk/libc/po/ia.po Thu Jun 13 00:01:48 2013
@@ -1,13 +1,13 @@
# Interlingua translations of the libc package.
# Copyright (C) 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the glibc package.
-# Nik Kalach <nik.kalach@xxxxxxxx>, 2012.
+# Nik Kalach <nik.kalach@xxxxxxxx>, 2012, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: libc 2.17-pre1\n"
"POT-Creation-Date: 2012-12-07 15:10-0500\n"
-"PO-Revision-Date: 2012-12-22 07:22+0400\n"
+"PO-Revision-Date: 2013-04-26 04:10+0400\n"
"Last-Translator: Nik Kalach <nik.kalach@xxxxxxxx>\n"
"Language-Team: Interlingua <translation-team-ia@xxxxxxxxxxxxxxxxxxxxx>\n"
"Language: ia\n"
@@ -1792,7 +1792,7 @@
#: locale/programs/ld-telephone.c:93 locale/programs/ld-time.c:158
#, c-format
msgid "No definition for %s category found"
-msgstr ""
+msgstr "Necun definition trovate pro le categoria %s"
#: locale/programs/ld-address.c:145 locale/programs/ld-address.c:183
#: locale/programs/ld-address.c:201 locale/programs/ld-address.c:230
@@ -1808,45 +1808,45 @@
#: locale/programs/ld-time.c:195
#, c-format
msgid "%s: field `%s' not defined"
-msgstr ""
+msgstr "%s: le campo `%s' non es definite"
#: locale/programs/ld-address.c:157 locale/programs/ld-address.c:209
#: locale/programs/ld-address.c:239 locale/programs/ld-address.c:277
#: locale/programs/ld-name.c:116 locale/programs/ld-telephone.c:116
#, c-format
msgid "%s: field `%s' must not be empty"
-msgstr ""
+msgstr "%s: le campo `%s' non debe esser vacue"
#: locale/programs/ld-address.c:169
#, c-format
msgid "%s: invalid escape `%%%c' sequence in field `%s'"
-msgstr ""
+msgstr "%s: sequentia de escappata `%%%c' invalide in le campo `%s'"
#: locale/programs/ld-address.c:220
#, c-format
msgid "%s: terminology language code `%s' not defined"
-msgstr ""
+msgstr "%s: le codice de lingua `%s' pro le usage terminologic non es definite"
#: locale/programs/ld-address.c:245
#, c-format
msgid "%s: field `%s' must not be defined"
-msgstr ""
+msgstr "%s: le campo `%s' non debe esser definite"
#: locale/programs/ld-address.c:259 locale/programs/ld-address.c:288
#, c-format
msgid "%s: language abbreviation `%s' not defined"
-msgstr ""
+msgstr "%s: le abbreviation de lingua `%s' non es definite"
#: locale/programs/ld-address.c:266 locale/programs/ld-address.c:294
#: locale/programs/ld-address.c:328 locale/programs/ld-address.c:340
#, c-format
msgid "%s: `%s' value does not match `%s' value"
-msgstr ""
+msgstr "%s: le valor de `%s' non corresponde al valor de `%s'"
#: locale/programs/ld-address.c:313
#, c-format
msgid "%s: numeric country code `%d' not valid"
-msgstr ""
+msgstr "%s: le codice numeric de pais `%d' non es valide"
#: locale/programs/ld-address.c:509 locale/programs/ld-address.c:546
#: locale/programs/ld-address.c:584 locale/programs/ld-ctype.c:2630
@@ -1859,7 +1859,7 @@
#: locale/programs/ld-time.c:1167
#, c-format
msgid "%s: field `%s' declared more than once"
-msgstr ""
+msgstr "%s: le campo `%s' es declarate plus de un vice"
#: locale/programs/ld-address.c:513 locale/programs/ld-address.c:551
#: locale/programs/ld-identification.c:367 locale/programs/ld-messages.c:310
@@ -1869,7 +1869,7 @@
#: locale/programs/ld-time.c:1088 locale/programs/ld-time.c:1130
#, c-format
msgid "%s: unknown character in field `%s'"
-msgstr ""
+msgstr "%s: character incognite in le campo `%s'"
#: locale/programs/ld-address.c:598 locale/programs/ld-collate.c:3922
#: locale/programs/ld-ctype.c:3003 locale/programs/ld-identification.c:448
@@ -1879,7 +1879,7 @@
#: locale/programs/ld-telephone.c:310 locale/programs/ld-time.c:1218
#, c-format
msgid "%s: incomplete `END' line"
-msgstr ""
+msgstr "%s: linea `END' incomplete"
#: locale/programs/ld-address.c:608 locale/programs/ld-collate.c:543
#: locale/programs/ld-collate.c:595 locale/programs/ld-collate.c:891
@@ -1894,432 +1894,432 @@
#: locale/programs/ld-telephone.c:319 locale/programs/ld-time.c:1227
#, c-format
msgid "%s: syntax error"
-msgstr ""
+msgstr "%s: error de syntaxe"
#: locale/programs/ld-collate.c:418
#, c-format
msgid "`%.*s' already defined in charmap"
-msgstr ""
+msgstr "`%.*s' jam definite in le tabula de characteres"
#: locale/programs/ld-collate.c:427
#, c-format
msgid "`%.*s' already defined in repertoire"
-msgstr ""
+msgstr "`%.*s' jam definite in repertoire"
#: locale/programs/ld-collate.c:434
#, c-format
msgid "`%.*s' already defined as collating symbol"
-msgstr ""
+msgstr "`%.*s' jam definite como symbolo de collation"
#: locale/programs/ld-collate.c:441
#, c-format
msgid "`%.*s' already defined as collating element"
-msgstr ""
+msgstr "`%.*s' jam definite como elemento de collation"
#: locale/programs/ld-collate.c:472 locale/programs/ld-collate.c:498
#, c-format
msgid "%s: `forward' and `backward' are mutually excluding each other"
-msgstr ""
+msgstr "%s: `forward' e `backward' son mutualmente exclusive"
#: locale/programs/ld-collate.c:482 locale/programs/ld-collate.c:508
#: locale/programs/ld-collate.c:524
#, c-format
msgid "%s: `%s' mentioned more than once in definition of weight %d"
-msgstr ""
+msgstr "%s: `%s' mentionate plus de un vice in le definition del peso %d"
#: locale/programs/ld-collate.c:580
#, c-format
msgid "%s: too many rules; first entry only had %d"
-msgstr ""
+msgstr "%s: tro de regulas; le prime entrata habeva solmente %d"
#: locale/programs/ld-collate.c:616
#, c-format
msgid "%s: not enough sorting rules"
-msgstr ""
+msgstr "%s: il non ha sufficiente regulas a assortir"
#: locale/programs/ld-collate.c:781
#, c-format
msgid "%s: empty weight string not allowed"
-msgstr ""
+msgstr "%s: catena de peso vacue non es permittite"
#: locale/programs/ld-collate.c:876
#, c-format
msgid "%s: weights must use the same ellipsis symbol as the name"
-msgstr ""
+msgstr "%s: le pesos debe usar le mesmo symbolo de ellipse que le nomine"
#: locale/programs/ld-collate.c:932
#, c-format
msgid "%s: too many values"
-msgstr ""
+msgstr "%s: tro de valores"
#: locale/programs/ld-collate.c:1052 locale/programs/ld-collate.c:1227
#, c-format
msgid "order for `%.*s' already defined at %s:%Zu"
-msgstr ""
+msgstr "le ordine pro `%.*s' jam es definite in %s:%Zu"
#: locale/programs/ld-collate.c:1102
#, c-format
msgid "%s: the start and the end symbol of a range must stand for characters"
-msgstr ""
+msgstr "%s: le symbolos de initio e de fin de un intervallo debe representar characteres"
#: locale/programs/ld-collate.c:1129
#, c-format
msgid "%s: byte sequences of first and last character must have the same length"
-msgstr ""
+msgstr "%s: le sequentias de bytes del prime e del ultime characteres debe haber le mesme longitude"
#: locale/programs/ld-collate.c:1171
#, c-format
msgid "%s: byte sequence of first character of range is not lower than that of the last character"
-msgstr ""
+msgstr "%s: le sequentia de bytes del prime character del intervallo non es plus parve que illo del ultime character"
#: locale/programs/ld-collate.c:1296
#, c-format
msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
-msgstr ""
+msgstr "%s: le ellipse de intervallo symbolic non debe sequer directemente `order_start'"
#: locale/programs/ld-collate.c:1300
#, c-format
msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
-msgstr ""
+msgstr "%s: le ellipse de intervallo symbolic non debe esser sequite directemente per `order_end'"
#: locale/programs/ld-collate.c:1320 locale/programs/ld-ctype.c:1501
#, c-format
msgid "`%s' and `%.*s' are not valid names for symbolic range"
-msgstr ""
+msgstr "`%s' e `%.*s' non es nomines valide pro un intervallo symbolic"
#: locale/programs/ld-collate.c:1370 locale/programs/ld-collate.c:3858
#, c-format
msgid "%s: order for `%.*s' already defined at %s:%Zu"
-msgstr ""
+msgstr "%s: le ordine pro `%.*s' jam es definite in %s:%Zu"
#: locale/programs/ld-collate.c:1379
#, c-format
msgid "%s: `%s' must be a character"
-msgstr ""
+msgstr "%s: `%s' debe esser un character"
#: locale/programs/ld-collate.c:1574
#, c-format
msgid "%s: `position' must be used for a specific level in all sections or none"
-msgstr ""
+msgstr "%s: `position' debe utilisar se pro un nivello specific in tote le sectiones o in necun"
#: locale/programs/ld-collate.c:1599
#, c-format
msgid "symbol `%s' not defined"
-msgstr ""
+msgstr "le symbolo `%s' non es definite"
#: locale/programs/ld-collate.c:1675 locale/programs/ld-collate.c:1781
#, c-format
msgid "symbol `%s' has the same encoding as"
-msgstr ""
+msgstr "le symbolo `%s' ha le mesme codification que"
#: locale/programs/ld-collate.c:1679 locale/programs/ld-collate.c:1785
#, c-format
msgid "symbol `%s'"
-msgstr ""
+msgstr "le symbolo `%s'"
#: locale/programs/ld-collate.c:1827
#, c-format
msgid "no definition of `UNDEFINED'"
-msgstr ""
+msgstr "nulle definition de `UNDEFINED'"
#: locale/programs/ld-collate.c:1856
#, c-format
msgid "too many errors; giving up"
-msgstr ""
+msgstr "tro de errores; abandono"
#: locale/programs/ld-collate.c:2658 locale/programs/ld-collate.c:4046
#, c-format
msgid "%s: nested conditionals not supported"
-msgstr ""
+msgstr "%s: le conditionales annidate non es supportate"
#: locale/programs/ld-collate.c:2676
#, c-format
msgid "%s: more then one 'else'"
-msgstr ""
+msgstr "%s: plus de un 'else'"
#: locale/programs/ld-collate.c:2851
#, c-format
msgid "%s: duplicate definition of `%s'"
-msgstr ""
+msgstr "%s: definition duplicate de `%s'"
#: locale/programs/ld-collate.c:2887
#, c-format
msgid "%s: duplicate declaration of section `%s'"
-msgstr ""
+msgstr "%s: declaration duplicate del section `%s'"
#: locale/programs/ld-collate.c:3023
#, c-format
msgid "%s: unknown character in collating symbol name"
-msgstr ""
+msgstr "%s: character incognite in le nomine de un symbolo de collation"
#: locale/programs/ld-collate.c:3152
#, c-format
msgid "%s: unknown character in equivalent definition name"
-msgstr ""
+msgstr "%s: character incognite in le nomine de un definition de equivalente"
#: locale/programs/ld-collate.c:3163
#, c-format
msgid "%s: unknown character in equivalent definition value"
-msgstr ""
+msgstr "%s: character incognite in le valor de un definition de equivalente"
#: locale/programs/ld-collate.c:3173
#, c-format
msgid "%s: unknown symbol `%s' in equivalent definition"
-msgstr ""
+msgstr "%s: symbolo incognite `%s' in un definition de equivalente"
#: locale/programs/ld-collate.c:3182
msgid "error while adding equivalent collating symbol"
-msgstr ""
+msgstr "error durante le addition de un symbolo de collation equivalente"
#: locale/programs/ld-collate.c:3220
#, c-format
msgid "duplicate definition of script `%s'"
-msgstr ""
+msgstr "definition duplicate del scriptura `%s'"
#: locale/programs/ld-collate.c:3268
#, c-format
msgid "%s: unknown section name `%.*s'"
-msgstr ""
+msgstr "%s: nomine de section incognite `%.*s'"
#: locale/programs/ld-collate.c:3297
#, c-format
msgid "%s: multiple order definitions for section `%s'"
-msgstr ""
+msgstr "%s: multiple definitiones de ordine pro le section `%s'"
#: locale/programs/ld-collate.c:3325
#, c-format
msgid "%s: invalid number of sorting rules"
-msgstr ""
+msgstr "%s: le numero de regulas a assortir es incorrecte"
#: locale/programs/ld-collate.c:3352
#, c-format
msgid "%s: multiple order definitions for unnamed section"
-msgstr ""
+msgstr "%s: multiple definitiones de ordine pro un section innominate"
#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537
#: locale/programs/ld-collate.c:3900
#, c-format
msgid "%s: missing `order_end' keyword"
-msgstr ""
+msgstr "%s: parola clave `order_end' mancante"
#: locale/programs/ld-collate.c:3470
#, c-format
msgid "%s: order for collating symbol %.*s not yet defined"
-msgstr ""
+msgstr "%s: ordine non ancora definite pro le symbolo de collation %.*s"
#: locale/programs/ld-collate.c:3488
#, c-format
msgid "%s: order for collating element %.*s not yet defined"
-msgstr ""
+msgstr "%s: ordine non ancora definite pro le elemento de collation %.*s"
#: locale/programs/ld-collate.c:3499
#, c-format
msgid "%s: cannot reorder after %.*s: symbol not known"
-msgstr ""
+msgstr "%s: impossibile de reordinar post %.*s: symbolo incognite"
#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
#, c-format
msgid "%s: missing `reorder-end' keyword"
-msgstr ""
+msgstr "%s: parola clave `reorder-end' mancante"
#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
#, c-format
msgid "%s: section `%.*s' not known"
-msgstr ""
+msgstr "%s: section `%.*s' incognite"
#: locale/programs/ld-collate.c:3650
#, c-format
msgid "%s: bad symbol <%.*s>"
-msgstr ""
+msgstr "%s: symbolo invalide <%.*s>"
#: locale/programs/ld-collate.c:3846
#, c-format
msgid "%s: cannot have `%s' as end of ellipsis range"
-msgstr ""
+msgstr "%s: impossibile de haber `%s' como fin de un intervallo de ellipse"
#: locale/programs/ld-collate.c:3896
#, c-format
msgid "%s: empty category description not allowed"
-msgstr ""
+msgstr "%s: le description de categoria vacue non es permittite"
#: locale/programs/ld-collate.c:3915
#, c-format
msgid "%s: missing `reorder-sections-end' keyword"
-msgstr ""
+msgstr "%s: parola clave `reorder-sections-end' mancante"
#: locale/programs/ld-collate.c:4079
#, c-format
msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
-msgstr ""
+msgstr "%s: '%s' sin correspondente 'ifdef' o 'ifndef'"
#: locale/programs/ld-collate.c:4097
#, c-format
msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
-msgstr ""
+msgstr "%s: 'endif' sin correspondente 'ifdef' o 'ifndef'"
#: locale/programs/ld-ctype.c:439
#, c-format
msgid "No character set name specified in charmap"
-msgstr ""
+msgstr "Necun nomine de collection de characteres es specificate in le tabula de characteres"
#: locale/programs/ld-ctype.c:468
#, c-format
msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
-msgstr ""
+msgstr "le character L'\\u%0*x' del classe `%s' debe esser in le classe `%s'"
#: locale/programs/ld-ctype.c:483
#, c-format
msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
-msgstr ""
+msgstr "le character L'\\u%0*x' del classe `%s' non debe esser in le classe `%s'"
#: locale/programs/ld-ctype.c:497 locale/programs/ld-ctype.c:555
#, c-format
msgid "internal error in %s, line %u"
-msgstr ""
+msgstr "error interne in %s, linea %u"
#: locale/programs/ld-ctype.c:526
#, c-format
msgid "character '%s' in class `%s' must be in class `%s'"
-msgstr ""
+msgstr "le character '%s' del classe `%s' debe esser in le classe `%s'"
#: locale/programs/ld-ctype.c:542
#, c-format
msgid "character '%s' in class `%s' must not be in class `%s'"
-msgstr ""
+msgstr "le character '%s' del classe `%s' non debe esser in le classe `%s'"
#: locale/programs/ld-ctype.c:572 locale/programs/ld-ctype.c:610
#, c-format
msgid "<SP> character not in class `%s'"
-msgstr ""
+msgstr "le character <SP> non es in le classe `%s'"
#: locale/programs/ld-ctype.c:584 locale/programs/ld-ctype.c:621
#, c-format
msgid "<SP> character must not be in class `%s'"
-msgstr ""
+msgstr "le character <SP> non debe esser in le classe `%s'"
#: locale/programs/ld-ctype.c:599
#, c-format
msgid "character <SP> not defined in character map"
-msgstr ""
+msgstr "le character <SP> non es definite in le tabula de characteres"
#: locale/programs/ld-ctype.c:735
#, c-format
msgid "`digit' category has not entries in groups of ten"
-msgstr ""
+msgstr "le categoria `digit' non ha entratas in gruppos de dece"
#: locale/programs/ld-ctype.c:784
#, c-format
msgid "no input digits defined and none of the standard names in the charmap"
-msgstr ""
+msgstr "necun cifras de entrata definite e necun del nomines standard in le tabula de characteres"
#: locale/programs/ld-ctype.c:849
#, c-format
msgid "not all characters used in `outdigit' are available in the charmap"
-msgstr ""
+msgstr "non tote le characteres usate in `outdigit' es disponibile in le tabula de characteres"
#: locale/programs/ld-ctype.c:866
#, c-format
msgid "not all characters used in `outdigit' are available in the repertoire"
-msgstr ""
+msgstr "non tote le characteres usate in `outdigit' es disponibile in le repertoire"
#: locale/programs/ld-ctype.c:1269
#, c-format
msgid "character class `%s' already defined"
-msgstr ""
+msgstr "le classe de characteres `%s' jam ha essite definite"
#: locale/programs/ld-ctype.c:1275
#, c-format
msgid "implementation limit: no more than %Zd character classes allowed"
-msgstr ""
+msgstr "limite de implementation: il se non permitte plus de %Zd classes de characteres"
#: locale/programs/ld-ctype.c:1301
#, c-format
msgid "character map `%s' already defined"
-msgstr ""
+msgstr "le mappa de characteres `%s' jam ha essite definite"
#: locale/programs/ld-ctype.c:1307
#, c-format
msgid "implementation limit: no more than %d character maps allowed"
-msgstr ""
+msgstr "limite de implementation: il se non permitte plus de %d mappas de characteres"
#: locale/programs/ld-ctype.c:1572 locale/programs/ld-ctype.c:1697
#: locale/programs/ld-ctype.c:1803 locale/programs/ld-ctype.c:2493
#: locale/programs/ld-ctype.c:3489
#, c-format
msgid "%s: field `%s' does not contain exactly ten entries"
-msgstr ""
+msgstr "%s: le campo `%s' non contine exactemente dece entratas"
#: locale/programs/ld-ctype.c:1600 locale/programs/ld-ctype.c:2174
#, c-format
msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>"
-msgstr ""
+msgstr "le valor final <U%0*X> del intervallo es plus parve que le valor initial <U%0*X>"
#: locale/programs/ld-ctype.c:1727
msgid "start and end character sequence of range must have the same length"
-msgstr ""
+msgstr "le sequantias de characteres initial e final del intervallo debe haber le mesme longitude"
#: locale/programs/ld-ctype.c:1734
msgid "to-value character sequence is smaller than from-value sequence"
-msgstr ""
+msgstr "le sequentia de characteres del valor final es plus parve que le sequentia del valor initial"
#: locale/programs/ld-ctype.c:2094 locale/programs/ld-ctype.c:2145
msgid "premature end of `translit_ignore' definition"
-msgstr ""
+msgstr "le fin prematur del definition de `translit_ignore'"
#: locale/programs/ld-ctype.c:2100 locale/programs/ld-ctype.c:2151
#: locale/programs/ld-ctype.c:2193
msgid "syntax error"
-msgstr ""
+msgstr "error de syntaxe"
#: locale/programs/ld-ctype.c:2326
#, c-format
msgid "%s: syntax error in definition of new character class"
-msgstr ""
+msgstr "%s: error de syntaxe in le definition de un nove classe de characteres"
#: locale/programs/ld-ctype.c:2341
#, c-format
msgid "%s: syntax error in definition of new character map"
-msgstr ""
+msgstr "%s: error de syntaxe in le definition de un nove mappa de characteres"
#: locale/programs/ld-ctype.c:2515
msgid "ellipsis range must be marked by two operands of same type"
-msgstr ""
+msgstr "le intervallo de ellipse debe ser marcate per duo operandos del mesme typo"
#: locale/programs/ld-ctype.c:2524
msgid "with symbolic name range values the absolute ellipsis `...' must not be used"
-msgstr ""
+msgstr "con intervallo definite per nomines symbolic le ellipse absolute `...' non debe ser utilisate"
#: locale/programs/ld-ctype.c:2539
msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
-msgstr ""
+msgstr "con intervallo definite per UCS on debe usar le ellipse symbolic hexadecimal `..'"
#: locale/programs/ld-ctype.c:2553
msgid "with character code range values one must use the absolute ellipsis `...'"
-msgstr ""
+msgstr "con intervallo definite per codices de characteres on debe usar le ellipse absolute `...'"
#: locale/programs/ld-ctype.c:2704
#, c-format
msgid "duplicated definition for mapping `%s'"
-msgstr ""
+msgstr "definition duplicate del tabula `%s'"
#: locale/programs/ld-ctype.c:2790 locale/programs/ld-ctype.c:2934
#, c-format
msgid "%s: `translit_start' section does not end with `translit_end'"
-msgstr ""
+msgstr "%s: le section `translit_start' non fini con `translit_end'"
#: locale/programs/ld-ctype.c:2885
#, c-format
msgid "%s: duplicate `default_missing' definition"
-msgstr ""
+msgstr "%s: definition duplicate de `default_missing'"
#: locale/programs/ld-ctype.c:2890
msgid "previous definition was here"
-msgstr ""
+msgstr "le definition previe era hic"
#: locale/programs/ld-ctype.c:2912
#, c-format
msgid "%s: no representable `default_missing' definition found"
-msgstr ""
+msgstr "%s: necun definition `default_missing' representabile trovate"
#: locale/programs/ld-ctype.c:3065 locale/programs/ld-ctype.c:3149
#: locale/programs/ld-ctype.c:3169 locale/programs/ld-ctype.c:3190
@@ -2329,7 +2329,7 @@
#: locale/programs/ld-ctype.c:3423 locale/programs/ld-ctype.c:3448
#, c-format
msgid "%s: character `%s' not defined while needed as default value"
-msgstr ""
+msgstr "%s: le character `%s' non es definite quando illo es necesse como valor predefinite"
#: locale/programs/ld-ctype.c:3070 locale/programs/ld-ctype.c:3154
#: locale/programs/ld-ctype.c:3174 locale/programs/ld-ctype.c:3195
@@ -2338,366 +2338,368 @@
#: locale/programs/ld-ctype.c:3319 locale/programs/ld-ctype.c:3386
#, c-format
msgid "%s: character `%s' in charmap not representable with one byte"
-msgstr ""
+msgstr "%s: le character `%s' in tabula de characteres non es representabile con un byte"
#: locale/programs/ld-ctype.c:3430 locale/programs/ld-ctype.c:3455
#, c-format
msgid "%s: character `%s' needed as default value not representable with one byte"
-msgstr ""
+msgstr "%s: le character `%s' requirite como valor predefinite non es representabile con un byte"
#: locale/programs/ld-ctype.c:3511
#, c-format
msgid "no output digits defined and none of the standard names in the charmap"
-msgstr ""
+msgstr "necun cifras de output es definite e nihil del nomines standard es in le tabula de characteres"
#: locale/programs/ld-ctype.c:3802
#, c-format
msgid "%s: transliteration data from locale `%s' not available"
-msgstr ""
+msgstr "%s: le datos de transliteration del localitate `%s' non es disponibile"
#: locale/programs/ld-ctype.c:3903
#, c-format
msgid "%s: table for class \"%s\": %lu bytes\n"
-msgstr ""
+msgstr "%s: tabula pro le classe \"%s\": %lu bytes\n"
#: locale/programs/ld-ctype.c:3972
#, c-format
msgid "%s: table for map \"%s\": %lu bytes\n"
-msgstr ""
+msgstr "%s: tabula de characteres \"%s\": %lu bytes\n"
#: locale/programs/ld-ctype.c:4105
#, c-format
msgid "%s: table for width: %lu bytes\n"
-msgstr ""
+msgstr "%s: tabula pro le largor: %lu bytes\n"
#: locale/programs/ld-identification.c:169
#, c-format
msgid "%s: no identification for category `%s'"
-msgstr ""
+msgstr "%s: nulle identification pro le categoria `%s'"
#: locale/programs/ld-identification.c:434
#, c-format
msgid "%s: duplicate category version definition"
-msgstr ""
+msgstr "%s: definition duplicate de version de categoria"
#: locale/programs/ld-measurement.c:112
#, c-format
msgid "%s: invalid value for field `%s'"
-msgstr ""
+msgstr "%s: valor invalide pro le campo `%s'"
#: locale/programs/ld-messages.c:113 locale/programs/ld-messages.c:147
#, c-format
msgid "%s: field `%s' undefined"
-msgstr ""
+msgstr "%s: le campo `%s' non es definite"
#: locale/programs/ld-messages.c:120 locale/programs/ld-messages.c:154
#: locale/programs/ld-monetary.c:255 locale/programs/ld-numeric.c:117
#, c-format
msgid "%s: value for field `%s' must not be an empty string"
-msgstr ""
+msgstr "%s: le valor pro le campo `%s' non debe esser un catena vacue"
#: locale/programs/ld-messages.c:136 locale/programs/ld-messages.c:170
#, c-format
msgid "%s: no correct regular expression for field `%s': %s"
-msgstr ""
+msgstr "%s: necun expression regular correcte pro le campo `%s': %s"
#: locale/programs/ld-monetary.c:223
#, c-format
msgid "%s: value of field `int_curr_symbol' has wrong length"
-msgstr ""
+msgstr "%s: le valor del campo `int_curr_symbol' ha un longitude incorrecte"
#: locale/programs/ld-monetary.c:236
#, c-format
msgid "%s: value of field `int_curr_symbol' does not correspond to a valid name in ISO 4217"
-msgstr ""
+msgstr "%s: le valor del campo `int_curr_symbol' non corresponde a un nomine valide in ISO 4217"
#: locale/programs/ld-monetary.c:284 locale/programs/ld-monetary.c:314
#, c-format
msgid "%s: value for field `%s' must be in range %d...%d"
-msgstr ""
+msgstr "%s: le valor pro le campo `%s' debe esser del intervallo %d...%d"
#: locale/programs/ld-monetary.c:746 locale/programs/ld-numeric.c:273
#, c-format
msgid "%s: value for field `%s' must be a single character"
-msgstr ""
+msgstr "%s: le valor pro le campo `%s' debe esser un singule character"
#: locale/programs/ld-monetary.c:843 locale/programs/ld-numeric.c:317
#, c-format
msgid "%s: `-1' must be last entry in `%s' field"
-msgstr ""
+msgstr "%s: `-1' debe esser le ultime entrata in le campo `%s'"
#: locale/programs/ld-monetary.c:865 locale/programs/ld-numeric.c:334
#, c-format
msgid "%s: values for field `%s' must be smaller than 127"
-msgstr ""
+msgstr "%s: le valores pro le campo `%s' debe esser plus parve que 127"
#: locale/programs/ld-monetary.c:908
msgid "conversion rate value cannot be zero"
-msgstr ""
+msgstr "le valor del rata de conversion non pote esser zero"
#: locale/programs/ld-name.c:128 locale/programs/ld-telephone.c:125
#: locale/programs/ld-telephone.c:148
#, c-format
msgid "%s: invalid escape sequence in field `%s'"
-msgstr ""
+msgstr "%s: sequentia de escappata invalide in le campo `%s'"
#: locale/programs/ld-time.c:246
#, c-format
msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
-msgstr ""
+msgstr "%s: le indicator de direction in le catena %Zd in le campo `era' non es '+' ni '-'"
#: locale/programs/ld-time.c:257
#, c-format
msgid "%s: direction flag in string %Zd in `era' field is not a single character"
-msgstr ""
+msgstr "%s: le indication de direction in le catena %Zd in le campo `era' non es un singule character"
#: locale/programs/ld-time.c:270
#, c-format
msgid "%s: invalid number for offset in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: numero invalide pro displaciamento in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:278
#, c-format
msgid "%s: garbage at end of offset value in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: datos superflue al fin del valor de displaciamento in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:329
#, c-format
msgid "%s: invalid starting date in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: data initial invalide in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:338
#, c-format
msgid "%s: garbage at end of starting date in string %Zd in `era' field "
-msgstr ""
+msgstr "%s: datos superflue al fin del data initial in le catena %Zd in le campo `era' "
#: locale/programs/ld-time.c:357
#, c-format
msgid "%s: starting date is invalid in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: le data de comenciamento es invalide in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:406 locale/programs/ld-time.c:434
#, c-format
msgid "%s: invalid stopping date in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: data final invalide in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:415
#, c-format
msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: datos superflue al fin del data final in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:443
#, c-format
msgid "%s: missing era name in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: nomine de era mancante in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:455
#, c-format
msgid "%s: missing era format in string %Zd in `era' field"
-msgstr ""
+msgstr "%s: formato de era mancante in le catena %Zd in le campo `era'"
#: locale/programs/ld-time.c:496
#, c-format
msgid "%s: third operand for value of field `%s' must not be larger than %d"
-msgstr ""
+msgstr "%s: le tertie operando pro le valor del campo `%s' non debe esser plus grande que %d"
#: locale/programs/ld-time.c:504 locale/programs/ld-time.c:512
#: locale/programs/ld-time.c:520
#, c-format
msgid "%s: values for field `%s' must not be larger than %d"
-msgstr ""
+msgstr "%s: valores pro le campo `%s' non debe plus grande que %d"
#: locale/programs/ld-time.c:1003
#, c-format
msgid "%s: too few values for field `%s'"
-msgstr ""
+msgstr "%s: insufficiente numero de valores pro le campo `%s'"
#: locale/programs/ld-time.c:1048
msgid "extra trailing semicolon"
-msgstr ""
+msgstr "puncto e virgula superflue al fin"
#: locale/programs/ld-time.c:1051
#, c-format
msgid "%s: too many values for field `%s'"
-msgstr ""
+msgstr "%s: tro de valores pro le campo `%s'"
#: locale/programs/linereader.c:129
msgid "trailing garbage at end of line"
-msgstr ""
+msgstr "datos superflue al fin de catena"
#: locale/programs/linereader.c:297
msgid "garbage at end of number"
-msgstr ""
+msgstr "datos superflue al fin del numero"
#: locale/programs/linereader.c:409
msgid "garbage at end of character code specification"
-msgstr ""
+msgstr "datos superflue al fin del specification del codice de character"
#: locale/programs/linereader.c:495
msgid "unterminated symbolic name"
-msgstr ""
+msgstr "nomine symbolic sin termination"
#: locale/programs/linereader.c:622
msgid "illegal escape sequence at end of string"
-msgstr ""
+msgstr "sequentia de escappamento non permittite al fin de catena"
#: locale/programs/linereader.c:626 locale/programs/linereader.c:854
msgid "unterminated string"
-msgstr ""
+msgstr "catena sin termination"
#: locale/programs/linereader.c:668
msgid "non-symbolic character value should not be used"
-msgstr ""
+msgstr "un valor de character non-symbolic non deberea usar se"
#: locale/programs/linereader.c:815
#, c-format
msgid "symbol `%.*s' not in charmap"
-msgstr ""
+msgstr "le symbolo `%.*s' non es in tabula de characteres"
#: locale/programs/linereader.c:836
#, c-format
msgid "symbol `%.*s' not in repertoire map"
-msgstr ""
+msgstr "le symbolo `%.*s' non es in le repertoire"
#: locale/programs/locale-spec.c:130
#, c-format
msgid "unknown name \"%s\""
-msgstr ""
+msgstr "nomine incognite \"%s\""
#: locale/programs/locale.c:74
msgid "System information:"
-msgstr ""
+msgstr "Information del systema:"
#: locale/programs/locale.c:76
msgid "Write names of available locales"
-msgstr ""
+msgstr "Monstrar le nomines del localitates disponibile"
#: locale/programs/locale.c:78
msgid "Write names of available charmaps"
-msgstr ""
+msgstr "Monstrar le nomines del tabulas de characteres disponibile"
#: locale/programs/locale.c:79
msgid "Modify output format:"
-msgstr ""
+msgstr "Modificar le formate de output:"
#: locale/programs/locale.c:80
msgid "Write names of selected categories"
-msgstr ""
+msgstr "Monstrar le nomines del categorias seligite"
#: locale/programs/locale.c:81
msgid "Write names of selected keywords"
-msgstr ""
+msgstr "Monstrar le nomines del parolas claves seligite"
#: locale/programs/locale.c:82
msgid "Print more information"
-msgstr ""
+msgstr "Monstrar information plus detaliate"
#: locale/programs/locale.c:87
msgid "Get locale-specific information."
-msgstr ""
+msgstr "Obtener le information specific pro un localitate"
#: locale/programs/locale.c:90
msgid ""
"NAME\n"
"[-a|-m]"
msgstr ""
+"NOMINE\n"
+"[-a|-m]"
#: locale/programs/locale.c:194
#, c-format
msgid "Cannot set LC_CTYPE to default locale"
-msgstr ""
+msgstr "Impossibile de initialisar LC_CTYPE al localitate predefinite"
#: locale/programs/locale.c:196
#, c-format
msgid "Cannot set LC_MESSAGES to default locale"
-msgstr ""
+msgstr "Impossibile de initialisar LC_MESSAGE al localitate predefinite"
#: locale/programs/locale.c:209
#, c-format
msgid "Cannot set LC_COLLATE to default locale"
-msgstr ""
+msgstr "Impossibile de initialisar LC_COLLATE al localitate predefinite"
#: locale/programs/locale.c:225
#, c-format
msgid "Cannot set LC_ALL to default locale"
-msgstr ""
+msgstr "Impossibile de initialisar LC_ALL al localitate predefinite"
#: locale/programs/locale.c:521
#, c-format
msgid "while preparing output"
-msgstr ""
+msgstr "durante le preparation de output"
#: locale/programs/localedef.c:119
msgid "Input Files:"
-msgstr ""
+msgstr "Files de input:"
#: locale/programs/localedef.c:121
msgid "Symbolic character names defined in FILE"
-msgstr ""
+msgstr "Nomines symbolic de characteres es in FILE"
#: locale/programs/localedef.c:122
msgid "Source definitions are found in FILE"
-msgstr ""
+msgstr "Le definitiones fontal es in FILE"
#: locale/programs/localedef.c:124
msgid "FILE contains mapping from symbolic names to UCS4 values"
-msgstr ""
+msgstr "FILE contine mappage del nomines symbolic al valores UCS4"
#: locale/programs/localedef.c:128
msgid "Create output even if warning messages were issued"
-msgstr ""
+msgstr "Crear le output etsi advertimentos era emittite"
#: locale/programs/localedef.c:129
msgid "Create old-style tables"
-msgstr ""
+msgstr "Crear le tabellas de vetule stilo"
#: locale/programs/localedef.c:130
msgid "Optional output file prefix"
-msgstr ""
+msgstr "Prefixo optional del file de output"
#: locale/programs/localedef.c:131
msgid "Be strictly POSIX conform"
-msgstr ""
+msgstr "Conformar se strictemente a POSIX"
#: locale/programs/localedef.c:133
msgid "Suppress warnings and information messages"
-msgstr ""
+msgstr "Supprimer advertimentos e messages informative"
#: locale/programs/localedef.c:134
msgid "Print more messages"
-msgstr ""
+msgstr "Monstrar plus de messages"
#: locale/programs/localedef.c:135
msgid "Archive control:"
-msgstr ""
+msgstr "Gerentia del archivo:"
#: locale/programs/localedef.c:137
msgid "Don't add new data to archive"
-msgstr ""
+msgstr "Non adder nove datos al archivo"
#: locale/programs/localedef.c:139
msgid "Add locales named by parameters to archive"
-msgstr ""
+msgstr "Adder al archivo le localitates designate per parametros"
#: locale/programs/localedef.c:140
msgid "Replace existing archive content"
-msgstr ""
+msgstr "Reimplaciar le contento existente del archivo"
#: locale/programs/localedef.c:142
msgid "Remove locales named by parameters from archive"
-msgstr ""
+msgstr "Remover del archivo le localitates designate per parametros"
#: locale/programs/localedef.c:143
msgid "List content of archive"
-msgstr ""
+msgstr "Monstrar le contento del archivo"
#: locale/programs/localedef.c:145
msgid "locale.alias file to consult when making archive"
-msgstr ""
+msgstr "Le file locale.alias a consultar durante le creation del archivo"
#: locale/programs/localedef.c:150
msgid "Compile locale specification"
-msgstr ""
+msgstr "Compilar le specification de localitate"
#: locale/programs/localedef.c:153
msgid ""
@@ -2705,6 +2707,9 @@
"[--add-to-archive|--delete-from-archive] FILE...\n"
"--list-archive [FILE]"
msgstr ""
+"NOMINE\n"
+"[--add-to-archive|--delete-from-archive] FILE...\n"
+"--list-archive [FILE]"
#: locale/programs/localedef.c:228
#, c-format
Modified: fsf/trunk/libc/sysdeps/generic/math_private.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/math_private.h (original)
+++ fsf/trunk/libc/sysdeps/generic/math_private.h Thu Jun 13 00:01:48 2013
@@ -553,35 +553,62 @@
# define libc_feresetround_noexl libc_fesetenvl
#endif
+#if HAVE_RM_CTX
+/* Set/Restore Rounding Modes only when necessary. If defined, these functions
+ set/restore floating point state only if the state needed within the lexical
+ block is different from the current state. This saves a lot of time when
+ the floating point unit is much slower than the fixed point units. */
+
+# ifndef libc_feresetround_noex_ctx
+# define libc_feresetround_noex_ctx libc_fesetenv_ctx
+# endif
+# ifndef libc_feresetround_noexf_ctx
+# define libc_feresetround_noexf_ctx libc_fesetenvf_ctx
+# endif
+# ifndef libc_feresetround_noexl_ctx
+# define libc_feresetround_noexl_ctx libc_fesetenvl_ctx
+# endif
+
+# ifndef libc_feholdsetround_53bit_ctx
+# define libc_feholdsetround_53bit_ctx libc_feholdsetround_ctx
+# endif
+
+# ifndef libc_feresetround_53bit_ctx
+# define libc_feresetround_53bit_ctx libc_feresetround_ctx
+# endif
+
+# define SET_RESTORE_ROUND_GENERIC(RM,ROUNDFUNC,CLEANUPFUNC) \
+ struct rm_ctx ctx __attribute__((cleanup(CLEANUPFUNC ## _ctx))); \
+ ROUNDFUNC ## _ctx (&ctx, (RM))
+#else
+# define SET_RESTORE_ROUND_GENERIC(RM, ROUNDFUNC, CLEANUPFUNC) \
+ fenv_t __libc_save_rm __attribute__((cleanup(CLEANUPFUNC))); \
+ ROUNDFUNC (&__libc_save_rm, (RM))
+#endif
+
/* Save and restore the rounding mode within a lexical block. */
#define SET_RESTORE_ROUND(RM) \
- fenv_t __libc_save_rm __attribute__((cleanup(libc_feresetround))); \
- libc_feholdsetround (&__libc_save_rm, (RM))
+ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetround, libc_feresetround)
#define SET_RESTORE_ROUNDF(RM) \
- fenv_t __libc_save_rm __attribute__((cleanup(libc_feresetroundf))); \
- libc_feholdsetroundf (&__libc_save_rm, (RM))
+ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetroundf, libc_feresetroundf)
#define SET_RESTORE_ROUNDL(RM) \
- fenv_t __libc_save_rm __attribute__((cleanup(libc_feresetroundl))); \
- libc_feholdsetroundl (&__libc_save_rm, (RM))
+ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetroundl, libc_feresetroundl)
/* Save and restore the rounding mode within a lexical block, and also
the set of exceptions raised within the block may be discarded. */
#define SET_RESTORE_ROUND_NOEX(RM) \
- fenv_t __libc_save_rm __attribute__((cleanup(libc_feresetround_noex))); \
- libc_feholdsetround (&__libc_save_rm, (RM))
+ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetround, libc_feresetround_noex)
#define SET_RESTORE_ROUND_NOEXF(RM) \
- fenv_t __libc_save_rm __attribute__((cleanup(libc_feresetround_noexf))); \
- libc_feholdsetroundf (&__libc_save_rm, (RM))
+ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetroundf, libc_feresetround_noexf)
#define SET_RESTORE_ROUND_NOEXL(RM) \
- fenv_t __libc_save_rm __attribute__((cleanup(libc_feresetround_noexl))); \
- libc_feholdsetroundl (&__libc_save_rm, (RM))
+ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetroundl, libc_feresetround_noexl)
/* Like SET_RESTORE_ROUND, but also set rounding precision to 53 bits. */
#define SET_RESTORE_ROUND_53BIT(RM) \
- fenv_t __libc_save_rm __attribute__((cleanup(libc_feresetround_53bit))); \
- libc_feholdsetround_53bit (&__libc_save_rm, (RM))
+ SET_RESTORE_ROUND_GENERIC (RM, libc_feholdsetround_53bit, \
+ libc_feresetround_53bit)
#define __nan(str) \
(__builtin_constant_p (str) && str[0] == '\0' ? NAN : __nan (str))
Modified: fsf/trunk/libc/sysdeps/generic/symbol-hacks.h
==============================================================================
--- fsf/trunk/libc/sysdeps/generic/symbol-hacks.h (original)
+++ fsf/trunk/libc/sysdeps/generic/symbol-hacks.h Thu Jun 13 00:01:48 2013
@@ -1,1 +1,6 @@
-/* Fortunately nothing to do. */
+/* Some compiler optimizations may transform loops into memset/memmove
+ calls and without proper declaration it may generate PLT calls. */
+#if !defined __ASSEMBLER__ && !defined NOT_IN_libc && defined SHARED
+asm ("memmove = __GI_memmove");
+asm ("memset = __GI_memset");
+#endif
Modified: fsf/trunk/libc/sysdeps/i386/fpu/fenv_private.h
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/fpu/fenv_private.h (original)
+++ fsf/trunk/libc/sysdeps/i386/fpu/fenv_private.h Thu Jun 13 00:01:48 2013
@@ -322,6 +322,179 @@
# define libc_feholdsetround_53bit libc_feholdsetround_387_53bit
#endif
+/* We have support for rounding mode context. */
+#define HAVE_RM_CTX 1
+
+static __always_inline void
+libc_feholdexcept_setround_sse_ctx (struct rm_ctx *ctx, int r)
+{
+ unsigned int mxcsr, new_mxcsr;
+ asm (STMXCSR " %0" : "=m" (*&mxcsr));
+ new_mxcsr = ((mxcsr | 0x1f80) & ~0x603f) | (r << 3);
+
+ ctx->env.__mxcsr = mxcsr;
+ if (__glibc_unlikely (mxcsr != new_mxcsr))
+ {
+ asm volatile (LDMXCSR " %0" : : "m" (*&new_mxcsr));
+ ctx->updated_status = true;
+ }
+ else
+ ctx->updated_status = false;
+}
+
+/* Unconditional since we want to overwrite any exceptions that occurred in the
+ context. This is also why all fehold* functions unconditionally write into
+ ctx->env. */
+static __always_inline void
+libc_fesetenv_sse_ctx (struct rm_ctx *ctx)
+{
+ libc_fesetenv_sse (&ctx->env);
+}
+
+static __always_inline void
+libc_feupdateenv_sse_ctx (struct rm_ctx *ctx)
+{
+ if (__glibc_unlikely (ctx->updated_status))
+ libc_feupdateenv_test_sse (&ctx->env, 0);
+}
+
+static __always_inline void
+libc_feholdexcept_setround_387_prec_ctx (struct rm_ctx *ctx, int r)
+{
+ libc_feholdexcept_387 (&ctx->env);
+
+ fpu_control_t cw = ctx->env.__control_word;
+ fpu_control_t old_cw = cw;
+ cw &= ~(_FPU_RC_ZERO | _FPU_EXTENDED);
+ cw |= r | 0x3f;
+
+ if (__glibc_unlikely (old_cw != cw))
+ {
+ _FPU_SETCW (cw);
+ ctx->updated_status = true;
+ }
+ else
+ ctx->updated_status = false;
+}
+
+static __always_inline void
+libc_feholdexcept_setround_387_ctx (struct rm_ctx *ctx, int r)
+{
+ libc_feholdexcept_setround_387_prec_ctx (ctx, r | _FPU_EXTENDED);
+}
+
+static __always_inline void
+libc_feholdexcept_setround_387_53bit_ctx (struct rm_ctx *ctx, int r)
+{
+ libc_feholdexcept_setround_387_prec_ctx (ctx, r | _FPU_DOUBLE);
+}
+
+static __always_inline void
+libc_feholdsetround_387_prec_ctx (struct rm_ctx *ctx, int r)
+{
+ fpu_control_t cw, new_cw;
+
+ _FPU_GETCW (cw);
+ new_cw = cw;
+ new_cw &= ~(_FPU_RC_ZERO | _FPU_EXTENDED);
+ new_cw |= r;
+
+ ctx->env.__control_word = cw;
+ if (__glibc_unlikely (new_cw != cw))
+ {
+ _FPU_SETCW (new_cw);
+ ctx->updated_status = true;
+ }
+ else
+ ctx->updated_status = false;
+}
+
+static __always_inline void
+libc_feholdsetround_387_ctx (struct rm_ctx *ctx, int r)
+{
+ libc_feholdsetround_387_prec_ctx (ctx, r | _FPU_EXTENDED);
+}
+
+static __always_inline void
+libc_feholdsetround_387_53bit_ctx (struct rm_ctx *ctx, int r)
+{
+ libc_feholdsetround_387_prec_ctx (ctx, r | _FPU_DOUBLE);
+}
+
+static __always_inline void
+libc_feholdsetround_sse_ctx (struct rm_ctx *ctx, int r)
+{
+ unsigned int mxcsr, new_mxcsr;
+
+ asm (STMXCSR " %0" : "=m" (*&mxcsr));
+ new_mxcsr = (mxcsr & ~0x6000) | (r << 3);
+
+ ctx->env.__mxcsr = mxcsr;
+ if (__glibc_unlikely (new_mxcsr != mxcsr))
+ {
+ asm volatile (LDMXCSR " %0" : : "m" (*&new_mxcsr));
+ ctx->updated_status = true;
+ }
+ else
+ ctx->updated_status = false;
+}
+
+static __always_inline void
+libc_feresetround_sse_ctx (struct rm_ctx *ctx)
+{
+ if (__glibc_unlikely (ctx->updated_status))
+ libc_feresetround_sse (&ctx->env);
+}
+
+static __always_inline void
+libc_feresetround_387_ctx (struct rm_ctx *ctx)
+{
+ if (__glibc_unlikely (ctx->updated_status))
+ _FPU_SETCW (ctx->env.__control_word);
+}
+
+static __always_inline void
+libc_feupdateenv_387_ctx (struct rm_ctx *ctx)
+{
+ if (__glibc_unlikely (ctx->updated_status))
+ libc_feupdateenv_test_387 (&ctx->env, 0);
+}
+
+#ifdef __SSE_MATH__
+# define libc_feholdexcept_setroundf_ctx libc_feholdexcept_setround_sse_ctx
+# define libc_fesetenvf_ctx libc_fesetenv_sse_ctx
+# define libc_feupdateenvf_ctx libc_feupdateenv_sse_ctx
+# define libc_feholdsetroundf_ctx libc_feholdsetround_sse_ctx
+# define libc_feresetroundf_ctx libc_feresetround_sse_ctx
+#else
+# define libc_feholdexcept_setroundf_ctx libc_feholdexcept_setround_387_ctx
+# define libc_feupdateenvf_ctx libc_feupdateenv_387_ctx
+# define libc_feholdsetroundf_ctx libc_feholdsetround_387_ctx
+# define libc_feresetroundf_ctx libc_feresetround_387_ctx
+#endif /* __SSE_MATH__ */
+
+#ifdef __SSE2_MATH__
+# define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_sse_ctx
+# define libc_fesetenv_ctx libc_fesetenv_sse_ctx
+# define libc_feupdateenv_ctx libc_feupdateenv_sse_ctx
+# define libc_feholdsetround_ctx libc_feholdsetround_sse_ctx
+# define libc_feresetround_ctx libc_feresetround_sse_ctx
+#else
+# define libc_feholdexcept_setround_ctx libc_feholdexcept_setround_387_ctx
+# define libc_feupdateenv_ctx libc_feupdateenv_387_ctx
+# define libc_feresetround_ctx libc_feresetround_387_ctx
+#endif /* __SSE2_MATH__ */
+
+#define libc_feholdexcept_setroundl_ctx libc_feholdexcept_setround_387_ctx
+#define libc_feupdateenvl_ctx libc_feupdateenv_387_ctx
+#define libc_feholdsetroundl_ctx libc_feholdsetround_387_ctx
+#define libc_feresetroundl_ctx libc_feresetround_387_ctx
+
+#ifndef __SSE2_MATH__
+# define libc_feholdsetround_53bit_ctx libc_feholdsetround_387_53bit_ctx
+# define libc_feresetround_53bit_ctx libc_feresetround_387_ctx
+#endif
+
#undef __mxcsr
#endif /* FENV_PRIVATE_H */
Modified: fsf/trunk/libc/sysdeps/wordsize-32/symbol-hacks.h
==============================================================================
--- fsf/trunk/libc/sysdeps/wordsize-32/symbol-hacks.h (original)
+++ fsf/trunk/libc/sysdeps/wordsize-32/symbol-hacks.h Thu Jun 13 00:01:48 2013
@@ -16,6 +16,8 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include_next "symbol-hacks.h"
+
/* A very dirty trick: gcc emits references to __divdi3, __udivdi3,
__moddi3, and __umoddi3. These functions are exported and
therefore we get PLTs. Unnecessarily so. Changing gcc is a big
_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits