about summary refs log tree commit diff
path: root/ports/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* [AArch64] Fix type in abi-lp64_be-options.Marcus Shawcroft2014-01-201-1/+1
|
* [AArch64] BZ #16169 Add CFI directives to clone.STom Tromey2014-01-201-1/+6
| | | | | | [BZ #16169] Add CFI directives to the AArch64 clone.S implementation and ensure that the FP in the child is zero'd in order to comply with AAPCS.
* [AArch64] Define BE loader name.Marcus Shawcroft2014-01-205-0/+217
|
* ARM: Don't apply pointer encryption to the frame pointerWill Newton2014-01-144-11/+10
| | | | | | | | | | | | | | | | | | | | | 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.
* ARM: Disable compat mcount code when unneeded.Roland McGrath2014-01-102-5/+65
|
* Use separate libc.abilist for MIPS o32 soft float.Joseph Myers2014-01-072-0/+2259
| | | | | | | | | | | | | | | | | | | | Examining MIPS test results showed an ABI test failure that I must have missed in 2.18 testing: hard-float and soft-float o32 no longer have the same set of symbols (because of the __mips_fpu_getcw and __mips_fpu_setcw functions, present for hard-float only, used by fpu_control.h for hard-float MIPS16) and so need separate ABI test baselines (they always were ABI-incompatible - the function-calling interface is different - but previously had the same set of symbols and versions so didn't need separate baselines). Tested for hard-float and soft-float o32. * sysdeps/unix/sysv/linux/mips/mips32/nptl/libc.abilist: Move to .... * sysdeps/unix/sysv/linux/mips/mips32/fpu/nptl/libc.abilist: ... here. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/nptl/libc.abilist: New file.
* [AArch64] Fix FP_ROUNDMODE.Marcus Shawcroft2014-01-072-1/+4
| | | | [BZ #16387] Fix FP_ROUNDMODE to extract the correct bits from FPCR.
* [AArch64] Remove sqrt from libm-test-ulpsMarcus Shawcroft2014-01-071-438/+0
|
* [AArch64] Fix CFA adjustment on dynamic linker entry.Marcus Shawcroft2014-01-071-1/+1
|
* ia64: regen libm-test-ulps from scratchMike Frysinger2014-01-061-736/+26
| | | | | | | Truncate the file first so as to delete old entries and to lower ULPs for tests that have improved. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: drop large results from libm-test-ulps [BZ #16401]Mike Frysinger2014-01-061-24/+0
| | | | | | We don't want to record these test results as a good thing. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: regenerate libm-test-ulpsMike Frysinger2014-01-061-28/+8428
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: add __ prefix to pt_all_user_regs/ia64_fpreg [BZ #762]Mike Frysinger2014-01-063-5/+5
| | | | | | | | | | | | This addresses a long standing collision between userspace headers and kernel headers only on ia64 systems. All other types have a __ prefix in the ptrace headers except these two. Let's finally namespace these. Verified that at least strace still builds after this change, as well as after deleting all the struct hacks it has specifically for ia64. URL: https://sourceware.org/bugzilla/show_bug.cgi?id=762 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ptrace.h: add __ prefix to ptrace_peeksiginfo_argsMike Frysinger2014-01-063-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | All the other ptrace structures in this file have a __ prefix except this new one. This in turn causes build problems for most packages that try to use ptrace such as strace: gcc -DHAVE_CONFIG_H -I. -I../.. -I../../linux/x86_64 -I../../linux \ -I./linux -Wall -Wwrite-strings -g -O2 -MT process.o -MD -MP \ -MF .deps/process.Tpo -c -o process.o ../../process.c In file included from ../../process.c:63:0: /usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args' struct ptrace_peeksiginfo_args { ^ In file included from ../../defs.h:159:0, from ../../process.c:37: /usr/include/sys/ptrace.h:191:8: note: originally defined here struct ptrace_peeksiginfo_args ^ Since this struct was introduced in glibc-2.18, there shouldn't be any real regressions with adding the __ prefix. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: fix build failure after async tls updatesMike Frysinger2014-01-041-4/+4
| | | | | | | | | | The recent commit 7f507ee17aee720fa423fa38502bc3caa0dd03d7 added a new local variable "offset" to tls_get_addr_tail. This conflicts with the ia64 code which also declares an offset code inline in this func. So have the ia64 code rename its local vars with a prefix that shouldn't collide with anything else in the future. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* [AArch64] Regenerate libm-test-ulps.Marcus Shawcroft2014-01-011-498/+7244
|
* [AArch64] Define ABORT_INSTRUCTION.Marcus Shawcroft2014-01-011-0/+1
|
* [AArch64] Pointer mangling support for AArch64.Venkataramanan Kumar2014-01-016-17/+90
|
* Regenerate ARM ulps.Joseph Myers2014-01-011-629/+3691
|
* Regenerate MIPS ulps.Joseph Myers2014-01-012-1692/+11644
|
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-011464-1464/+1464
|
* ia64: longjmp_chk: support signal stacks [BZ #16372]Mike Frysinger2013-12-304-12/+71
| | | | | | | | The sp check has to be moved up to the start of the func since it now makes a system call and that'll clobber a lot of registers. URL: https://sourceware.org/bugzilla/show_bug.cgi?id=16372 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: setjmp/longjmp: stop saving/restoring fpsr [BZ #16379]Mike Frysinger2013-12-303-10/+10
| | | | | | | | | The new tst-setjmp-fp test has been failing on IA64 because the setjmp and longjmp helpers take care of saving/restoring the fpsr register. Per the C standards, this is incorrect, so disable that logic. URL: https://sourceware.org/bugzilla/show_bug.cgi?id=16379 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: setjmp: use HIDDEN_JUMPTARGETMike Frysinger2013-12-301-3/+4
| | | | | | Rather than opencode the __GI_xxx logic, use proper hidden helpers. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: syscall: add some helpful documentationMike Frysinger2013-12-291-0/+4
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: implement futex requeue pi supportMike Frysinger2013-12-251-0/+25
| | | | | | Used the s390 code as a guideline until all tests pass. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: add lll_futex_timed_wait_bitsetMike Frysinger2013-12-251-0/+11
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: ioperm: clean up long dead codeMike Frysinger2013-12-241-19/+4
| | | | | | | | | | | This file has a few #if 0 code paths which cause a build time warning: ports/sysdeps/unix/sysv/linux/ia64/ioperm.c:66:7: warning: variable 'prot' set but not used [-Wunused-but-set-variable] Rather than add more #if 0 around that variable, just delete the code altogether. Not like it's going to ever be implemented. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: implement sotruss supportMike Frysinger2013-12-241-0/+50
| | | | | | | | | | | | | Tested with: $ cat test.c main(){close(0x1024, 2, 3);} $ gcc test.c $ sotruss -e ./a.out a.out -> libc.so.6.1 : __libc_start_main(0x4000000000000950, 0x1, 0x60000fffffb56bc8) a.out -> libc.so.6.1 : close(0x1024, 0x2, 0x3) a.out -> libc.so.6.1 : close - 0xffffffffffffffff Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* ia64: link.h: adjust whitespaceMike Frysinger2013-12-241-10/+10
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* [AArch64] Save and restore q0-q7 on entry to dynamic linker.Marcus Shawcroft2013-12-181-4/+24
| | | | | [BZ #15128] Ensure all argument passing registers are saved and restored on entry to dynamic linker.
* [AArch64] Implement FUTEX_*_REQUEUE_PIMarcus Shawcroft2013-12-171-0/+31
|
* [AArch64] libm-test-ulps regenerated from scratch.Marcus Shawcroft2013-12-171-1926/+74
|
* [AArch64] Back out sqrt() addition to libm-test-ulps.Marcus Shawcroft2013-12-171-20/+0
|
* [AArch64] Regenerate libm-test-ulps.Marcus Shawcroft2013-12-111-13/+4292
|
* m68k: use math_force_eval in nextafterlAndreas Schwab2013-12-101-5/+3
|
* m68k: add support for PI futexesAndreas Schwab2013-12-101-0/+29
|
* m68k: don't assume PI futexes before 3.10Andreas Schwab2013-12-101-0/+6
|
* alpha: Convert <bits/mman.h> to <bits/mman-linux.h>Richard Henderson2013-12-071-83/+19
|
* Update MIPS dl-lookup.c from generic version.Joseph Myers2013-12-031-3/+2
|
* Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers2013-11-289-0/+9
|
* MIPS: Fix RLIM64_INFINITY constant for O32 and N32 ABIsAurelien Jarno2013-11-277-30/+60
| | | | | | | Fix the RLIM64_INFINITY constant for O32 and N32 ABIs to match the kernel one. Change the getrlimit64/setrlimit64 into old compat symbols, and provide the Linux generic getrlimit64/setrlimit64 functions as GLIBC_2_19 version.
* MIPS: Add wrappers to get/setrlimit64 to fix RLIM64_INFINITY constantAurelien Jarno2013-11-272-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RLIM64_INFINITY was supposed to be a glibc convention rather than anything seen by the kernel, but it ended being passed to the kernel through the prlimit64 syscall. On O32 and N32 ABIs, we therefore end-up with different values on the userland and kernel side: * On the kernel side, the value is defined for all architectures as include/uapi/linux/resource.h: #define RLIM64_INFINITY (~0ULL) * On the GNU libc side, the value is defined in ports/sysdeps/unix/sysv/linux/mips/bits/resource.h: For the O32 and N32 ABI: # define RLIM64_INFINITY 0x7fffffffffffffffULL and for the N64 ABI: # define RLIM64_INFINITY 0xffffffffffffffffUL This was not a problem until the prlimit64 syscall was wired in the 2.6.36 kernel. Given the GLIBC uses the prlimit64 syscall to implement getrlimit64 and setrlimit64, pam_limits.so is setting the limits to a very big value instead of infinity. As a normal user process can later only decrease the value and not increase it, it will later get and EPERM error when trying to set the value to infinity with setrlimit. The GLIBC has this constant for more than 7 years, and as it is defined in a header file, it means a lot of binaries are in the wild. This patch fixes that by adding a wrapper to fix the value passed to or received from the kernel, before or after calling the prlimit64 syscall.
* aarch64: Enable ifunc support.Will Newton2013-11-262-3/+39
| | | | | | | | | | | | | | | | | Add support for handling the R_AARCH64_IRELATIVE relocation and STT_GNU_IFUNC symbols to the aarch64 port. ports/ChangeLog.aarch64: 2013-11-26 Will Newton <will.newton@linaro.org> * sysdeps/aarch64/dl-irel.h: Include ldsodefs.h. (ELF_MACHINE_IRELA): Define. (elf_ifunc_invoke): Pass hwcap to ifunc resolver function. (elf_irela): New function. * sysdeps/aarch64/dl-machine.h: Include dl-irel.h. (elf_machine_rela) Handle STT_GNU_IFUNC symbols and R_AARCH64_IRELATIVE relocations. (elf_machine_lazy_rel): Handle R_AARCH64_IRELATIVE relocations.
* Use __glibc_reserved instead __unused.Ondřej Bílka2013-11-2629-111/+111
|
* ARM: Fix memcpy computed-jump calculations for ARM_ALWAYS_BX case.Roland McGrath2013-11-222-18/+11
|
* Don't use broken DL_AUTO_FUNCTION_ADDRESS()Guy Martin2013-11-214-48/+64
| | | | | | | | | | | | On hppa and ia64, the macro DL_AUTO_FUNCTION_ADDRESS() uses the variable fptr[2] in it's own scope. The content of fptr[] is thus undefined right after the macro exits. Newer gcc's (>= 4.7) reuse the stack space of this variable triggering a segmentation fault in dl-init.c:69. To fix this we rewrite the macros to make the call directly to init and fini without needing to pass back a constructed function pointer.
* linux-generic: fix alignment of struct stat/statfs for nios2Chung-Lin Tang2013-11-202-6/+6
| | | | | | | | | The hard alignment of 8 was appropriate for most platforms for which 8-byte values are 8-byte aligned, but this is not true for the nios2 platform, so only align to the alignment of the 8-byte type on the platform. Remove the explicit alignment of struct statfs as it's redundant.
* alpha: Fix signal thunk unwind infoRichard Henderson2013-11-161-4/+14
|
* rename configure.in to configure.acMike Frysinger2013-10-3038-23/+23
| | | | | | | 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>