aboutsummaryrefslogtreecommitdiff
path: root/ports
AgeCommit message (Collapse)AuthorFilesLines
2013-12-25ia64: add lll_futex_timed_wait_bitsetMike Frysinger2-0/+16
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-12-24ia64: ioperm: clean up long dead codeMike Frysinger2-19/+8
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>
2013-12-24ia64: implement sotruss supportMike Frysinger2-0/+54
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>
2013-12-24ia64: link.h: adjust whitespaceMike Frysinger2-10/+14
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-12-18[AArch64] Save and restore q0-q7 on entry to dynamic linker.Marcus Shawcroft2-4/+30
[BZ #15128] Ensure all argument passing registers are saved and restored on entry to dynamic linker.
2013-12-17[AArch64] Implement FUTEX_*_REQUEUE_PIMarcus Shawcroft2-0/+40
2013-12-17[AArch64] libm-test-ulps regenerated from scratch.Marcus Shawcroft2-1926/+78
2013-12-17[AArch64] Back out sqrt() addition to libm-test-ulps.Marcus Shawcroft2-20/+4
2013-12-11[AArch64] Regenerate libm-test-ulps.Marcus Shawcroft2-13/+4296
2013-12-10m68k: use math_force_eval in nextafterlAndreas Schwab2-5/+6
2013-12-10m68k: add support for PI futexesAndreas Schwab2-0/+34
2013-12-10m68k: don't assume PI futexes before 3.10Andreas Schwab2-0/+12
2013-12-10ChangeLog fixAndreas Schwab1-1/+3
2013-12-07alpha: Convert <bits/mman.h> to <bits/mman-linux.h>Richard Henderson2-83/+24
2013-12-03Update MIPS dl-lookup.c from generic version.Joseph Myers2-3/+6
2013-11-28Fix dbl-64 e_sqrt.c for non-default rounding modes (bug 16271).Joseph Myers18-0/+48
2013-11-27MIPS: Fix RLIM64_INFINITY constant for O32 and N32 ABIsAurelien Jarno8-30/+75
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.
2013-11-27MIPS: Add wrappers to get/setrlimit64 to fix RLIM64_INFINITY constantAurelien Jarno3-0/+127
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.
2013-11-26aarch64: Enable ifunc support.Will Newton3-3/+49
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.
2013-11-26Use __glibc_reserved instead __unused.Ondřej Bílka36-111/+150
2013-11-22ARM: Fix memcpy computed-jump calculations for ARM_ALWAYS_BX case.Roland McGrath3-18/+19
2013-11-21Don't use broken DL_AUTO_FUNCTION_ADDRESS()Guy Martin6-48/+82
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.
2013-11-20linux-generic: fix alignment of struct stat/statfs for nios2Chung-Lin Tang3-6/+15
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.
2013-11-16alpha: Fix signal thunk unwind infoRichard Henderson2-4/+19
2013-10-30rename configure.in to configure.acMike Frysinger50-25/+119
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-18Move entries to correct port ChangeLog files.Joseph Myers3-11/+11
2013-10-12Fix typos.Yuri Chornoivan3-2/+7
2013-10-08Fix typo in last changeAndreas Schwab1-1/+1
2013-10-08m68k: use PIC for Scrt1.oAndreas Schwab2-0/+25
2013-10-04Move powerpc ports pieces to libc.Joseph Myers62-13286/+31
2013-10-04e500 port: getcontext / setcontext / swapcontext.Joseph Myers5-0/+161
2013-10-04ARM: Allow building __sigsetjmp as Thumb.Will Newton2-3/+5
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 Newton3-5/+10
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-04fix changelog dateAlan Modra1-1/+1
2013-10-04PowerPC floating point little-endian [1 of 15]Alan Modra2-4/+10
http://sourceware.org/ml/libc-alpha/2013-08/msg00081.html This is the first of a series of patches to ban ieee854_long_double and the ieee854_long_double macros when using IBM long double. union ieee854_long_double just isn't correct for IBM long double, especially when little-endian, and pretending it is OK has allowed a number of bugs to remain undetected in sysdeps/ieee754/ldbl-128ibm/. This changes the few places in generic code that use it. * stdio-common/printf_size.c (__printf_size): Don't use union ieee854_long_double in fpnum union. * stdio-common/printf_fphex.c (__printf_fphex): Likewise. Use signbit macro to retrieve sign from long double. * stdio-common/printf_fp.c (___printf_fp): Use signbit macro to retrieve sign from long double. * sysdeps/ieee754/ldbl-128ibm/printf_fphex.c: Adjust for fpnum change. * sysdeps/ieee754/ldbl-128/printf_fphex.c: Likewise. * sysdeps/ieee754/ldbl-96/printf_fphex.c: Likewise. * sysdeps/x86_64/fpu/printf_fphex.c: Likewise. * math/test-misc.c (main): Don't use union ieee854_long_double. ports/ * sysdeps/ia64/fpu/printf_fphex.c: Adjust for fpnum change.
2013-10-032013-09-26 Steve Ellcey <sellcey@mips.com>Steve Ellcey6-0/+6
[BZ #15632] * sysdeps/mips/mips32/fpu/e_sqrt.c: New. * sysdeps/mips/mips32/fpu/e_sqrtf.c: New. * sysdeps/mips/mips64/n32/fpu/e_sqrt.c: New. * sysdeps/mips/mips64/n32/fpu/e_sqrtf.c: New. * sysdeps/mips/mips64/n64/fpu/e_sqrt.c: New. * sysdeps/mips/mips64/n64/fpu/e_sqrtf.c: New.
2013-10-032013-09-26 Steve Ellcey <sellcey@mips.com>Steve Ellcey1-0/+10
[BZ #15632] * sysdeps/mips/mips32/fpu/e_sqrt.c: New. * sysdeps/mips/mips32/fpu/e_sqrtf.c: New. * sysdeps/mips/mips64/n32/fpu/e_sqrt.c: New. * sysdeps/mips/mips64/n32/fpu/e_sqrtf.c: New. * sysdeps/mips/mips64/n64/fpu/e_sqrt.c: New. * sysdeps/mips/mips64/n64/fpu/e_sqrtf.c: New.
2013-10-03ARM: Add pointer encryption support.Will Newton7-6/+109
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-10-01alpha: Improve conditions under which PTR_MANGLE is definedRichard Henderson2-31/+26
After 0b1f8e35640f5b3f7af11764ade3ff060211c309, we now have a __pointer_chk_guard_local for the static libc.
2013-09-30[AArch64] Fix BE access to errno.Andrew Pinski2-1/+6
2013-09-24[AArch64] Support __mcount profiling.Marcus Shawcroft2-8/+12
2013-09-24[AArch64] Adding sigcontextinfo.hMarcus Shawcroft2-0/+39
2013-09-24ports/sysdeps/arm/nptl/tls.h: Remove TLS_INIT_TP_EXPENSIVE.Will Newton2-4/+5
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-232013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey2-0/+131
* sysdeps/mips/math_private.h (libc_feholdexcept_mips): New function. (libc_feholdexcept): New macro. (libc_feholdexceptf): New macro. (libc_feholdexceptl): New macro. (libc_fesetround_mips): New function. (libc_fesetround): New macro. (libc_fesetroundf): New macro. (libc_fesetroundl): New macro. (libc_feholdexcept_setround_mips): New function. (libc_feholdexcept_setround): New macro. (libc_feholdexcept_setroundf): New macro. (libc_feholdexcept_setroundl): New macro. (libc_fesetenv_mips): New function. (libc_fesetenv): New macro. (libc_fesetenvf): New macro. (libc_fesetenvl): New macro. (libc_feupdateenv_mips): New function. (libc_feupdateenv): New macro. (libc_feupdateenvf): New macro. (libc_feupdateenvl): New macro.
2013-09-23MIPS: bits/atomic.h: Fix comment typoMaciej W. Rozycki2-1/+5
2013-09-232013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey3-3/+8
* sysdeps/mips/fpu/fegetround.c (fegetround): Use _FPU_RC_MASK. * sysdeps/mips/fpu/fesetround.c (fesetround): Use _FPU_RC_MASK.
2013-09-232013-09-19 Steve Ellcey <sellcey@mips.com>Steve Ellcey2-0/+6
* sysdeps/mips/fpu_control.h (_FPU_RC_MASK): New.
2013-09-232013-09-23 Steve Ellcey <sellcey@mips.com>Steve Ellcey2-3/+8
* sysdeps/mips/fpu_control.h (comments): Add capitalization and periods to match GNU standard.
2013-09-23BZ #15754: CVE-2013-4788Carlos O'Donell4-0/+19
The pointer guard used for pointer mangling was not initialized for static applications resulting in the security feature being disabled. The pointer guard is now correctly initialized to a random value for static applications. Existing static applications need to be recompiled to take advantage of the fix. The test tst-ptrguard1-static and tst-ptrguard1 add regression coverage to ensure the pointer guards are sufficiently random and initialized to a default value.
2013-09-20Make __ffs hiddenAndreas Schwab9-0/+22