about summary refs log tree commit diff
path: root/sysdeps
Commit message (Collapse)AuthorAgeFilesLines
* mmap64: fix undef warningsMike Frysinger2015-08-051-3/+3
| | | | | The only target that defines this is m68k, so move the existing fallback define up to avoid warnings on other systems.
* tilepro: fix warnings in sysdeps/tile/tilepro/bits/atomic.hChris Metcalf2015-08-041-8/+12
| | | | | Using a ({ }) structure avoids the "value computed is not used" that a simple () structure causes.
* Properly terminate FDE in makecontext for ix86 (bug 18635)Andreas Schwab2015-08-042-7/+4
|
* Prevent runtime fail of SSE vector math tests on non SSE4.1 machine.Andrew Senkevich2015-07-301-2/+0
| | | | | | | | [BZ #18740] * sysdeps/x86_64/fpu/Makefile (double-vlen2-arch-ext-cflags, float-vlen4-arch-ext-cflags): Removed. * math/Makefile (CFLAGS-test-double-vlen2-wrappers.c, CFLAGS-test-float-vlen4-wrappers.c): Likewise.
* hppa: fix pthreadtypes.h namespace failuresMike Frysinger2015-07-301-3/+3
| | | | | The conform tests flag the "aligned" symbol used inside the attributes, so rename it to __aligned__ like other headers.
* hppa: Remove custom lowlevellock.h.Torvald Riegel2015-07-301-334/+0
| | | | | This untested patch removes the custom lowlevellock.h on hppa. It seems to contain an implementation equivalent to the generic lowlevellock.h.
* hppa: sigaction.h: change sa_flags to an intMike Frysinger2015-07-291-1/+6
| | | | | This fixes the conform test for the sigaction.h header and makes it match all the other arches.
* hppa: fix sysdep.h header setupMike Frysinger2015-07-293-5/+9
| | | | | | | | | | | | | | | | The semi-recent SYSCALL_CANCEL inclusion broke hppa due to the sysdep.h headers not including the unix/sysdep.h headers. Rework the includes so we match the other ports: * hppa/sysdep.h: - Do not include sys/syscall.h as the unix sysdep.h headers do it. - Do not include config.h as libc-symbols.h does it, and it has no #ifdef multiple-include protection, and it breaks when some files do things like #undef __OPTIMIZE__. * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: - Drop the generic/sysdep.h as the unix sysdep.h headers include it. * sysdeps/unix/sysv/linux/hppa/sysdep.h: - Change to the unix & core hppa sysdep header stacks. - Undef a few defines that the core headers already set up for us.
* hppa: rewrite INLINE_SYSCALLMike Frysinger2015-07-291-22/+7
| | | | | | | | | | | | | | | | | | | The semi-recent SYSCALL_CANCEL macro imposes a slight nuance on the implementation of INLINE_SYSCALL: the nr argument cannot be expanded directly but must be passed on to another macro which may expand it. Most arches don't notice because INLINE_SYSCALL is defined in terms of INTERNAL_SYSCALL which has the additional layer of expansion, but on hppa, it was attempting to expand it directly. That causes build errors like so: ../sysdeps/unix/sysv/linux/sigsuspend.c: In function '__sigsuspend': ../sysdeps/unix/sysv/linux/sigsuspend.c:31:62: error: implicit declaration of function 'LOAD_ARGS___SYSCALL_NARGS' ../sysdeps/unix/sysv/linux/sigsuspend.c:31:304: error: called object 'LOAD_ARGS___SYSCALL_NARGS(set, 8)' is not a function So rewrite hppa's INLINE_SYSCALL to use INTERNAL_SYSCALL like other arches do. This is also a nice clean up as the two macros had quite a bit of duplicated logic.
* Extend local PLT reference checkH.J. Lu2015-07-292-3/+24
| | | | | | | | | | | | | | On x86, linker in binutils 2.26 and newer consolidates R_*_JUMP_SLOT with R_*_GLOB_DAT relocation against the same symbol. This patch extends local PLT reference check to support alternate relocations. [BZ #18078] * scripts/check-localplt.awk: Support alternate relocations. * scripts/localplt.awk: Also check relocations in DT_RELA/DT_REL sections. * sysdeps/unix/sysv/linux/i386/localplt.data: Mark free and malloc entries with + REL R_386_GLOB_DAT. * sysdeps/x86_64/localplt.data: New file.
* Added runtime check for AVX vector math tests.Andrew Senkevich2015-07-293-1/+27
| | | | | | | [BZ #18731] * sysdeps/x86_64/fpu/math-tests-arch.h: Added AVX runtime check. * sysdeps/x86_64/fpu/test-double-vlen4.c: Likewise. * sysdeps/x86_64/fpu/test-float-vlen8.c: Likewise.
* ia64: drop __tls_get_addr from expected ld.so plt usageMike Frysinger2015-07-281-4/+3
| | | | | | This file was updated with an educated guess as to the symbols needed, but on ia64, we don't have __tls_get_addr calls, so drop it from the list.
* ia64: atomic.h: fix atomic_exchange_and_add 64bit handlingMike Frysinger2015-07-281-3/+1
| | | | | | | | | | | | | | Way back in 2005 the atomic_exchange_and_add function was cleaned up to avoid the explicit size checking and instead let gcc handle things itself. Unfortunately that change ended up leaving beyond a cast to int, even when the incoming value was a long. This has flown under the radar for a long time due to the function not being heavily used in the tree (especially as a full 64bit field), but a recent change to semaphores made some nptl tests fail reliably. This is due to the code packing two 32bit values into one 64bit variable (where the high 32bits contained the number of waiters), and then the whole variable being atomically updated between threads. On ia64, that meant we never atomically updated the count, so sometimes the sem_post would not wake up the waiters.
* ia64: clean up old kernel headers cruftMike Frysinger2015-07-281-4/+0
| | | | | | This define made more sense in the pre-sanitized kernel headers days, but since we require kernel versions that are sanitized, we don't need this hack anymore.
* Fixes extern protected data handling testcases elf/tst-protected1aChung-Lin Tang2015-07-262-1/+4
| | | | and elf/tst-protected1b for Nios II.
* Update Nios II ulps file.Chung-Lin Tang2015-07-251-41/+98
|
* Fix order of arguments to rt_sigprocmask syscall when setting the signal maskChung-Lin Tang2015-07-242-6/+6
| | | | in setcontext/swapcontext.
* NaCl: Remove bogus O_SHLOCK, O_EXLOCK definitions.Roland McGrath2015-07-241-4/+0
|
* Update powerpc-fpu libm-test-ulps.Adhemerval Zanella2015-07-241-56/+152
|
* Fixed several libmvec bugs found during testing on KNL hardware.Andrew Senkevich2015-07-2415-223/+201
| | | | | | | | | | | | | | | | | | | | | | AVX512 IFUNC implementations, implementations of wrappers to AVX2 versions and KNL expf implementation fixed. * sysdeps/x86_64/fpu/multiarch/svml_d_cos8_core.S: Fixed AVX512 IFUNC. * sysdeps/x86_64/fpu/multiarch/svml_d_exp8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_log8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_pow8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sin8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_d_sincos8_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_cosf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_logf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_powf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_sincosf16_core.S: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_sinf16_core.S: Likewise. * sysdeps/x86_64/fpu/svml_d_wrapper_impl.h: Fixed wrappers to AVX2. * sysdeps/x86_64/fpu/svml_s_wrapper_impl.h: Likewise. * sysdeps/x86_64/fpu/multiarch/svml_s_expf16_core_avx512.S: Fixed KNL implementation.
* [ARM][BZ #17711] Fix extern protected data handlingSzabolcs Nagy2015-07-242-3/+9
| | | | | | | | | Fixes elf/tst-protected1a and elf/tst-protected1b tests. Depends on a gcc patch that makes protected visibility data non-local: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01871.html and on a binutils patch so R_*_GLOB_DAT relocs are used for it: https://sourceware.org/ml/binutils/2015-07/msg00247.html
* [AArch64][BZ #17711] Fix extern protected data handlingSzabolcs Nagy2015-07-242-1/+4
| | | | | | | | | Fixes elf/tst-protected1a and elf/tst-protected1b tests. Depends on a gcc patch that makes protected visibility data non-local: https://gcc.gnu.org/ml/gcc-patches/2015-07/msg01871.html and on a binutils patch so R_*_GLOB_DAT relocs are used for it: https://sourceware.org/ml/binutils/2015-07/msg00246.html
* Make sysdeps/posix bring in login subdir.Roland McGrath2015-07-234-24/+40
|
* NaCl: Fix missing getdtablesize symbol.Roland McGrath2015-07-232-0/+2
|
* ia64: sigaction.h: fix sa_flags orderingMike Frysinger2015-07-231-1/+1
| | | | | | | Since ia64 is little endian, sa_flags has to come before the padding when splitting it from 64bits to 32bits. Reported-by: Joseph Myers <joseph@codesourcery.com>
* ia64: msg.h: fix msg_qnum/msg_qbytes typesMike Frysinger2015-07-211-4/+9
| | | | | These two fields have dedicated types, so change the ia64 header to match all the other arches. This fixes the conform test for msg.h.
* ia64: stat.h: rename pad0 to __glibc_reserved0Mike Frysinger2015-07-211-2/+2
| | | | | This fixes the conform test for the stat.h header and makes it match all the other arches.
* ia64: sifaction.h: change sa_flags to an intMike Frysinger2015-07-211-1/+2
| | | | | This fixes the conform test for the sigaction.h header and makes it match all the other arches.
* ia64: siginfo.h: delete siginfo nameMike Frysinger2015-07-211-1/+1
| | | | | This fixes the conform test for the siginfo.h header and makes it match all the other arches.
* NaCl: Use only nacl_irt_dev_filename, never nacl_irt_filename.Roland McGrath2015-07-213-4/+2
|
* Add abilist files and NEWS item for arm-nacl port.Roland McGrath2015-07-2110-0/+2521
|
* tile: Fix BZ #18508 (makecontext yield infinite backtrace)Chris Metcalf2015-07-212-4/+6
| | | | | | | | | | | | | | | It turns out tile suffered from the same problem as S390. However, disabling CFI information for the __startcontext on tile was not sufficient to fix the problem; I think the backtracer will just blindly try to follow the link register (lr) in that case. Instead, the change adds a cfi_undefined directive for "lr" and then arranges to call __startcontext directly when the new context starts, rather than just synthesizing a return to it. In addition to being a bit easier now to understand the control flow, this also allows the cfi_undefined directive to be placed in a way that causes it to be in force at the address that the "lr" from the called function points to.
* sparc: fix sigaction for 32bit builds [BZ #18694]Mike Frysinger2015-07-201-0/+4
| | | | | | | | | | | Commit a059d359d86130b5fa74e04a978c8523a0293f77 changed the sigaction struct to pass conform tests, but it ended up also changing the ABI for 32 bit builds. For 64 bit builds, changing the long to two ints works, but for 32 bit builds, it inserts 4 extra bytes. This leads to many packages randomly failing like bash that spews things like: configure: line 471: wait_for: No record of process 0 Bracket the new member by a wordsize check to fix the ABI for 32bit.
* m68k: update libm test ULPsAndreas Schwab2015-07-211-133/+311
|
* Add si_addr_bnd to _sigfault in x86 struct siginfoH.J. Lu2015-07-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | X86 struct siginfo in kernel 3.19 has been changed by commit ee1b58d36aa1b5a79eaba11f5c3633c88231da83 Author: Qiaowei Ren <qiaowei.ren@intel.com> Date: Fri Nov 14 07:18:19 2014 -0800 mpx: Extend siginfo structure to include bound violation information This patch adds new fields about bound violation into siginfo structure. si_lower and si_upper are respectively lower bound and upper bound when bound violation is caused. This patch updates x86 struct siginfo to enable GDB with MPX support. [BZ #18696] * sysdeps/unix/sysv/linux/x86/bits/siginfo.h (_sigfault): Add si_addr_bnd. (si_lower): New. (si_upper): Likewise.
* Regenerate SPARC ULPs.David S. Miller2015-07-161-239/+389
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Regenerated.
* powerpc: strstr optimizationRajalakshmi Srinivasaraghavan2015-07-166-1/+626
| | | | | | | | | | | | | | | | This patch optimizes strstr function for power >= 7 systems. Performance gain is obtained using aligned memory access and usage of cmpb instruction for quicker comparison. The average improvement of this optimization is ~40%. Tested on ppc64 and ppc64le. 2015-07-16 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> * sysdeps/powerpc/powerpc64/multiarch/Makefile: Add strstr(). * sysdeps/powerpc/powerpc64/multiarch/ifunc-impl-list.c: Likewise. * sysdeps/powerpc/powerpc64/power7/strstr.S: New File. * sysdeps/powerpc/powerpc64/multiarch/strstr-power7.S: New File. * sysdeps/powerpc/powerpc64/multiarch/strstr-ppc64.c: New File. * sysdeps/powerpc/powerpc64/multiarch/strstr.c: New File.
* hppa/ia64: _dl_unmap: make it hiddenMike Frysinger2015-07-164-4/+4
| | | | | | | This symbol is only used by DL_UNMAP which in turn is only used by _dl_close_worker in dl-close.c, and _dl_close_worker itself is marked hidden as it is only used by the ldso. That means _dl_unmap should be marked hidden. Without this, the elf/check-localplt test fails.
* hppa/ia64: _dl_symbol_address: add PLT bypass for rtldMike Frysinger2015-07-162-0/+2
| | | | | | | | | | This symbol is defined in the ldso, and is used both there and libc.so. There is no hidden symbol for it though which leads to relocations in the ldso and the elf/check-localplt test failing. Add a hidden def for rtld to fix all of that. This function/file is only used by hppa & ia64, so no testing is needed for other arches.
* Fix sparc build.David S. Miller2015-07-155-2/+13
| | | | | | | | | | * sysdeps/sparc/nptl/pthread_barrier_init.c: Include futex-intenal.h * sysdeps/sparc/sparc32/sparcv9/Makefile (nscd): Add cpu_relax. * sysdeps/sparc/sparc64/Makefile: Likewise. * sysdeps/sparc/sparc32/sparcv9/bits/atomic.h (atomic_spin_nop): Remove space from macro define. * sysdeps/sparc/sparc64/bits/atomic.h (atomic_spin_nop): Likewise.
* Modify several tests to use test-skeleton.cArjun Shankar2015-07-151-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These tests were skipped by the use-test-skeleton conversion done in commit 29955b5d because they were reused in other tests via the #include directive, and so deemed worth an inspection before they were modified. This has now been done. ChangeLog: 2015-07-09 Arjun Shankar <arjun.is@lostca.se> * elf/tst-leaks1.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c. * localedata/tst-langinfo.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c. * math/test-fpucw.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c. * math/test-tgmath.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c. * math/test-tgmath2.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c. * setjmp/tst-setjmp.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c. * stdio-common/tst-sscanf.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c. * sysdeps/x86_64/tst-audit6.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c.
* i686: Mark stdlib/tst-makecontext as XFAIL.Stefan Liebler2015-07-151-0/+6
| | | | | | | | | | | The testcase stdlib/tst-makecontext fails on i686 because _Unwind_Backtrace from libgcc produces a segmentation fault if it was called within a context created by makecontext. See Bug 18635. ChangeLog: * sysdeps/i386/i686/Makefile (test-xfail-tst-makecontext): New variable.
* S390: Regenerate ULPsStefan Liebler2015-07-151-28/+28
| | | | | | | | I've regenerated the ulps for s390 from scratch. ChangeLog: * sysdeps/s390/fpu/libm-test-ulps: Regenerated.
* Factor file identity rules out of generic rtld code.Roland McGrath2015-07-143-0/+104
|
* Add AArch64 versions of math_opt_barrier and math_force_eval that avoid ↵Wilco Dijkstra2015-07-131-0/+5
| | | | going via memory.
* Optimize the strlen implementation by using a page cross check and a fast checkWilco Dijkstra2015-07-131-65/+165
| | | | | | for nul bytes which reverts to separate loop when a non-ASCII char is encountered. Speedup on test-strlen is ~10%, long ASCII strings are processed ~60% faster, and on random tests it is ~80% better.
* NaCl: Make pthread_condattr_setclock reject CLOCK_MONOTONIC.Roland McGrath2015-07-101-0/+42
|
* tile: Regenerate ULPs.Chris Metcalf2015-07-101-89/+94
| | | | Regenerated from scratch on tilegx.
* Add and use new glibc-internal futex API.Torvald Riegel2015-07-1015-174/+751
| | | | | | | | | | | | | | | | | | | | This adds new functions for futex operations, starting with wait, abstimed_wait, reltimed_wait, wake. They add documentation and error checking according to the current draft of the Linux kernel futex manpage. Waiting with absolute or relative timeouts is split into separate functions. This allows for removing a few cases of code duplication in pthreads code, which uses absolute timeouts; also, it allows us to put platform-specific code to go from an absolute to a relative timeout into the platform-specific futex abstractions.. Futex operations that can be canceled are also split out into separate functions suffixed by "_cancelable". There are separate versions for both Linux and NaCl; while they currently differ only slightly, my expectation is that the separate versions of lowlevellock-futex.h will eventually be merged into futex-internal.h when we get to move the lll_ functions over to the new futex API.
* PLT avoidance for _exit in rtld.Roland McGrath2015-07-094-0/+4
|