Commit Graph

464 Commits

Author SHA1 Message Date
Nathan Sidwell 0cad7ea248 Support no-FPU ColdFire in sysdeps/m68k/fpu_control.h. 2013-06-28 20:28:25 +00:00
Marcus Shawcroft ed0257f7d3 [AArch64] Adjust elf_machine_dynamic to find _DYNAMIC via _GLOBAL_OFFSET_TABLE_ 2013-06-28 11:27:26 +01:00
Marcus Shawcroft 03ea4d9b69 [AArch64] Simplify getcontext pstate initialization. 2013-06-28 11:23:58 +01:00
Maciej W. Rozycki fe114d2064 _dl_static_init: Remove nested locking.
This function is now called from dl_open_worker with the GL(dl_load_lock)
lock held and no longer needs local protection.  GL(dl_load_lock) also
correctly protects _dl_lookup_symbol_x called here that relies on the
caller to have serialized access to the data structures it uses.
2013-06-27 11:49:44 +01:00
Andreas Schwab 5ccb431120 m68k: fix bad use of register alias in cfi insn 2013-06-25 19:03:46 +02:00
Richard Henderson 385fd0d524 [BZ #15666] alpha: Add __sqrt*_finite definitions
With compatibility for ev6 and non-ev6 builds, as the non-ev6 did
manage to get definitions emitted for the float and double functions.
2013-06-24 18:12:24 -07:00
Richard Henderson 09d91fde6b alpha: Update libm-test-ulps 2013-06-23 11:05:56 -07:00
Roland McGrath 02a809d2cd sysdeps/arm/arm-mcount.S: Comment typo fix. 2013-06-18 15:58:48 -07:00
Roland McGrath 733edfb8ae ARM: Make armv7 memcpy implementations SFI-friendly 2013-06-18 15:42:56 -07:00
Roland McGrath d7dffa6a55 ARM: Clean up __libc_ifunc_impl_list 2013-06-18 10:11:02 -07:00
Joseph Myers 18e5cc3a82 Fix warnings from ARM soft-float fpu_control.h. 2013-06-18 00:35:03 +00:00
Joseph Myers c411604296 Wrap test-fpucw.c for ARM. 2013-06-18 00:30:44 +00:00
Joseph Myers 3023a72eb8 Make ARM feenableexcept detect failure (bug 14907). 2013-06-17 17:20:23 +00:00
Siddhesh Poyarekar 61dd6208fb New API to set default thread attributes
This patch introduces two new convenience functions to set the default
thread attributes used for creating threads.  This allows a programmer
to set the default thread attributes just once in a process and then
run pthread_create without additional attributes.
2013-06-15 12:24:15 +05:30
Joseph Myers 601eb33deb Stop MIPS setjmp / longjmp saving / restoring floating-point flags (bug 14909). 2013-06-14 21:42:24 +00:00
Joseph Myers c69f6af9e5 Update ARM _FPU_RESERVED value. 2013-06-14 21:19:35 +00:00
Joseph Myers d8572c5cfc Add math-tests.h for MIPS. 2013-06-14 20:21:40 +00:00
Kirk Meyer c396afdfa4 MicroBlaze: negated errors in lowlevellock.h
The macros in lowlevellock.h are returning positive errors, but the
users of the macros expect negative. This causes e.g. sem_wait to
sometimes return an error with errno set to -EWOULDBLOCK.

Signed-off-by: Kirk Meyer <kirk.meyer@sencore.com>
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
2013-06-14 10:26:32 +10:00
Chris Metcalf ad36ba2bd6 tile: default to little-endian in bits/endian.h
This turns out to be helpful when doing a from-scratch cross-compile of
gcc and glibc, since you can then do "make install-headers" in glibc
even before you have a functioning tile gcc.
2013-06-13 11:43:21 -04:00
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
Ryan S. Arnold d04310f210 PowerPC: Remove redundant ports/sysdeps/powerpc/dl-procinfo.[ch]. 2013-06-11 10:13:39 -05:00
Ryan S. Arnold fac0c5f2b1 PowerPC: Merge ports/ dl-procinfo.[ch] with base. 2013-06-11 10:13:39 -05: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
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
Ondrej Bilka 25506f09dd Fix ChangeLog. 2013-06-06 16:11:25 +02:00
Richard Henderson ecdaa7c920 BZ #15583: r7 uninitialized in strcpy.S when ARM_HAS_T2 undefined 2013-06-05 15:52:01 -07:00
Ondrej Bilka 44a988afd8 Fix executable mode. 2013-06-06 02:15:33 +02:00
Joseph Myers 5556231db2 Remove trailing whitespace in ports. 2013-06-05 20:26:40 +00:00
Marcus Shawcroft 6e445a3d2b [AArch64] Ensure getcontext() initializes PSTATE. 2013-06-04 10:13:59 +01:00
Joseph Myers fab7ce3f5b Link extra-libs consistently with libc and ld.so. 2013-05-31 16:16:33 +00: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
Siddhesh Poyarekar d0501bfbe2 Fix ChangeLog formatting 2013-05-29 21:34:12 +05:30
Chris Metcalf 86bd05fbc8 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.
2013-05-24 14:02:31 -04:00
Marcus Shawcroft 7b2991daea [AArch64] Fix up ChangeLog formatting for last commit. 2013-05-23 16:08:49 +01:00
Marcus Shawcroft 1fd885a5b3 [AArch64] Use generic "mcount" routine for profiling. 2013-05-23 14:47:15 +01:00
Edjunior Barbosa Machado 85118d4de3 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.
2013-05-22 14:19:49 -05:00
Joseph Myers b50a71810b Don't include expected results in libm-test test names. 2013-05-22 11:49:36 +00:00
Joseph Myers 04453c5625 Fix MIPS n32 cancellation in static libc (bug 15506). 2013-05-21 20:27:45 +00:00
Andreas Schwab e39adf43c7 AArch64: Don't clobber argument for tail call to __sigjmp_save in sigsetjmp 2013-05-21 10:52:46 +02:00
Marcus Shawcroft 6c14f68aab [AArch64] Update libm-test-ulps. 2013-05-21 09:01:19 +01:00
Joseph Myers db62a90753 Handle sincos with generic libm-test logic. 2013-05-19 14:45:41 +00:00
Maciej W. Rozycki 2848b10585 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.
2013-05-16 23:33:55 +01:00
Ryan S. Arnold e054f49430 Add #include <stdint.h> for uint[32|64]_t usage (except installed headers). 2013-05-16 11:32:54 -05:00
Carlos O'Donell c5d9b39ce6 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.
2013-05-15 17:19:20 -04:00
Carlos O'Donell 86ee76a086 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.
2013-05-15 12:42:59 -04:00
Carlos O'Donell b7f7d28b61 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.
2013-05-15 12:05:10 -04:00
Joseph Myers 0175558aa0 Stop ARM setjmp/longjmp saving/restoring fpscr (bug 14908). 2013-05-14 19:50:14 +00:00
Roland McGrath 5d5ef5dbfc ARM: Make multiarch memcpy always use NEON when compiler does 2013-05-13 16:13:14 -07:00
Marcus Shawcroft d842b1440d [AArch64] Fix out of range branch from ioctl() and clone()
2013-05-12  Marcus Shawcroft  <marcus.shawcroft@linaro.org>

	* sysdeps/unix/sysv/linux/aarch64/clone.S (__clone):
	Do not call sycall_error directly with a confitional branch.

	* sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl):
	Do not call sycall_error directly with a confitional branch.
