Commit Graph

15407 Commits

Author SHA1 Message Date
Siddhesh Poyarekar
58206c6863 Improve precision of clock() function on Linux
Resolves #12515.

Use CLOCK_PROCESS_CPUTIME_ID instead of times to get better precision
in the value returned by clock.
2013-06-13 09:54:35 +05:30
Adhemerval Zanella
6a97b62a5b Fix unsafe compiler optimization
GCC 4.8 enables -ftree-loop-distribute-patterns at -O3 by default and
this optimization may transform loops into memset/memmove calls. Without
proper handling this may generate unexpected PLT calls on GLIBC.
This patch fixes by create memset/memmove alias to internal GLIBC
__GI_memset/__GI_memmove symbols.
2013-06-12 10:21:22 -05:00
Joseph Myers
94f2c07669 Make more libm tests condition exceptions tests with math-tests.h. 2013-06-12 12:41:25 +00:00
Andreas Jaeger
e0e50a0a31 Update Interlingua translation from translation project 2013-06-12 10:12:19 +02:00
Siddhesh Poyarekar
2506109403 Set/restore rounding mode only when needed
The most common use case of math functions is with default rounding
mode, i.e. rounding to nearest.  Setting and restoring rounding mode
is an unnecessary overhead for this, so I've added support for a
context, which does the set/restore only if the FP status needs a
change.  The code is written such that only x86 uses these.  Other
architectures should be unaffected by it, but would definitely benefit
if the set/restore has as much overhead relative to the rest of the
code, as the x86 bits do.

Here's a summary of the performance improvement due to these
improvements; I've only mentioned functions that use the set/restore
and have benchmark inputs for x86_64:

Before:

cos(): ITERS:4.69335e+08: TOTAL:28884.6Mcy, MAX:4080.28cy, MIN:57.562cy, 16248.6 calls/Mcy
exp(): ITERS:4.47604e+08: TOTAL:28796.2Mcy, MAX:207.721cy, MIN:62.385cy, 15543.9 calls/Mcy
pow(): ITERS:1.63485e+08: TOTAL:28879.9Mcy, MAX:362.255cy, MIN:172.469cy, 5660.86 calls/Mcy
sin(): ITERS:3.89578e+08: TOTAL:28900Mcy, MAX:704.859cy, MIN:47.583cy, 13480.2 calls/Mcy
tan(): ITERS:7.0971e+07: TOTAL:28902.2Mcy, MAX:1357.79cy, MIN:388.58cy, 2455.55 calls/Mcy

After:

cos(): ITERS:6.0014e+08: TOTAL:28875.9Mcy, MAX:364.283cy, MIN:45.716cy, 20783.4 calls/Mcy
exp(): ITERS:5.48578e+08: TOTAL:28764.9Mcy, MAX:191.617cy, MIN:51.011cy, 19071.1 calls/Mcy
pow(): ITERS:1.70013e+08: TOTAL:28873.6Mcy, MAX:689.522cy, MIN:163.989cy, 5888.18 calls/Mcy
sin(): ITERS:4.64079e+08: TOTAL:28891.5Mcy, MAX:6959.3cy, MIN:36.189cy, 16062.8 calls/Mcy
tan(): ITERS:7.2354e+07: TOTAL:28898.9Mcy, MAX:1295.57cy, MIN:380.698cy, 2503.7 calls/Mcy

So the improvements are:

cos: 27.9089%
exp: 22.6919%
pow: 4.01564%
sin: 19.1585%
tan: 1.96086%

