about summary refs log tree commit diff
path: root/ports/sysdeps/unix/sysv/linux/arm
Commit message (Collapse)AuthorAgeFilesLines
* Move arm from ports to libc.Joseph Myers2014-02-08136-9083/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Move shared sysdeps files from alpha to arm.Joseph Myers2014-02-083-3/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch prepares for moving arm from ports to libc (see overall plan at <https://sourceware.org/ml/libc-alpha/2014-01/msg00373.html> and discussion of ordering starting at <https://sourceware.org/ml/libc-ports/2014-01/msg00071.html>) by reversing the #include order between arm and alpha, so that arm can move early as a test for the general pattern of moving architectures. MicroBlaze files (that used the same alpha files) were made to include the files directly from their new locations rather than indirecting. Tested that disassembly of installed shared libraries for arm is the same before and after this patch. * sysdeps/unix/sysv/linux/alpha/msgctl.c: Move to sysdeps/unix/sysv/linux/arm/msgctl.c and #include that file. * sysdeps/unix/sysv/linux/alpha/semctl.c: Move to sysdeps/unix/sysv/linux/arm/semctl.c and #include that file. * sysdeps/unix/sysv/linux/alpha/shmctl.c: Move to sysdeps/unix/sysv/linux/arm/shmctl.c and #include that file. * sysdeps/unix/sysv/linux/arm/msgctl.c: Move from sysdeps/unix/sysv/linux/alpha/msgctl.c instead of #include of that file. * sysdeps/unix/sysv/linux/arm/semctl.c: Move from sysdeps/unix/sysv/linux/alpha/semctl.c instead of #include of that file. * sysdeps/unix/sysv/linux/arm/shmctl.c: Move from sysdeps/unix/sysv/linux/alpha/shmctl.c instead of #include of that file. * sysdeps/unix/sysv/linux/microblaze/msgctl.c: Include sysdeps/unix/sysv/linux/arm/msgctl.c instead of sysdeps/unix/sysv/linux/alpha/msgctl.c. * sysdeps/unix/sysv/linux/microblaze/semctl.c: Include sysdeps/unix/sysv/linux/arm/semctl.c instead of sysdeps/unix/sysv/linux/alpha/semctl.c. * sysdeps/unix/sysv/linux/microblaze/shmctl.c: Include sysdeps/unix/sysv/linux/arm/shmctl.c instead of sysdeps/unix/sysv/linux/alpha/shmctl.c.
* ARM: Fix clone build for ARMv4Will Newton2014-01-241-7/+1
| | | | | | | | | | | | | | | ARMv4 does not have the blx instruction, so use the BLX macro which handles abstracting this for us. Build tested for armv7, armv4t and armv4. ports/ChangeLog.arm: 2014-01-24 Will Newton <will.newton@linaro.org> [BZ #16499] * sysdeps/unix/sysv/linux/arm/clone.S: Use BLX macro instead of blx instruction directly.
* ARM: Don't apply pointer encryption to the frame pointerWill Newton2014-01-141-2/+6
| | | | | | | | | | | | | | | | | | | | | 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.
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-0163-63/+63
|
* Use __glibc_reserved instead __unused.Ondřej Bílka2013-11-261-9/+9
|
* rename configure.in to configure.acMike Frysinger2013-10-304-4/+4
| | | | | | | 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>
* ARM: Allow building __longjmp as Thumb.Will Newton2013-10-041-2/+0
| | | | | | | | | | | | | 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.
* ARM: Add pointer encryption support.Will Newton2013-10-031-3/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* ARM: Fix clone code when built for Thumb.Will Newton2013-08-301-2/+2
| | | | | | | | | | | | | The mov lr, pc instruction will lose the Thumb bit from the return address so use blx lr instead. ports/ChangeLog.arm: 2013-08-30 Will Newton <will.newton@linaro.org> [BZ #15909] * sysdeps/unix/sysv/linux/arm/clone.S (__clone): Use blx instead of mov lr, pc.
* Use ELFOSABI_GNU instead of ELFOSABI_LINUX.Thomas Schwinge2013-08-291-3/+3
|
* Add GLRO(dl_hwcap2) for new AT_HWCAP2 auxv_t a_type.Ryan S. Arnold2013-06-281-1/+5
|
* New API to set default thread attributesSiddhesh Poyarekar2013-06-151-0/+4
| | | | | | | 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.
* Remove trailing whitespace in ports.Joseph Myers2013-06-053-3/+3
|
* Add #include <stdint.h> for uint[32|64]_t usage (except installed headers).Ryan S. Arnold2013-05-161-0/+2
|
* New <math.h> macro named issignaling to check for a signaling NaN (sNaN).Thomas Schwinge2013-04-021-0/+4
| | | | It is based on draft TS 18661 and currently enabled as a GNU extension.
* Use LIBC_CONFIG_VAR for ARM default-abi setting.Joseph Myers2013-03-201-3/+0
|
* Add comments about ARM configure -fno-unwind-tables handling.Joseph Myers2013-03-112-0/+2
|
* Remove extra pthread_atfork compat symbolsAndreas Schwab2013-03-111-1/+0
|
* arm: Implement hard-tp for GET_TLSRichard Henderson2013-03-062-8/+13
|
* arm: Use push/pop mnemonicsRichard Henderson2013-03-0610-49/+48
| | | | | | 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.
* arm: Introduce and use GET_TLSRichard Henderson2013-03-066-22/+40
| | | | | | 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.
* arm: Introduce and use NEGOFF series of macrosRichard Henderson2013-03-064-14/+19
| | | | | | | | | There are several places in which we access negative offsets from the thread-pointer, but thumb2 only supports positive offsets in memory references. Avoid duplicating the rather large macros in which these references are embedded by abstracting out the operation.
* arm: Introduce and use LDST_PCRELRichard Henderson2013-03-062-14/+6
| | | | | Macro-ising the few instances where we need to distinguish between arm and thumb pc-relative memory operations.
* Use <bits/mman-linux.h> on ARMAndreas Jaeger2013-03-061-74/+2
|
* arm: Mark assembly files that will not use thumb modeRichard Henderson2013-02-282-0/+4
| | | | | | | | | Some routines are written with complex LDM/STM insns that cannot be used in thumb mode, or are highly conditional requiring excessive IT insns. When a future patch goes in to enable thumb2 by default, this marker will be used to override that default.
* arm: Add IT insns for thumb modeRichard Henderson2013-02-286-2/+12
| | | | | These are ignored by the assembler in ARM mode, so by default this has no effect on generated code.
* arm: Introduce and use PC_OFSRichard Henderson2013-02-286-14/+12
| | | | | Scour the source for raw "-8" adjustments that are related to the offset created by reading the pc.
* arm: Tidy whitespace in sysdep.h filesRichard Henderson2013-02-282-249/+245
|
* arm: Include libc-do-syscall in sysdep-rtld-routinesRichard Henderson2013-02-281-1/+1
| | | | When compiling with -mthumb, ld.so itself also needs __libc_do_syscall.
* ARM: Macroize use of .cfi_sections directive.Roland McGrath2013-02-271-1/+1
|
* Add FUTEX_*_REQUEUE_PI support for ARM.Joseph Myers2013-02-181-0/+28
|
* C++11 thread_local destructors supportSiddhesh Poyarekar2013-02-181-0/+3
| | | | | | | | | | | This feature is specifically for the C++ compiler to offload calling thread_local object destructors on thread program exit, to glibc. This is to overcome the possible complication of destructors of thread_local objects getting called after the DSO in which they're defined is unloaded by the dynamic linker. The DSO is marked as 'unloadable' if it has a constructed thread_local object and marked as 'unloadable' again when all the constructed thread_local objects defined in it are destroyed.
* Remove __ptrvalue, __bounded and __unbounded.Joseph Myers2013-02-131-2/+2
|
* Remove CHECK_N and bp-checks.h.Joseph Myers2013-02-084-12/+8
|
* ARM: Support loading unmarked objects from cache.Carlos O'Donell2013-02-082-2/+13
| | | | | | | | | | | | ARM now supports loading unmarked objects from the dynamic loader cache. Unmarked objects can be used with the hard-float or soft-float ABI. We must support loading unmarked objects during the transition period from a binutils that does not mark objects to one that does mark them with the correct ELF flags. Signed-off-by: Carlos O'Donell <carlos@redhat.com>
* Remove CHECK_STRING, CHECK_STRING_NULL_OK and __ubp_memchr.Joseph Myers2013-02-041-2/+1
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-0263-70/+63
|
* arm: Check for the FLAG_ARM_LIBHF flag in the ldconfig cacheMarcus Shawcroft2012-12-041-0/+29
| | | | Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
* arm: Tag ARM libc6-dependent binaries with FLAG_ELF_LIBC6Marcus Shawcroft2012-12-041-0/+25
| | | | Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
* arm: Tag ARM and AArch64 binaries in the ldconfig cache.Marcus Shawcroft2012-12-041-0/+73
| | | | | | | Add the correct tags for ARM and AArch64 libraries in the ldconfig cache for ARM. Signed-off-by: Steve McIntyre <steve.mcintyre@linaro.org>
* Avoid $(shell) in determining default ARM ABI.Joseph Myers2012-11-211-16/+7
|
* Fix thumb2 build breakage in libcryptMarcus Shawcroft2012-11-141-0/+4
|
* Define lll_futex_timed_wait_bitset for ARM.Joseph Myers2012-11-051-1/+13
|
* BZ#14743: Move clock_* symbols from librt to libc.Roland McGrath2012-10-241-0/+5
|
* Always define __O_LARGEFILEAndreas Jaeger2012-10-221-4/+1
|
* ARM: Use <bits/fcntl-linux.h>Andreas Jaeger2012-10-221-271/+7
| | | | | | * sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Remove all definitions and declarations that are provided by <bits/fcntl-linux.h> and include <bits/fcntl-linux.h>.
* Fix clone flag name in comment to CLONE_CHILD_CLEARTID.Siddhesh Poyarekar2012-10-021-1/+1
|
* Remove __ASSUME_STAT64_SYSCALL.Joseph Myers2012-08-271-4/+0
|
* Check floating-point ABI in ARM VALID_ELF_HEADER.Steve McIntyre2012-08-231-3/+15
|