2013-05-12 18:09:33 +01:00
Will Newton ae65139d14 ARM: Add Cortex-A15 optimized NEON and VFP memcpy routines, with IFUNC. 2013-05-08 12:06:34 +00:00
Roland McGrath 1a0fc08754 ARM: Rewrite elf_machine_dynamic in pure C. 2013-05-07 10:29:13 -07:00
Roland McGrath 12290c0614 ARM: Add missing sfi_breg prefix in _dl_tlsdesc_dynamic code. 2013-05-06 12:53:55 -07:00
Roland McGrath 7214d558d3 ARM: Macroize assembly use of EABI unwind directives. 2013-04-19 11:33:01 -07:00
David Holsgrove 7756ba9d6d MicroBlaze Port
Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
2013-04-18 11:00:13 +10:00
Andreas Schwab 0a033d342e m68k: update libm test ULPs 2013-04-11 16:37:44 +02:00
Thomas Schwinge 572676160d New <math.h> macro named issignaling to check for a signaling NaN (sNaN).
It is based on draft TS 18661 and currently enabled as a GNU extension.
2013-04-02 13:51:02 +02:00
Mans Rullgard 28831a9a67 ARM: fix preconfigure. 2013-03-26 20:53:16 +00:00
Joseph Myers defa03577f Use LIBC_CONFIG_VAR for MIPS default-abi setting. 2013-03-21 00:41:56 +00:00
Joseph Myers d56ca734b5 Use LIBC_CONFIG_VAR for ARM default-abi setting. 2013-03-20 23:15:42 +00:00
Andreas Schwab 4a97cddffb aarch64: Move rtld link to /lib 2013-03-19 12:08:44 +01:00
Roland McGrath 6bcae14685 ARM: Make dl-tlsdesc.S use sfi_breg, respect ARM_ALWAYS_BX and ARM_NO_INDEX_REGISTER. 2013-03-18 15:02:44 -07:00
Thomas Schwinge 67e971f18f Better distinguish between NaN/qNaN/sNaN. 2013-03-15 19:06:02 +01:00
Thomas Schwinge ae6b60cc5e Avoid duplicate MAP_ANONYMOUS definition for MIPS GNU/Linux.
Follow-up to commit 664a9ce4ca.
2013-03-15 18:59:23 +01:00
Roland McGrath 1362a2aa4e ARM: sfi_sp assembler macro 2013-03-15 09:32:16 -07:00
Roland McGrath a7ac752299 ARM: sfi_breg assembler macro 2013-03-15 09:31:56 -07:00
Andreas Schwab cbc105f8b5 aarch64: use lib64 as default lib and slib directory 2013-03-14 10:00:26 +01:00
Roland McGrath bb48a26acf ARM_BX_ALIGN_LOG2 2013-03-13 12:36:53 -07:00
Roland McGrath ccffb2a2db ARM: Handle ARM_ALWAYS_BX in {add,sub}_n.S code. 2013-03-13 09:51:37 -07:00
Roland McGrath 9e1d4ac924 ARM: Support avoiding pc as destination register. 2013-03-13 09:40:55 -07:00
Roland McGrath 4f510e3aee ARM: Make armv6t2 memchr implementation usable without Thumb. 2013-03-12 17:04:54 -07:00
Roland McGrath 47c71d9323 ARM: Change register allocation in armv6t2 memchr implementation. 2013-03-12 17:04:54 -07:00
Mike Frysinger 4fdd5ec125 ia64: fix set-but-unused warnings with syscalls
These macros often set up a variable that later macros sometimes do
not use.  Add unused attribute to avoid that.