The downside of the change is that it will have an adverse performance
impact on non-default rounding modes, but I think the tradeoff is
justified.
2013-06-12 10:36:48 +05:30
Siddhesh Poyarekar
59b3055595 Convert iso-639.def to utf-8 2013-06-11 22:14:43 +05:30
Joseph Myers
f1d73d30df Add exception information to math-tests.h and use it in libm-test.inc. 2013-06-11 15:44:31 +00:00
Siddhesh Poyarekar
94aca5e740 Port remaining string benchmarks
There were a few more string benchmarks (strcpy_chk and stpcpy_check)
in the debug directory that needed to be ported over.
2013-06-11 20:51:55 +05:30
Ryan S. Arnold
fac0c5f2b1 PowerPC: Merge ports/ dl-procinfo.[ch] with base. 2013-06-11 10:13:39 -05:00
Andreas Schwab
f22bc486c1 Update BIG5-HKSCS charmap to HKSCS-2008 2013-06-11 17:02:59 +02:00
Siddhesh Poyarekar
4eacded20f Fix indentation and add copyright header to time.h 2013-06-11 18:42:42 +05:30
Siddhesh Poyarekar
fec799f823 Remove performance-related bits from string tests 2013-06-11 15:08:13 +05:30
Siddhesh Poyarekar
9702047480 Copy over string performance tests into benchtests
Copy over already existing string performance tests into benchtests.
Bits not related to performance measurements have been omitted.
2013-06-11 15:08:13 +05:30
Siddhesh Poyarekar
c1f75dc386 Begin porting string performance tests to benchtests
This is the initial support for string function performance tests,
along with copying tests for memcpy and memcpy-ifunc as proof of
concept.  The string function benchmarks perform operations at
different alignments and for different sizes and compare performance
between plain operations and the optimized string operations.  Due to
this their output is incompatible with the function benchmarks where
we're interested in fastest time, throughput, etc.

