| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
[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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
For REL relocs pass dl_hwcap to the IFUNC resolver
as is required by the IFUNC API (bug 15905).
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|