platform/upstream/linaro-glibc.git
11 years agoSkip modifying exception mask and flags in SET_RESTORE_ROUND_53BIT
Siddhesh Poyarekar [Wed, 5 Jun 2013 08:26:19 +0000 (13:56 +0530)]
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.

11 years agoAdd copyright header to test-strchrnul.c
Siddhesh Poyarekar [Tue, 4 Jun 2013 11:10:55 +0000 (16:40 +0530)]
Add copyright header to test-strchrnul.c

11 years ago[AArch64] Ensure getcontext() initializes PSTATE.
Marcus Shawcroft [Tue, 4 Jun 2013 09:05:08 +0000 (10:05 +0100)]
[AArch64] Ensure getcontext() initializes PSTATE.

11 years agoIncrease test case timeout
Siddhesh Poyarekar [Tue, 4 Jun 2013 05:53:54 +0000 (11:23 +0530)]
Increase test case timeout

11 years agoBZ #15536: Fix ulp for 128-bit IBM long double.
Carlos O'Donell [Mon, 3 Jun 2013 18:49:48 +0000 (14:49 -0400)]
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.

11 years agoRevert po and pot files changes.
Carlos O'Donell [Fri, 31 May 2013 17:04:33 +0000 (13:04 -0400)]
Revert po and pot files changes.

Upstream TP should modify PO files and POT file
should be empty template.

11 years agoLink extra-libs consistently with libc and ld.so.
Joseph Myers [Fri, 31 May 2013 16:16:33 +0000 (16:16 +0000)]
Link extra-libs consistently with libc and ld.so.

11 years agoSet reasonable limits for xdr_requests.
Patsy Franklin [Thu, 30 May 2013 21:05:21 +0000 (17:05 -0400)]
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.