In future, the correctness checks in the benchmark tests can be
removed.  Same goes for the performance measurements in the
string/test-*.
2013-06-11 15:08:13 +05:30
Andreas Schwab
50fd745b4d Fix handling of netgroup cache in nscd 2013-06-11 11:29:50 +02:00
Andreas Jaeger
3ee7e9fe34 Update Chinese (traditional) translation from translation project 2013-06-11 09:00:26 +02:00
Siddhesh Poyarekar
89fb683558 Fix symbol definitions for __clock_* functions
__clock_gettime and other __clock_* functions could result in an extra
PLT reference within libc.so if it actually gets used.  None of the
code currently uses them, which is why this probably went unnoticed.
2013-06-11 11:11:11 +05:30
Joseph Myers
b8c61b4b1d Remove trailing whitespace from mach/*.sub. 2013-06-10 22:47:08 +00:00
Joseph Myers
0efa6f8b99 Add rounding mode information to math-tests.h and use it in libm-test.inc. 2013-06-10 12:34:49 +00:00
Siddhesh Poyarekar
50b818bf96 Avoid overwriting earlier flags in CPPFLAGS-nonlib in benchtests
When setting BENCH_DURATION in CPPFLAGS-nonlib, append to the variable
instead of assigning to it, to avoid overwriting earlier set flags,
notably the -DNOT_IN_libc=1 flag.
2013-06-10 10:08:46 +05:30
Joseph Myers
4902d2c3f7 Avoid trailing whitespace in sysdeps/gnu/errlist.c. 2013-06-08 14:55:32 +00:00
Joseph Myers
60d2f8f3c7 Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
Joseph Myers
2e09a79ada Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
Joseph Myers
9e54314bb0 Update miscellaneous scripts from upstream. 2013-06-06 19:02:09 +00:00
Ondrej Bilka
350635a59a Fix leading whitespaces. 2013-06-06 20:36:07 +02:00
Ondrej Bilka
25506f09dd Fix ChangeLog. 2013-06-06 16:11:25 +02:00
Ondrej Bilka
44a988afd8 Fix executable mode. 2013-06-06 02:15:33 +02:00
Joseph Myers
9c84384cc1 Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
Ryan S. Arnold
869378a5bf Add #include <stdint.h> to locale/gen-translit.pl and fix C-translit.h. 2013-06-05 12:01:50 -05:00
Andreas Schwab
840e2943e8 Properly handle %W in strptime 2013-06-05 10:33:02 +02:00
Siddhesh Poyarekar
4c60cb0c83 Skip modifying exception mask and flags in SET_RESTORE_ROUND_53BIT
We only need to set/restore rounding mode to ensure correct
computation for non-default rounding modes.
2013-06-05 13:56:19 +05:30
Siddhesh Poyarekar
96df079a42 Add copyright header to test-strchrnul.c 2013-06-04 16:40:55 +05:30
Siddhesh Poyarekar
d180203e97 Increase test case timeout 2013-06-04 11:23:54 +05:30
Carlos O'Donell
8b0ccb2d7f BZ #15536: Fix ulp for 128-bit IBM long double.
In 128-bit IBM long double the precision of the type
decreases as you approach subnormal numbers, equaling
that of a double for subnormal numbers. Therefore
adjust the computation in ulp to use 2^(MIN_EXP - MANT_DIG)
which is correct for FP_SUBNORMAL for all types.
2013-06-03 14:49:48 -04:00
Carlos O'Donell
3b3c4d40c1 Revert po and pot files changes.
Upstream TP should modify PO files and POT file
should be empty template.
2013-05-31 13:34:42 -04:00
Joseph Myers
fab7ce3f5b Link extra-libs consistently with libc and ld.so. 2013-05-31 16:16:33 +00:00
Patsy Franklin
eca5920cd9 Set reasonable limits for xdr_requests.
[BZ #15553] Increased the current limits large enough to load large
key and data values, but small enough to not pose a DoS threat.
2013-05-30 22:01:22 -04:00
Jeff Law
96945714ec [BZ #14256]
* manual/errno.texi (ESTALE): Update to account for more than
        just NFS file systems.
        * sysdeps/gnu/errlist.c: Regenerated.
2013-05-30 05:51:22 -06:00
Siddhesh Poyarekar
b937534868 Avoid crashing in LD_DEBUG when program name is unavailable
Resolves: #15465

The program name may be unavailable if the user application tampers
with argc and argv[].  Some parts of the dynamic linker caters for
this while others don't, so this patch consolidates the check and
fallback into a single macro and updates all users.
2013-05-29 21:34:12 +05:30
Carlos O'Donell
8a9f20c83c Add descriptive titles to po files and header.
Added descriptive titles to the Belarusian,
English (American), and Chinese (simplified)
po/pot files.

---

2013-05-28  Carlos O'Donell  <carlos@redhat.com>

	* po/be.po: Add descriptive title.
	* po/zh_CN.po: Likewise.
	* po/header.pot: Likewise.
2013-05-28 23:54:07 -04:00
Mike Frysinger
0e60d68ef0 localedef: include file name in error messages
When mkstemp fails, the error message the user gets back is:
cannot create temporary file: No such file or directory

That isn't terribly useful in figuring out why, so include the full
filename we tried to create in the error output.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-05-25 14:38:38 -04:00
Ben Norht
56b672e92e Doc fix for 'frexp' in arith.texi
It is the magnitude of the return value which lies
in [0.5, 1), not the return value itself.

---

2013-05-28  Ben North  <ben@redfrontdoor.org>

	* manual/arith.texi (frexp): It is the magnitude of the return
	value which lies in [0.5, 1), not the return value itself.
2013-05-28 17:20:24 -04:00
Adhemerval Zanella
5e056687df Update powerpc libm-test ULPs. 2013-05-28 08:39:00 -05:00
Thomas Schwinge
528c24058f * stdio-common/bug26.c (main): Correct fscanf template.
Fixup for commit 6ecec3b616.
2013-05-26 21:59:24 +02:00
Thomas Schwinge
07b4c13d0b _dl_skip_args declaration cleanup.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start:go): Don't
	declare _dl_skip_args.

Continuation of commit 8347c74cc5.
2013-05-26 19:48:25 +02:00
Thomas Schwinge
ec9dd97cec _dl_non_dynamic_init declaration cleanup.
* sysdeps/mach/hurd/i386/init-first.c (_dl_non_dynamic_init):
	Don't declare.

Continuation of commit bc16e260d0.
2013-05-26 18:53:19 +02:00
Thomas Schwinge
2b66ef5d55 * manual/platform.texi: Add missing @end deftypefun.
Fixup for commit d116b7c414.
2013-05-26 18:06:30 +02:00
Joseph Myers
0323d08657 Fix ldbl-96 hypotl of subnormals (bug 15529). 2013-05-24 20:52:55 +00:00
Joseph Myers
dd4259b9f7 Test drem and pow10 in libm-test.inc. 2013-05-24 20:33:14 +00:00
Joseph Myers
4f8dfe270b Use same tests for isfinite/finite, lgamma/gamma. 2013-05-24 19:21:22 +00:00