aboutsummaryrefslogtreecommitdiff
path: root/ports/sysdeps/arm
AgeCommit message (Collapse)Author
2014-02-08Move arm from ports to libc.Joseph Myers
I've moved the ARM port from ports to the main sysdeps hierarchy. Beyond the README update, the move of the files was simply git mv ports/sysdeps/arm sysdeps/arm git mv ports/sysdeps/unix/arm sysdeps/unix/arm git mv ports/sysdeps/unix/sysv/linux/arm sysdeps/unix/sysv/linux/arm and in addition to the ChangeLog entries here, I put a note at the top of ports/ChangeLog.arm similar to that at the top of ChangeLog.powerpc. There is deliberately no NEWS change, as I think it makes the most sense to put in a general note above all ports having moved if we can achieve that for 2.20. Tested that disassembly of installed shared libraries for arm is the same before and after this patch, except for data (not instructions) in ld.so (there are assertions in sysdeps/arm/dl-machine.h, and the path by which that file is found, and so by which it appears in the assertion message, changes as a result of the move). * sysdeps/arm: Move directory from ports/sysdeps/arm. * sysdeps/unix/arm: Move directory from ports/sysdeps/unix/arm. * sysdeps/unix/sysv/linux/arm: Move directory from ports/sysdeps/unix/sysv/linux/arm. * README: Update listing for arm-*-linux-gnueabi. ports/ChangeLog.arm: * sysdeps/arm: Move directory to ../sysdeps/arm. * sysdeps/unix/arm: Move directory to ../sysdeps.arm. * sysdeps/unix/sysv/linux/arm: Move directory to ../sysdeps/unix/sysv/linux/arm.
2014-01-14ARM: Don't apply pointer encryption to the frame pointerWill Newton
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 McGrath
2014-01-01Regenerate ARM ulps.Joseph Myers
2014-01-01Update copyright notices with scripts/update-copyrightsAllan McRae
2013-11-28Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers
2013-11-22ARM: Fix memcpy computed-jump calculations for ARM_ALWAYS_BX case.Roland McGrath
2013-10-30rename configure.in to configure.acMike Frysinger
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 Newton
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 Newton
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 Newton
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 Newton
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 Schwab
2013-09-19Improve atomic locking for ARM.Maxim Kuvyrkov
[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 Newton
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 McGrath
2013-08-30Make armv6t2 strlen work in ARM mode too.Roland McGrath
2013-08-30sysdeps/arm/armv6t2/strlen.S: strlen implementation for armv6t2.Will Newton
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'Donell
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 Myers
2013-07-02Regenerate ARM ulps.Joseph Myers
2013-07-02Make soft-float ARM use soft-fp fma/fmaf.Joseph Myers
2013-07-02ARM: Pass dl_hwcap to IFUNC resolver functions.Will Newton
2013-06-18sysdeps/arm/arm-mcount.S: Comment typo fix.Roland McGrath
2013-06-18ARM: Make armv7 memcpy implementations SFI-friendlyRoland McGrath
2013-06-18ARM: Clean up __libc_ifunc_impl_listRoland McGrath
2013-06-18Fix warnings from ARM soft-float fpu_control.h.Joseph Myers
2013-06-18Wrap test-fpucw.c for ARM.Joseph Myers
2013-06-17Make ARM feenableexcept detect failure (bug 14907).Joseph Myers
2013-06-14Update ARM _FPU_RESERVED value.Joseph Myers
2013-06-11Add exception information to math-tests.h and use it in libm-test.inc.Joseph Myers
2013-06-10Add rounding mode information to math-tests.h and use it in libm-test.inc.Joseph Myers
2013-06-05BZ #15583: r7 uninitialized in strcpy.S when ARM_HAS_T2 undefinedRichard Henderson
2013-06-05Remove trailing whitespace in ports.Joseph Myers
2013-05-31Link extra-libs consistently with libc and ld.so.Joseph Myers
2013-05-29Avoid crashing in LD_DEBUG when program name is unavailableSiddhesh Poyarekar
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 Myers
2013-05-19Handle sincos with generic libm-test logic.Joseph Myers
2013-05-14Stop ARM setjmp/longjmp saving/restoring fpscr (bug 14908).Joseph Myers
2013-05-13ARM: Make multiarch memcpy always use NEON when compiler doesRoland McGrath
2013-05-08ARM: Add Cortex-A15 optimized NEON and VFP memcpy routines, with IFUNC.Will Newton
2013-05-07ARM: Rewrite elf_machine_dynamic in pure C.Roland McGrath
2013-05-06ARM: Add missing sfi_breg prefix in _dl_tlsdesc_dynamic code.Roland McGrath
2013-04-19ARM: Macroize assembly use of EABI unwind directives.Roland McGrath
2013-03-26ARM: fix preconfigure.Mans Rullgard
2013-03-20Use LIBC_CONFIG_VAR for ARM default-abi setting.Joseph Myers
2013-03-18ARM: Make dl-tlsdesc.S use sfi_breg, respect ARM_ALWAYS_BX and ↵Roland McGrath
ARM_NO_INDEX_REGISTER.
2013-03-15ARM: sfi_sp assembler macroRoland McGrath
2013-03-15ARM: sfi_breg assembler macroRoland McGrath
2013-03-13ARM_BX_ALIGN_LOG2Roland McGrath