summaryrefslogtreecommitdiff
path: root/ports/sysdeps/arm
AgeCommit message (Collapse)AuthorFilesLines
2014-01-14ARM: Don't apply pointer encryption to the frame pointerWill Newton3-9/+4
The frame pointer register is rarely used for that purpose on ARM and applications that look at the contents of the jmp_buf may be relying on reading an unencrypted value. For example, Ruby uses the contents of jmp_buf to find the root set for garbage collection so relies on this pointer value being unencrypted. Without this patch the Ruby testsuite fails with a segmentation fault. ports/ChangeLog.arm: 2013-01-14 Will Newton <will.newton@linaro.org> * sysdeps/arm/__longjmp.S: Don't apply pointer encryption to fp register. * sysdeps/arm/setjmp.S: Likewise. * sysdeps/arm/include/bits/setjmp.h (JMP_BUF_REGLIST): Add fp to register list, remove a4. * sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE_LOAD): New macro.
2014-01-10ARM: Disable compat mcount code when unneeded.Roland McGrath2-5/+65
2014-01-01Regenerate ARM ulps.Joseph Myers1-629/+3691
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae94-94/+94
2013-11-28Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers1-0/+1
2013-11-22ARM: Fix memcpy computed-jump calculations for ARM_ALWAYS_BX case.Roland McGrath2-18/+11
2013-10-30rename configure.in to configure.acMike Frysinger6-5/+5
Autoconf has been deprecating configure.in for quite a long time. Rename all our configure.in and preconfigure.in files to .ac. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-10-04ARM: Allow building __sigsetjmp as Thumb.Will Newton1-3/+2
Convert __sigsetjmp code to allow building as Thumb. ports/ChangeLog.arm: 2013-10-04 Will Newton <will.newton@linaro.org> * sysdeps/arm/setjmp.S (NO_THUMB): Remove define. (__sigsetjmp): Use Thumb supported instructions.
2013-10-04ARM: Allow building __longjmp as Thumb.Will Newton1-3/+3
Convert __longjmp code to allow building as Thumb. ports/ChangeLog.arm: 2013-10-04 Will Newton <will.newton@linaro.org> * sysdeps/arm/__longjmp.S (NO_THUMB): Remove define. (__longjmp): Use Thumb supported instructions. * sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (NO_THUMB): Remove define.
2013-10-03ARM: Add pointer encryption support.Will Newton5-3/+55
Add support for pointer encryption in glibc internal structures in C and assembler code. Pointer encryption is a glibc security feature described here: https://sourceware.org/glibc/wiki/PointerEncryption The ARM implementation uses global variables instead of thread pointer relative accesses to get the value of the pointer encryption guard because accessing the thread pointer can be very expensive on older ARM cores. ports/ChangeLog.arm: 2013-10-03 Will Newton <will.newton@linaro.org> * sysdeps/arm/__longjmp.S (__longjmp): Demangle fp, sp and lr when restoring register values. * sysdeps/arm/include/bits/setjmp.h (JMP_BUF_REGLIST): Remove sp and lr from list and replace fp with a4. * sysdeps/arm/jmpbuf-unwind.h (_jmpbuf_sp): New function. (_JMPBUF_UNWINDS_ADJ): Call _jmpbuf_sp. * sysdeps/arm/setjmp.S (__sigsetjmp): Mangle fp, sp and lr before storing register values. * sysdeps/arm/sysdep.h (LDST_GLOBAL): New macro. * sysdeps/unix/sysv/linux/arm/sysdep.h (PTR_MANGLE): New macro. (PTR_DEMANGLE): Likewise. (PTR_MANGLE2): Likewise. (PTR_DEMANGLE2): Likewise.
2013-09-24ports/sysdeps/arm/nptl/tls.h: Remove TLS_INIT_TP_EXPENSIVE.Will Newton1-4/+0
This define was removed from the rest of the tree eight years ago. ports/ChangeLog.arm: 2013-09-24 Will Newton <will.newton@linaro.org> * ports/sysdeps/arm/nptl/tls.h (TLS_INIT_TP_EXPENSIVE): Remove macro.
2013-09-20Make __ffs hiddenAndreas Schwab1-0/+1
2013-09-19Improve atomic locking for ARM.Maxim Kuvyrkov1-8/+86
[BZ #15640] * sysdeps/arm/bits/atomic.h (atomic_exchange_acq, atomic_exchange_rel) (atomic_compare_and_exchange_bool_acq) (atomic_compare_and_exchange_val_acq) (atomic_compare_and_exchange_bool_rel) (atomic_compare_and_exchange_val_rel): Use __atomic_exchange_n and __atomic_compare_exchange_n builtins when GCC supports them.
2013-09-16ARM: Improve armv7 memcpy performance.Will Newton1-6/+5
Only enter the aligned copy loop with buffers that can be 8-byte aligned. This improves performance slightly on Cortex-A9 and Cortex-A15 cores for large copies with buffers that are 4-byte aligned but not 8-byte aligned. ports/ChangeLog.arm: 2013-09-16 Will Newton <will.newton@linaro.org> * sysdeps/arm/armv7/multiarch/memcpy_impl.S: Tighten check on entry to aligned copy loop to improve performance.
2013-08-30Use sfi_* macros in armv6t2 strlen.Roland McGrath1-9/+14
2013-08-30Make armv6t2 strlen work in ARM mode too.Roland McGrath1-2/+25
2013-08-30sysdeps/arm/armv6t2/strlen.S: strlen implementation for armv6t2.Will Newton1-0/+141
This implementation of strlen is faster than the armv6 version for all string lengths greater than 1 on a Cortex-A15. ports/ChangeLog.arm: 2013-08-09 Will Newton <will.newton@linaro.org> * sysdeps/arm/armv6t2/strlen.S: New file.
2013-08-29ARM: Pass dl_hwcap to IFUNC resolver.Carlos O'Donell1-1/+1
For REL relocs pass dl_hwcap to the IFUNC resolver as is required by the IFUNC API (bug 15905).
2013-07-03Condition sysdeps/arm/include/bits/setjmp.h contents on _ISOMAC.Joseph Myers1-2/+4
2013-07-02Regenerate ARM ulps.Joseph Myers1-103/+2804
2013-07-02Make soft-float ARM use soft-fp fma/fmaf.Joseph Myers4-0/+60
2013-07-02ARM: Pass dl_hwcap to IFUNC resolver functions.Will Newton1-1/+1
2013-06-18sysdeps/arm/arm-mcount.S: Comment typo fix.Roland McGrath1-1/+1
2013-06-18ARM: Make armv7 memcpy implementations SFI-friendlyRoland McGrath2-281/+564
2013-06-18ARM: Clean up __libc_ifunc_impl_listRoland McGrath1-10/+15
2013-06-18Fix warnings from ARM soft-float fpu_control.h.Joseph Myers1-2/+2
2013-06-18Wrap test-fpucw.c for ARM.Joseph Myers2-1/+6
2013-06-17Make ARM feenableexcept detect failure (bug 14907).Joseph Myers1-0/+12
2013-06-14Update ARM _FPU_RESERVED value.Joseph Myers1-1/+1
2013-06-11Add exception information to math-tests.h and use it in libm-test.inc.Joseph Myers1-1/+5
2013-06-10Add rounding mode information to math-tests.h and use it in libm-test.inc.Joseph Myers1-0/+28
2013-06-05BZ #15583: r7 uninitialized in strcpy.S when ARM_HAS_T2 undefinedRichard Henderson1-1/+1
2013-06-05Remove trailing whitespace in ports.Joseph Myers1-1/+1
2013-05-31Link extra-libs consistently with libc and ld.so.Joseph Myers1-9/+0
2013-05-29Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar1-4/+2
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-22Don't include expected results in libm-test test names.Joseph Myers1-466/+466
2013-05-19Handle sincos with generic libm-test logic.Joseph Myers1-7/+7
2013-05-14Stop ARM setjmp/longjmp saving/restoring fpscr (bug 14908).Joseph Myers3-13/+3
2013-05-13ARM: Make multiarch memcpy always use NEON when compiler doesRoland McGrath4-11/+31
2013-05-08ARM: Add Cortex-A15 optimized NEON and VFP memcpy routines, with IFUNC.Will Newton9-0/+854
2013-05-07ARM: Rewrite elf_machine_dynamic in pure C.Roland McGrath1-21/+4
2013-05-06ARM: Add missing sfi_breg prefix in _dl_tlsdesc_dynamic code.Roland McGrath1-0/+1
2013-04-19ARM: Macroize assembly use of EABI unwind directives.Roland McGrath2-15/+24
2013-03-26ARM: fix preconfigure.Mans Rullgard2-2/+2
2013-03-20Use LIBC_CONFIG_VAR for ARM default-abi setting.Joseph Myers2-4/+6
2013-03-18ARM: Make dl-tlsdesc.S use sfi_breg, respect ARM_ALWAYS_BX and ↵Roland McGrath2-9/+28
ARM_NO_INDEX_REGISTER.
2013-03-15ARM: sfi_sp assembler macroRoland McGrath2-1/+6
2013-03-15ARM: sfi_breg assembler macroRoland McGrath17-189/+381
2013-03-13ARM_BX_ALIGN_LOG2Roland McGrath3-12/+59
2013-03-13ARM: Handle ARM_ALWAYS_BX in {add,sub}_n.S code.Roland McGrath1-0/+6