Similarly, the ia64 code tends to check the err field rather than
the val (which is opposite of most arches) leading to the same
kind of warning.  Replace this with a dummy reference.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-12 06:01:38 -04:00
Mike Frysinger a186dc916c ia64: fix strict aliasing warnings with libm error
The current code declares double constants by using a char buffer and
then casting the pointer to a different type.  This makes the aliasing
logic unhappy.  Change it to use a union instead to avoid that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-12 06:00:28 -04:00
Mike Frysinger c5abd7ce01 ia64: fix strict aliasing warnings with func descriptors
Function pointers on ia64 are like parisc -- they're plabels.  While
the parisc port enjoys a gcc builtin for extracting the address here,
ia64 has no such luck.

Casting & dereferencing in one go triggers a strict aliasing warning.
Use a union to fix that.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-12 06:00:05 -04:00
Joseph Myers b7845b6388 Add comments about ARM configure -fno-unwind-tables handling. 2013-03-11 23:55:55 +00:00
Roland McGrath 7f86996afc ARM: Consolidate setjmp details in include/bits/setjmp.h file. 2013-03-11 16:45:25 -07:00
Roland McGrath 38435a9aff ARM: Convert string/ assembly to unified syntax. 2013-03-11 16:44:31 -07:00
Roland McGrath 791de44658 ARM: Use r10 instead of r9. 2013-03-11 16:43:29 -07:00
Andreas Jaeger cb83063b0c AM33: Use <bits/mman.h> 2013-03-11 19:57:48 +01:00
Andreas Jaeger a0f487b2af Use <bits/mman.h> on ia64 2013-03-11 19:56:44 +01:00
Roland McGrath 3ad6c54707 Clean up ARM preconfigure. 2013-03-11 09:26:43 -07:00
Andreas Schwab fb6b0fcbf1 Remove extra pthread_atfork compat symbols 2013-03-11 09:47:01 +01:00
Mike Frysinger 3c2ef5414f ia64: makecontext: fix signed warnings
The ia64_rse_is_rnat_slot func expects an unsigned pointer, but we're
passing in a signed pointer.  The signness doesn't matter here, so
convert it to unsigned.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-10 22:18:28 -04:00
Mike Frysinger 8233957f54 ia64: fix NEED_DL_SYSINFO_DSO conditionals
The recent change to clean up these defines missed the ia64 logic.
Update it accordingly.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-03-10 08:11:55 -04:00
Richard Henderson f5ad94e02a arm: Implement armv6 optimized string routines
The strcpy and strchr (and related) functions are four times faster
than the byte-by-byte default versions.