11 years ago [BZ #14256]
Jeff Law [Thu, 23 May 2013 19:28:00 +0000 (13:28 -0600)]
   [BZ #14256]
        * manual/errno.texi (ESTALE): Update to account for more than
        just NFS file systems.
        * sysdeps/gnu/errlist.c: Regenerated.

11 years agoAvoid crashing in LD_DEBUG when program name is unavailable
Siddhesh Poyarekar [Wed, 29 May 2013 16:00:20 +0000 (21:30 +0530)]
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.

11 years agoFix ChangeLog formatting
Siddhesh Poyarekar [Wed, 29 May 2013 15:55:06 +0000 (21:25 +0530)]
Fix ChangeLog formatting

11 years agoAdd descriptive titles to po files and header.
Carlos O'Donell [Wed, 29 May 2013 03:52:15 +0000 (23:52 -0400)]
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.

11 years agolocaledef: include file name in error messages
Mike Frysinger [Sat, 25 May 2013 18:38:38 +0000 (14:38 -0400)]
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>
11 years agoDoc fix for 'frexp' in arith.texi
Ben Norht [Tue, 28 May 2013 21:20:24 +0000 (17:20 -0400)]
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.

11 years agoUpdate powerpc libm-test ULPs.
Adhemerval Zanella [Tue, 28 May 2013 13:39:00 +0000 (08:39 -0500)]
Update powerpc libm-test ULPs.

11 years ago * stdio-common/bug26.c (main): Correct fscanf template.
Thomas Schwinge [Sun, 26 May 2013 19:59:24 +0000 (21:59 +0200)]
* stdio-common/bug26.c (main): Correct fscanf template.

Fixup for commit 6ecec3b616aeaf121c68c1053cd17fdcf0cdb5a2.

11 years ago_dl_skip_args declaration cleanup.
Thomas Schwinge [Sun, 26 May 2013 17:48:25 +0000 (19:48 +0200)]
_dl_skip_args declaration cleanup.

* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start:go): Don't
declare _dl_skip_args.

Continuation of commit 8347c74cc5c972aa9e57747177b1f5f4b1cbcac8.

11 years ago_dl_non_dynamic_init declaration cleanup.
Thomas Schwinge [Sun, 26 May 2013 16:53:19 +0000 (18:53 +0200)]
_dl_non_dynamic_init declaration cleanup.

* sysdeps/mach/hurd/i386/init-first.c (_dl_non_dynamic_init):
Don't declare.

Continuation of commit bc16e260d0e74b36e48d30edc6ea4f1152700c09.

11 years ago * manual/platform.texi: Add missing @end deftypefun.
Thomas Schwinge [Sun, 26 May 2013 16:06:30 +0000 (18:06 +0200)]
* manual/platform.texi: Add missing @end deftypefun.

Fixup for commit d116b7c414c8239b677e341ac517745db689ac2d.

11 years agoFix ldbl-96 hypotl of subnormals (bug 15529).
Joseph Myers [Fri, 24 May 2013 20:52:55 +0000 (20:52 +0000)]
Fix ldbl-96 hypotl of subnormals (bug 15529).

11 years agoTest drem and pow10 in libm-test.inc.
Joseph Myers [Fri, 24 May 2013 20:33:14 +0000 (20:33 +0000)]
Test drem and pow10 in libm-test.inc.

11 years agoAdd bug 14894 to NEWS.
Joseph Myers [Fri, 24 May 2013 20:30:36 +0000 (20:30 +0000)]
Add bug 14894 to NEWS.

11 years agoUse same tests for isfinite/finite, lgamma/gamma.
Joseph Myers [Fri, 24 May 2013 19:21:22 +0000 (19:21 +0000)]
Use same tests for isfinite/finite, lgamma/gamma.

11 years agoPowerPC: Program Priority Register support
Adhemerval Zanella [Fri, 24 May 2013 18:29:30 +0000 (13:29 -0500)]
PowerPC: Program Priority Register support

This patch add inline functions to change the Program Priority Register
from ISA 2.05.

11 years agoCorrectly compute ulp near zero.
Carlos O'Donell [Fri, 24 May 2013 18:03:14 +0000 (14:03 -0400)]
Correctly compute ulp near zero.

The current value used for ulp near zero is wrong,
and this commit fixes it such that ulp(0) is the smallest
subnormal value nearest to zero, which makes the most
sense for testing values near zero. Note that this is not
what Java does; they use the nearest normal value, which
is less accurate than what we want for glibc. Note that
there is no correct implementation of ulp since there
is no strict mathmatical definition that is accepted by
all groups using IEEE 754.

Previously with the large ulp values near zero there
were tests that previously passed, but were in fact
billions of ulp away from the precise answer. With this
commit we now need to disable one of the cpow tests which
is revealed to be inaccurate (bug 14473).

---

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

* math/libm-test.inc (MAX_EXP): Define.
(ULPDIFF): Define.
(ulp): New function.
(check_float_internal): Use ULPDIFF.
(cpow_test): Disable failing test.
(check_ulp): Test ulp() implemetnation.
(main): Call check_ulp before starting tests.

11 years agotile: improve detection for missing -mcmodel=large support
Chris Metcalf [Fri, 24 May 2013 18:02:31 +0000 (14:02 -0400)]
tile: improve detection for missing -mcmodel=large support

The existing test avoided passing -mcmodel=large if the compiler didn't
support it.  However, we need to test not just the compiler support, but
also the toolchain (as and ld) support, so make the test more complete.
In addition, we have to avoid using the hwN_plt() assembly operators if
that support is missing, so guard the uses with #ifdef NO_PLT_PCREL.

This allows us to properly build glibc with the current community
binutils, which doesn't yet have the PC-relative PLT operator support.
The -mcmodel=large support is in gcc 4.8, but the toolchain support
won't be present in the community until binutils 2.24.

11 years agoRemove libm-test START_DATA and END_DATA.
Joseph Myers [Fri, 24 May 2013 13:10:42 +0000 (13:10 +0000)]
Remove libm-test START_DATA and END_DATA.

11 years agoMake libm-test START and END into ordinary macros.
Joseph Myers [Fri, 24 May 2013 12:22:04 +0000 (12:22 +0000)]
Make libm-test START and END into ordinary macros.

11 years agoInitialize wide struct info.
Ondrej Bilka [Fri, 24 May 2013 06:34:10 +0000 (08:34 +0200)]
Initialize wide struct info.

Fixes 15381.

Using wide character function is on byte oriented memstream is undefined
behaviour.  This behaviour was masked by not initializing wide struct
info. We now initialize it to cause a predictable crash.

11 years agoAdd BZ # to ChangeLog for commit 9323d39baea2fb0cca3735136abe263eff405133
Ryan S. Arnold [Thu, 23 May 2013 15:39:05 +0000 (10:39 -0500)]
Add BZ # to ChangeLog for commit 9323d39baea2fb0cca3735136abe263eff405133

11 years agoPowerPC: Add functions for shared resources hints.
Edjunior Machado [Thu, 23 May 2013 15:06:24 +0000 (10:06 -0500)]
PowerPC: Add functions for shared resources hints.

11 years ago[AArch64] Fix up ChangeLog formatting for last commit.
Marcus Shawcroft [Thu, 23 May 2013 15:08:49 +0000 (16:08 +0100)]
[AArch64] Fix up ChangeLog formatting for last commit.

11 years ago[AArch64] Use generic "mcount" routine for profiling.
Marcus Shawcroft [Thu, 23 May 2013 13:47:15 +0000 (14:47 +0100)]
[AArch64] Use generic "mcount" routine for profiling.

11 years agoUpdate comments in ldconfig.c and dl-hwcaps.c.
Carlos O'Donell [Thu, 23 May 2013 03:22:36 +0000 (23:22 -0400)]
Update comments in ldconfig.c and dl-hwcaps.c.

In dl-hwcaps.c the comment read that rounding was done
to ElfW(Addr), but it's actually rounded to ElfW(Word).

In ldconfig.c we make each comment a sentence and
mention that the "tls" pseudo-hwcap is just for legacy
installations where TLS was optional.

---

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

* elf/ldconfig.c (is_hwcap_platform): Make comments full setences.
(main): Mention "tls" pseudo-hwcap is legacy.
* elf/dl-hwcaps.c (_dl_important_hwcaps): Correct rounding comment.

11 years agoDon't include function names in test data in generated libm-test.c.
Joseph Myers [Wed, 22 May 2013 21:01:44 +0000 (21:01 +0000)]
Don't include function names in test data in generated libm-test.c.

11 years agoUpdate bits/siginfo.h with Linux hwpoison SIGBUS changes
Edjunior Barbosa Machado [Wed, 22 May 2013 19:19:49 +0000 (14:19 -0500)]
Update bits/siginfo.h with Linux hwpoison SIGBUS changes

Adds new SIGBUS error codes for hardware poison signals, syncing with
the current kernel headers (v3.9). It also adds si_trapno field for
alpha.

11 years agoFix _nl_find_msg malloc failure case, and callers.
Carlos O'Donell [Wed, 22 May 2013 18:50:26 +0000 (14:50 -0400)]
Fix _nl_find_msg malloc failure case, and callers.

This patch fixes two issues, and perhaps should be two distinct commits,
but I present it here as one for the sake of completeness.

Commit 006dd86111c44572dbd3b26e9c63dd0f834d7762 fails to check malloc's
return in intl/dcigettext.c (_nl_find_msg):
~~~
      freemem_size = INITIAL_BLOCK_SIZE;
      newmem = (transmem_block_t *) malloc (freemem_size);
...
      newmem->next = transmem_list;
      transmem_list = newmem;
~~~
If malloc fails then newmem is NULL then newmem->next results in a
fault.

The fix is easy enough, check for newmem != NULL, and fall through to
the error condition below which returns (char *) -1 e.g. resource error.

The problem is that returning (char *) -1  will break all sorts of other
code, so while what we did is correct, the real failure case fix is
slightly broader.

There are 4 other places where _nl_find_msg is called, one is OK, the
other three are fixed to handle -1 error return value.

No regressions on x86-64 or x86.

However, no regressions isn't really a useful metric for this code.

The change was tested as documented here:
http://sourceware.org/glibc/wiki/Testing/WhiteBox
using SystemTap for fault injection to simulate malloc failure.

---

2013-05-03  Carlos O'Donell  <carlos at redhat.com>

[BZ #15441]
* intl/dcigettext.c (DCIGETTEXT): Skip translating if _nl_find_msg
returns -1.
(_nl_find_msg): Return -1 if recursive call returned -1. If newmem is
null return -1.
* intl/loadmsgcat.c (_nl_load_domain): If _nl_find_msg returns -1 abort
loading the domain.

11 years agoDon't include expected results in libm-test test names.
Joseph Myers [Wed, 22 May 2013 11:49:36 +0000 (11:49 +0000)]
Don't include expected results in libm-test test names.

11 years agoSort benchmark functions
Siddhesh Poyarekar [Wed, 22 May 2013 05:35:04 +0000 (11:05 +0530)]
Sort benchmark functions

11 years agoAdd benchmark inputs for math functions
Siddhesh Poyarekar [Tue, 23 Apr 2013 10:59:07 +0000 (16:29 +0530)]
Add benchmark inputs for math functions

Add benchmark inputs for inverse and hyperbolic trigonometric
functions and log.

11 years agoFix MIPS n32 cancellation in static libc (bug 15506).
Joseph Myers [Tue, 21 May 2013 20:27:45 +0000 (20:27 +0000)]
Fix MIPS n32 cancellation in static libc (bug 15506).

11 years agoTest getaddrinfo return value
Dmitry V. Levin [Thu, 16 May 2013 21:55:09 +0000 (21:55 +0000)]
Test getaddrinfo return value

This helps testing for regression of BZ#15339.  Creation of network
isolated environments is a privileged operation and therefore is not
included to the test.

11 years agoSet EAI_SYSTEM only when h_errno is NETDB_INTERNAL
Siddhesh Poyarekar [Tue, 21 May 2013 16:24:41 +0000 (21:54 +0530)]
Set EAI_SYSTEM only when h_errno is NETDB_INTERNAL

Fixes BZ #15339.

NSS_STATUS_UNAVAIL may mean that a necessary input resource is not
available.  This could occur in a number of cases including when the
network is down, system runs out of file descriptors, etc.  The
correct differentiator in such a case is the h_errno, which gives the
nature of failure.  In case of failures other than a simple 'not
found', we set h_errno as NETDB_INTERNAL and let errno be the
identifier for the exact error.

11 years agoFix parsing of numeric hosts in gethostbyname_r
Andreas Schwab [Mon, 21 Jan 2013 16:41:28 +0000 (17:41 +0100)]
Fix parsing of numeric hosts in gethostbyname_r

11 years agoAdd a README for benchtests
Siddhesh Poyarekar [Tue, 21 May 2013 09:29:50 +0000 (14:59 +0530)]
Add a README for benchtests

Move instructions from the Makefile here and expand on them.

11 years agoAArch64: Don't clobber argument for tail call to __sigjmp_save in sigsetjmp
Andreas Schwab [Mon, 20 May 2013 08:19:31 +0000 (10:19 +0200)]
AArch64: Don't clobber argument for tail call to __sigjmp_save in sigsetjmp

11 years ago[AArch64] Update libm-test-ulps.
Marcus Shawcroft [Tue, 21 May 2013 08:01:19 +0000 (09:01 +0100)]
[AArch64] Update libm-test-ulps.

11 years agoPowerPC: update missing CL/NEWS bug reference
Adhemerval Zanella [Mon, 20 May 2013 14:35:01 +0000 (09:35 -0500)]
PowerPC: update missing CL/NEWS bug reference

Update ChangLog bugzilla number and NEWS for commit
13d3b41a36c4f28d171a144f8a9baad3a8835981 (PowerPC: fix hypot/hypotf
check for -INF).

11 years agoFaster memset on x64
Ondrej Bilka [Mon, 20 May 2013 06:26:00 +0000 (08:26 +0200)]
Faster memset on x64

This implementation speed up memset in several ways. First is avoiding
expensive computed jump. Second is using fact that arguments of memset
are most of time aligned to 8 bytes.

Benchmark results on:
kam.mff.cuni.cz/~ondra/benchmark_string/memset_profile_result27_04_13.tar.bz2

11 years agoFaster memcpy on x64.
Ondrej Bilka [Mon, 20 May 2013 06:20:00 +0000 (08:20 +0200)]
Faster memcpy on x64.

We add new memcpy version that uses unaligned loads which are fast
on modern processors. This allows second improvement which is avoiding
computed jump which is relatively expensive operation.

Tests available here:
http://kam.mff.cuni.cz/~ondra/memcpy_profile_result27_04_13.tar.bz2

11 years agoFix nearbyint scheduling of arithmetic past fesetenv (bug 15490).
Joseph Myers [Sun, 19 May 2013 18:40:25 +0000 (18:40 +0000)]
Fix nearbyint scheduling of arithmetic past fesetenv (bug 15490).

11 years agoHandle sincos with generic libm-test logic.
Joseph Myers [Sun, 19 May 2013 14:45:41 +0000 (14:45 +0000)]
Handle sincos with generic libm-test logic.

11 years agoSimplify gen-libm-test.pl handling of tests with extra outputs.
Joseph Myers [Sun, 19 May 2013 14:40:40 +0000 (14:40 +0000)]
Simplify gen-libm-test.pl handling of tests with extra outputs.

11 years agoDon't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488).
Joseph Myers [Sat, 18 May 2013 12:12:38 +0000 (12:12 +0000)]
Don't disable CMPLXL macro for __NO_LONG_DOUBLE_MATH (bug 15488).

11 years agoMake libm-test look up ulps by name at runtime.
Joseph Myers [Sat, 18 May 2013 12:10:59 +0000 (12:10 +0000)]
Make libm-test look up ulps by name at runtime.

11 years agoFix remainder exceptions and directed-rounding results (bugs 15480, 15485).
Joseph Myers [Fri, 17 May 2013 19:04:08 +0000 (19:04 +0000)]
Fix remainder exceptions and directed-rounding results (bugs 15480, 15485).

11 years agoSimplify libm-test extra-output initialization.
Joseph Myers [Fri, 17 May 2013 19:02:19 +0000 (19:02 +0000)]
Simplify libm-test extra-output initialization.

11 years agoDon't handle ulps for integer tests in libm-test.inc.
Joseph Myers [Fri, 17 May 2013 19:01:27 +0000 (19:01 +0000)]
Don't handle ulps for integer tests in libm-test.inc.

11 years agoTest more cases of "inexact" exceptions in libm-test.inc.
Joseph Myers [Fri, 17 May 2013 14:45:50 +0000 (14:45 +0000)]
Test more cases of "inexact" exceptions in libm-test.inc.

11 years agoPrevent optimizing out of benchmark function call
Siddhesh Poyarekar [Fri, 17 May 2013 13:40:33 +0000 (19:10 +0530)]
Prevent optimizing out of benchmark function call

Resolves: #15424

The compiler would optimize the benchmark function call out of the
loop and call it only once, resulting in blazingly fast times for some
benchmarks (notably atan, sin and cos).  Mark the inputs as volatile
so that the code is forced to read again from the input for each
iteration.

11 years agoPowerPC: fix hypot/hypotf check for -INF
Adhemerval Zanella [Fri, 17 May 2013 13:12:16 +0000 (08:12 -0500)]
PowerPC: fix hypot/hypotf check for -INF

11 years agoMIPS: soft-fp NaN representation corrections
Maciej W. Rozycki [Thu, 16 May 2013 22:33:55 +0000 (23:33 +0100)]
MIPS: soft-fp NaN representation corrections

[BZ #15442] This adds support for the inverse interpretation of the
quiet bit of IEEE 754 floating-point NaN data that some processors
use.  This includes in particular MIPS architecture processors; the
payload used for the canonical qNaN encoding is updated accordingly
so as not to interfere with the quiet bit.

11 years agoTest for errno setting in more pole error cases.
Joseph Myers [Thu, 16 May 2013 21:57:25 +0000 (21:57 +0000)]
Test for errno setting in more pole error cases.

11 years agoRemove ENOSYS tests in libm-test.inc.
Joseph Myers [Thu, 16 May 2013 19:09:54 +0000 (19:09 +0000)]
Remove ENOSYS tests in libm-test.inc.

11 years agoRemove libm-test support for TEST_* inside functions.
Joseph Myers [Thu, 16 May 2013 19:09:03 +0000 (19:09 +0000)]
Remove libm-test support for TEST_* inside functions.

11 years agoAdd #include <stdint.h> for uint[32|64]_t usage (except installed headers).
Ryan S. Arnold [Wed, 1 May 2013 15:46:34 +0000 (10:46 -0500)]
Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).

11 years agoConvert TEST_extra tests from code to data.
Joseph Myers [Thu, 16 May 2013 15:53:40 +0000 (15:53 +0000)]
Convert TEST_extra tests from code to data.

11 years agoDe-stringify constants in math/atest-exp2.c.
Richard Henderson [Thu, 16 May 2013 13:34:01 +0000 (06:34 -0700)]
De-stringify constants in math/atest-exp2.c.

11 years agoSupport testing "inexact" exceptions in libm-test.inc.
Joseph Myers [Thu, 16 May 2013 13:19:38 +0000 (13:19 +0000)]
Support testing "inexact" exceptions in libm-test.inc.

11 years agoTest for errno setting in more overflow error cases.
Joseph Myers [Thu, 16 May 2013 13:18:48 +0000 (13:18 +0000)]
Test for errno setting in more overflow error cases.

11 years agoConvert TEST_cc_c tests from code to data.
Joseph Myers [Thu, 16 May 2013 13:17:55 +0000 (13:17 +0000)]
Convert TEST_cc_c tests from code to data.

11 years agoConvert TEST_f_L tests from code to data.
Joseph Myers [Thu, 16 May 2013 13:16:56 +0000 (13:16 +0000)]
Convert TEST_f_L tests from code to data.

11 years agoRemove const attribute on get_log2
Peter Collingbourne [Mon, 13 May 2013 15:36:12 +0000 (08:36 -0700)]
Remove const attribute on get_log2

This function is not const, as it can modify log2_m and log2_m_inited.

11 years agohppa: Cleanup libm-test-ulps.
Carlos O'Donell [Wed, 15 May 2013 21:19:20 +0000 (17:19 -0400)]
hppa: Cleanup libm-test-ulps.

Joseph Myers noted that there were several old and really very
incorrect values in the hppa libm-test-ulps. This patch removes
all of the ulps values for ceil, floor, rint, round, trun,
llrint, and llround, all of which were previously incorreclty
added (including some negative values which are really wrong).

---
ports/

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

* sysdeps/hppa/fpu/libm-test-ulps: Remove old values for ceil, floor,
rint, round, trunc, llrint, and llround.

11 years agoConvert TEST_f_l tests from code to data.
Joseph Myers [Wed, 15 May 2013 19:48:17 +0000 (19:48 +0000)]
Convert TEST_f_l tests from code to data.

11 years agoUse movq for 64-bit operations
Peter Collingbourne [Wed, 15 May 2013 18:33:45 +0000 (20:33 +0200)]
Use movq for 64-bit operations

The EXTRACT_WORDS64 and INSERT_WORDS64 macros use movd for a 64-bit
operation.  Somehow gcc manages to turn this into movq, but LLVM won't.

2013-05-15  Peter Collingbourne  <pcc@google.com>

* sysdeps/x86_64/fpu/math_private.h (MOVQ): New macro.
(EXTRACT_WORDS64) Use where appropriate.
(INSERT_WORDS64) Likewise.

11 years agoUse x constraints for operands to vfmaddss and vfmaddsd
Peter Collingbourne [Wed, 15 May 2013 18:31:53 +0000 (20:31 +0200)]
Use x constraints for operands to vfmaddss and vfmaddsd

While these instructions accept memory operands, only one operand
may be a memory operand.  Giving two operands xm constraints gives
the compiler the option of using memory for both operands, which
would result in invalid assembly code.  Using x for all operands is
more appropriate, as most x86_64 calling conventions will pass the
arguments in registers anyway.

2013-05-15  Peter Collingbourne  <pcc@google.com>

* sysdeps/x86_64/fpu/multiarch/s_fma.c (__fma_fma4): Replace xm
constraints with x constraints.
* sysdeps/x86_64/fpu/multiarch/s_fmaf.c (__fmaf_fma4): Likewise.

11 years agoMove _obstack_compat out of common
Peter Collingbourne [Wed, 15 May 2013 18:28:08 +0000 (20:28 +0200)]
Move _obstack_compat out of common

it is impossible to create an alias of a common symbol (as
compat_symbol does), because common symbols do not have a section or
an offset until linked.  GNU as tolerates aliases of common symbols by
simply creating another common symbol, but other assemblers (notably
LLVM's integrated assembler) are less tolerant.

2013-05-15  Peter Collingbourne  <pcc@google.com>

* malloc/obstack.c (_obstack_compat): Add initializer.
-

11 years agoReserve new TLS field for x86 and x86_64
Andreas Jaeger [Wed, 15 May 2013 18:20:54 +0000 (20:20 +0200)]
Reserve new TLS field for x86 and x86_64

[BZ #10686]
* sysdeps/x86_64/tls.h (struct tcbhead_t): Add __private_ss
field.
* sysdeps/i386/tls.h (struct tcbhead_t): Likewise.

11 years agoUpdate s390/bits/siginfo.h
Edjunior Machado [Wed, 15 May 2013 18:15:19 +0000 (20:15 +0200)]
Update s390/bits/siginfo.h

2013-05-15  Edjunior Machado  <emachado@linux.vnet.ibm.com>

* sysdeps/unix/sysv/linux/s390/bits/siginfo.h (siginfo_t):
Remove si_trapno and add si_addr_lsb to _sifields.sigfault.
(si_trapno): Remove macro.
(si_addr_lsb): Define new macro.
(BUS_MCEERR_AR, BUS_MCEERR_AO): Define new values.

11 years agoConsistently use TEST_f_L in tests of llrint and llround.
Joseph Myers [Wed, 15 May 2013 16:58:41 +0000 (16:58 +0000)]
Consistently use TEST_f_L in tests of llrint and llround.

11 years agohppa: Update libm-test-ulps
Carlos O'Donell [Wed, 15 May 2013 16:42:59 +0000 (12:42 -0400)]
hppa: Update libm-test-ulps

Update libm-test-ulps for hppa. There are a few entries
with 4 or 5 ulps, but these appear to be expected. A more
thorough review will be required if hppa switches long-double
to a different type.

---
ports/

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

* sysdeps/hppa/fpu/libm-test-ulps: Regenerate.

11 years agohppa: Fix _FPU_GETCW and _FPU_SETCW.
Carlos O'Donell [Wed, 15 May 2013 15:47:47 +0000 (11:47 -0400)]
hppa: Fix _FPU_GETCW and _FPU_SETCW.

The following patch fixes both _FPU_GETCW and
_FPU_SETCW for hppa. The initial implementation was
flawed and not well tested. We failed to set cw,
and passed in the value of a register to fldd.
This patch fixes both of those errors and allows
the libm tests to pass without failure.

Signed-off-by: Guy Martin <gmsoft@tuxicoman.be>
Signed-off-by: Carlos O'Donell <carlos@redhat.com>
---

2013-05-15  Guy Martin  <gmsoft@tuxicoman.be>
    Carlos O'Donell  <carlos@redhat.com>

[BZ# 15000]
* ports/sysdeps/hppa/fpu/fpu_control.h (_FPU_GETCW): Set cw.
(_FPU_SETCW): Pass address to fldd.

11 years agoConvert TEST_f_b tests from code to data.
Joseph Myers [Wed, 15 May 2013 12:04:07 +0000 (12:04 +0000)]
Convert TEST_f_b tests from code to data.

11 years agoTest for errno setting in more domain error cases.
Joseph Myers [Wed, 15 May 2013 10:43:19 +0000 (10:43 +0000)]
Test for errno setting in more domain error cases.

11 years agoDisable libm-test errno testing for TEST_INLINE.
Joseph Myers [Wed, 15 May 2013 10:42:18 +0000 (10:42 +0000)]
Disable libm-test errno testing for TEST_INLINE.

11 years agoConvert TEST_ff_i tests from code to data.
Joseph Myers [Wed, 15 May 2013 10:41:39 +0000 (10:41 +0000)]
Convert TEST_ff_i tests from code to data.

11 years agoUpdate Sparc ULPs.
David S. Miller [Tue, 14 May 2013 22:44:29 +0000 (15:44 -0700)]
Update Sparc ULPs.

* sysdeps/sparc/fpu/libm-test-ulps: Update.

11 years agoFix whitespace in RUN_TEST_LOOP_2_f.
Joseph Myers [Tue, 14 May 2013 21:17:19 +0000 (21:17 +0000)]
Fix whitespace in RUN_TEST_LOOP_2_f.

11 years agoCorrect types of fields in libm-test.inc structures.
Joseph Myers [Tue, 14 May 2013 21:00:56 +0000 (21:00 +0000)]
Correct types of fields in libm-test.inc structures.

11 years agoConvert TEST_ffI_f1 tests from code to data.
Joseph Myers [Tue, 14 May 2013 20:36:03 +0000 (20:36 +0000)]
Convert TEST_ffI_f1 tests from code to data.

11 years agoStop ARM setjmp/longjmp saving/restoring fpscr (bug 14908).
Joseph Myers [Tue, 14 May 2013 19:50:14 +0000 (19:50 +0000)]
Stop ARM setjmp/longjmp saving/restoring fpscr (bug 14908).

11 years agoAdd test for setjmp / longjmp and floating-point state.
Joseph Myers [Tue, 14 May 2013 19:49:09 +0000 (19:49 +0000)]
Add test for setjmp / longjmp and floating-point state.

11 years agoConvert TEST_f_i tests from code to data.
Joseph Myers [Tue, 14 May 2013 19:13:43 +0000 (19:13 +0000)]
Convert TEST_f_i tests from code to data.

11 years agoFix function name in scalbln_test call to END.
Joseph Myers [Tue, 14 May 2013 19:12:54 +0000 (19:12 +0000)]
Fix function name in scalbln_test call to END.

11 years agoConvert TEST_fI_f1 tests from code to data.
Joseph Myers [Tue, 14 May 2013 19:12:10 +0000 (19:12 +0000)]
Convert TEST_fI_f1 tests from code to data.

11 years agoConvert TEST_fF_f1 tests from code to data.
Joseph Myers [Tue, 14 May 2013 14:49:26 +0000 (14:49 +0000)]
Convert TEST_fF_f1 tests from code to data.

11 years agoConvert TEST_f_f1 tests from code to data.
Joseph Myers [Tue, 14 May 2013 12:01:19 +0000 (12:01 +0000)]
Convert TEST_f_f1 tests from code to data.

11 years agoAdd comments to vDSO hwcap loading process.
Carlos O'Donell [Tue, 14 May 2013 04:06:35 +0000 (00:06 -0400)]
Add comments to vDSO hwcap loading process.

Loading of the vDSO pseudo-hwcap from the type 2 GNU note is
a rather arcane and poorly documented process. Given that I had
a chance to review this code today I thought I would add all
of the things I had to lookup to verify the validity of the
process.

With a single .note.GNU the vDSO can register up to 64 flags,
though in practice you are limited to 64 - _DL_FIRST_EXTRA
bits which on x86 is 12 bits.

The only use of this that I know of is in the Xen support
in Linux where they use the 1st bit to indicate "nosegneg".
I see "We use bit 1 to avoid bugs in some versions of glibc
when bit 0 is used; the choice is otherwise arbitrary.", but
no reference to a glibc bug anywhere. The code as-is should
support bit zero, so we still have that free for future use.

The kernel, glibc, and ld.so.cache must coordinate to ensure
that bit values don't go too high and are used consistently.

---

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

* elf/dl-hwcaps.c (_dl_important_hwcaps): Comment vDSO hwcap loading.
* elf/ldconfig.c (is_hwcap_platform): Comment each hwcap check.
(main): Comment "tls" pseudo-hwcap.

11 years agoARM: Make multiarch memcpy always use NEON when compiler does
Roland McGrath [Mon, 13 May 2013 22:41:46 +0000 (15:41 -0700)]
ARM: Make multiarch memcpy always use NEON when compiler does