The strlen function is twice as fast for long strings and 50% faster
for short strings over the armv4 version.
2013-03-07 09:10:33 -08:00
Andreas Jaeger 642e52808d AARCH64: Use <bits/mman-linux.h>
* sysdeps/unix/sysv/linux/aarch64/bits/mman.h: Remove all
	defines provided by bits/mman-linux.h and include <bits/mman-linux.h>.
2013-03-07 15:28:54 +01:00
Andreas Jaeger 664a9ce4ca Use <bits/mman-linux.h> for MIPS
* sysdeps/unix/sysv/linux/bits/mman-linux.h (MAP_ANONYMOUS):
	Allow definition via __MAP_ANONYMOUS.

	* sysdeps/unix/sysv/linux/mips/bits/mman.h: Remove all defines
	provided by bits/mman-linux.h and include <bits/mman-linux.h>.
	(__MAP_ANONYMOUS): Define.
2013-03-06 17:36:37 +01:00
Richard Henderson a6f2f43538 arm: Add optimized add_n and sub_n
Written from scratch rather than copied from GMP, due to LGPL 2.1 vs
GPL 3, but tested with the GMP testsuite.

This is 250% faster than the generic code as measured on Cortex-A15,
and the same speed as GMP on the same core, and probably everywhere.
2013-03-06 07:47:26 -08:00
Richard Henderson fe62ba37a3 arm: Add optimized submul_1
Written from scratch rather than copied from GMP, due to LGPL 2.1 vs
GPL 3, but tested with the GMP testsuite.

This is 50% faster than the generic code as measured on Cortex-A15.
It is 25% slower than the current GMP routine on the same core.
2013-03-06 07:47:25 -08:00
Richard Henderson 21e31515a6 arm: Add optimized addmul_1
Written from scratch rather than copied from GMP, due to LGPL 2.1 vs
GPL 3, but tested with the GMP testsuite.

This is 25% faster than the generic code as measured on Cortex-A15,
and the same speed as GMP on the same core.  It's probably slower
than GMP on the A8 and A9 cores though.
2013-03-06 07:47:25 -08:00
Richard Henderson 5695fc848f arm: Add optimized ffs for armv6t2 2013-03-06 07:47:24 -08:00
Richard Henderson 79fd873111 arm: Implement hard-tp for GET_TLS 2013-03-06 07:47:21 -08:00
Richard Henderson 3377126b0a arm: Tidy architecture selection 2013-03-06 07:46:47 -08:00
Richard Henderson d137b6dc52 arm: Unless arm4t, pop return address directly into pc 2013-03-06 07:46:47 -08:00
Richard Henderson 46dede0c00 arm: Commonize BX conditionals
Add BLX macro in addition and use it where appropriate.
2013-03-06 07:46:46 -08:00
Richard Henderson 92cc8e332b arm: Delete LOADREGS macro
There was only one user.  It's "condition" argument was used
for "ia" rather than an actual condition.  The apcs26 syntax
is almost certainly not needed, given current binutils requirements.
2013-03-06 07:46:46 -08:00
Richard Henderson 55668624cf arm: Use push/pop mnemonics
For arm this makes no difference--the result is bit-for-bit identical;
for thumb this results in smaller encodings.  Perhaps it ought not and
this is in fact an assembler bug, but I also think it's clearer.
2013-03-06 07:46:45 -08:00
Richard Henderson 5ff5dfe748 arm: Enable thumb2 mode in assembly files
The preceeding patches have allowed for the few incompatibilities
between arm and thumb2 mode, or have marked the file as not wanting
to use thumb2 mode.
2013-03-06 07:46:44 -08:00
Richard Henderson 5232b909bf arm: Introduce and use GET_TLS
Factor out the sequence needed to call kuser_get_tls, as we can't
play subtract into pc games in thumb mode.  Prepare for hard-tp,
pulling the save of LR into the macro.
2013-03-06 07:46:38 -08:00