aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-07-20Add si_addr_bnd to _sigfault in x86 struct siginfohjl/pr18696H.J. Lu1-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.
2015-07-16Regenerate SPARC ULPs.David S. Miller2-239/+393
* sysdeps/sparc/fpu/libm-test-ulps: Regenerated.
2015-07-16libio: Fix fmemopen 'w' mode with provided bufferAdhemerval Zanella3-5/+12
If 'w' mode is used with a provided buffer the fmemopen will try to find the first null byte to set as maximum internal stream size. It should be done only for append mode ('a'). Kudos for Stefan Liebler for finding this error on s390-32. * libio/fmemopen.c (__fmemopen): Fix 'w' openmode with provided buffer. * stdio-common/tst-fmemopen2.c (do_test_with_buffer): Fix typo and fail output information.
2015-07-16powerpc: strstr optimizationRajalakshmi Srinivasaraghavan7-1/+636
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.
2015-07-16hppa/ia64: _dl_unmap: make it hiddenMike Frysinger5-4/+11
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.
2015-07-16hppa/ia64: _dl_symbol_address: add PLT bypass for rtldMike Frysinger4-0/+10
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.
2015-07-16Add comment to clarify how the test can failSiddhesh Poyarekar2-0/+5
2015-07-16Whitespace fixup in cxa_thread_atexit_impl.cSiddhesh Poyarekar2-1/+3
2015-07-16Set NODELETE flag when opening already open objects with RTLD_NODELETESiddhesh Poyarekar6-8/+106
The DF_1_NODELETE flag is set too late when opening a DSO, due to which, if a DSO is already open, subsequently opening it with RTLD_NODELETE fails to set the DF_1_NODELETE flag. This patch fixes this by setting the flag immediately after bumping the opencount. Verified on x86_64. [BZ #18676] * elf/tst-nodelete-opened.c: New test case. * elf/tst-nodelete-opened-lib.c: New test case module. * elf/Makefile (tests, modules-names): Use them. * elf/dl-open.c (dl_open_worker): Set DF_1_NODELETE flag early.
2015-07-15Fix sparc build.David S. Miller6-2/+23
* 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.
2015-07-15Sort NEWSH.J. Lu1-3/+3
2015-07-15Correcting language code for Bhili and Tulu locales (bug 17475)Pravin Satpute6-41/+53
Bhili [1] and Tulu [2] language does not have iso-639-1 codes. Patch moves locale file with correct code and also fix iso-639.def. 1. http://www-01.sil.org/iso639-3/documentation.asp?id=bhb 2. http://www-01.sil.org/iso639-3/documentation.asp?id=tcy localedata/ChangeLog: 2015-07-02 Pravin Satpute <psatpute@redhat.com> [BZ #17475] * locales/tu_IN: renamed to tcy_IN * locales/bh_IN: renamed to bhb_IN Changelog: 2015-03-05 Pravin Satpute <psatpute@redhat.com> [BZ #17475] * locale/iso-639.def: Update Bhili and Tulu language codes as per iso639-3.
2015-07-15Modify several tests to use test-skeleton.cArjun Shankar9-16/+73
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.
2015-07-15Modify elf/tst-audit9.c to use test-skeleton.cArjun Shankar2-1/+12
This test was skipped by the use-test-skeleton conversion script [29955b5d] because the definition of `main' did not begin according to the GNU formatting style that the script assumed. ChangeLog: 2015-07-09 Arjun Shankar <arjun.is@lostca.se> * elf/tst-audit9.c (main): Converted to ... (do_test): ... this. (TEST_FUNCTION): New macro. Include test-skeleton.c.
2015-07-15tst-tzset: raise timeout to 5 secondsMike Frysinger2-0/+5
This test is reliably taking 2.3 seconds on my system, and the default is 2 seconds, so it always times out. Bump it up to 5 seconds instead.
2015-07-15i686: Mark stdlib/tst-makecontext as XFAIL.Stefan Liebler2-0/+11
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.
2015-07-15S390: Regenerate ULPsStefan Liebler2-28/+32
I've regenerated the ulps for s390 from scratch. ChangeLog: * sysdeps/s390/fpu/libm-test-ulps: Regenerated.
2015-07-14Factor file identity rules out of generic rtld code.Roland McGrath6-12/+125
2015-07-14Fix up typo in tst-tls-atexitSiddhesh Poyarekar2-1/+5
2015-07-14Avoid C++ tests when the C++ cannot be linkedAdhemerval Zanella3-5/+15
* elf/Makefile [ifeq (yes,$(build-shared)) (tests)] (tst-nodelete): Add iff $CXX is set. [ifeq (yes,$(build-shared)) (modules-names)] (tst-nodelete-rtldmod): Likewise. (tst-nodelete-zmodiff): Likewise. * nptl/Makefile [[ifeq (,$(CXX))] (tests-unsupported)]: Add tst-once5.
2015-07-14Fix up ChangeLogSiddhesh Poyarekar1-1/+1
2015-07-14Whitespace fix in tst-tls-atexit.cSiddhesh Poyarekar2-1/+5
2015-07-13Add AArch64 versions of math_opt_barrier and math_force_eval that avoid ↵Wilco Dijkstra2-0/+11
going via memory.
2015-07-13Optimize the strlen implementation by using a page cross check and a fast checkWilco Dijkstra2-65/+169
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.
2015-07-11Replace %ld with %jd and cast to intmax_tH.J. Lu2-4/+14
On x32, GCC 5.1 complains: tst-fmemopen2.c: In function ‘do_test_without_buffer’: tst-fmemopen2.c:124:15: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘off_t {aka long long int}’ [-Werror=format=] printf ("FAIL: first ftello returned %ld, expected %zu\n", o, nstr); ^ tst-fmemopen2.c:135:15: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘off_t {aka long long int}’ [-Werror=format=] printf ("FAIL: second ftello returned %ld, expected %zu\n", o, nbuf); ^ tst-fmemopen2.c:148:15: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘off_t {aka long long int}’ [-Werror=format=] printf ("FAIL: third ftello returned %ld, expected %zu\n", o, nstr2); ^ tst-fmemopen2.c: In function ‘do_test_length_zero’: tst-fmemopen2.c:183:15: error: format ‘%ld’ expects argument of type ‘long int’, but argument 2 has type ‘off_t {aka long long int}’ [-Werror=format=] printf ("FAIL: first ftello returned %ld, expected 0\n", o); ^ This patch silences GCC. * stdio-common/tst-fmemopen2.c (do_test_without_buffer): Replace %ld with %jd and cast to intmax_t. (do_test_length_zero): Likewise.
2015-07-10NaCl: Make pthread_condattr_setclock reject CLOCK_MONOTONIC.Roland McGrath2-0/+46
2015-07-10tile: Regenerate ULPs.Chris Metcalf2-89/+96
Regenerated from scratch on tilegx.
2015-07-10math/test-fenvinline: avoid compiler warningChris Metcalf2-2/+7
On tile (and any other machine with no FP exceptions) the feenable_test() function will generate a "function defined but not used" warning because all of the callers are commented out. We already were ifdef'ing out the body of the function, so instead just ifdef out the entire function if FE_ALL_EXCEPT == 0.
2015-07-10Remove unnecessary mutex locks from tst-tls-atexit test caseSiddhesh Poyarekar2-3/+3
The locks don't synchronize with anything - they were likely introduced initially to synchronize with some main thread code, but that is no longer evident.
2015-07-10Avoid boolean coercion in tst-tls-atexit test caseSiddhesh Poyarekar2-2/+6
2015-07-10Clean up semaphore EINTR handling after Linux futex docs clarification.Torvald Riegel2-30/+12
The Linux kernel futex documentation now states that since Linux 2.6.22, FUTEX_WAIT does return EINTR only when interrupted by a signal, and not spuriously anymore. We only support more recent kernels, so clean up EINTR handling in the semaphore and update the comments.
2015-07-10Add and use new glibc-internal futex API.Torvald Riegel40-492/+963
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.
2015-07-09The patch committed to fix bug #18435 caused regressions on aarch64Martin Sebor4-6/+28
and also powerpc64 and powerpc64le. See the discussion in the thread below for details. This change reverts the problematic bits leaving the added test in place and marking XFAIL in anticipation of fixing the bug in the near future. https://sourceware.org/ml/libc-alpha/2015-07/msg00141.html [BZ #18435] * nptl/pthreadP.h (pthread_cleanup_push, pthread_cleanup_pop): Revert commit ed225df3ad9cbac3c22ec3f0fbbed1f9c61d1c54. * nptl/Makefile (test-xfail-tst-once5): Define.
2015-07-09Provide __libc_fatal for rtld.Roland McGrath3-17/+29
2015-07-09PLT avoidance for _exit in rtld.Roland McGrath7-0/+15
2015-07-09Improve bndmov encoding with zero displacementH.J. Lu2-0/+13
If x86-64 assembler doesn't support MPX, we encode bndmov instruction by hand. When displacement is zero, assembler generates shorter encoding. This patch improves bndmov encoding with zero displacement so that ld.so is identical when using assemblers with and without MPX support. * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_resolve): Improve bndmov encoding with zero displacement.
2015-07-09Preserve bound registers for pointer pass/returnIgor Zamyatin9-27/+119
We need to save/restore bound registers and add a BND prefix before branches in _dl_runtime_profile so that bound registers for pointer pass and return are preserved when LD_AUDIT is used. [BZ #18134] * sysdeps/i386/configure.ac: Set HAVE_MPX_SUPPORT. * sysdeps/i386/configure: Regenerated. * sysdeps/i386/dl-trampoline.S (PRESERVE_BND_REGS_PREFIX): New. (_dl_runtime_profile): Save and restore Intel MPX return bound registers when calling _dl_call_pltexit. Add PRESERVE_BND_REGS_PREFIX before return. * sysdeps/i386/link-defines.sym (LRV_BND0_OFFSET): New. (LRV_BND1_OFFSET): Likewise. * sysdeps/x86/bits/link.h (La_i86_retval): Add lrv_bnd0 and lrv_bnd1. * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Fix typo in bndmov encoding. * sysdeps/x86_64/dl-trampoline.h: Properly save and restore Intel MPX bound registers. Add PRESERVE_BND_REGS_PREFIX before branch instructions to preserve bounds.
2015-07-09libio: Update powerpc64le libc.abilistAdhemerval Zanella2-0/+8
This patch adds the missing fmemopen entry for powerpc64le libc abilist check file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
2015-07-09hurd: permit to use mlock from non-root processSamuel Thibault3-11/+21
* sysdeps/mach/hurd/mlock.c (mlock): When __get_privileged_ports returns an error, also try to use host port from __mach_host_self for the __vm_wire call. * sysdeps/mach/hurd/munlock.c (munlock): Likewise.
2015-07-09[AArch64][BZ 18648] change greg_t definition in ucontext.hSzabolcs Nagy3-8/+12
This is an ABI breaking change, but typedef int greg_t; is not a useful definition on aarch64. greg_t is usually used for defining gregset_t which is used in mcontext_t. The general registers in mcontext_t can only be accessed by target specific code and on aarch64 greg_t is not needed for that so this change is not supposed to break existing code, just fix the definition. [BZ #18648] * sysdeps/unix/sysv/linux/aarch64/sys/ucontext.h (greg_t): Change the definition to elf_greg_t. (Added another BZ entry that was missed in the previous commit).
2015-07-09[AArch64][BZ 18400] fix elf_prpsinfo in procfs.hSzabolcs Nagy2-2/+7
Kernel uses int pr_uid, pr_gid, but glibc used unsigned short. This is an ABI breaking change, but the size and alignment of the struct and the layout of other members is not changed and there is no known usage of pr_uid and pr_gid so it is expected to be safe. [BZ #18400] * sysdeps/unix/sysv/linux/aarch64/sys/procfs.h (struct elf_prpsinfo): Fix pr_uid and pr_gid members.
2015-07-08BZ#18383: Conditionalize test-xfail-tst-tlsalign{,-static} on ARM assembler bug.Roland McGrath5-11/+103
2015-07-08Fix some places to use $(LN_S) makefile variable.Roland McGrath3-3/+7
2015-07-08Install a dummy <rpc/netdb.h> when not building sunrpc/.Roland McGrath3-0/+15
2015-07-08libio: Update tst-fmemopen2.cAdhemerval Zanella2-17/+208
This patch updates tst-fmemopen2 to check for fmemopen with NULL buffer inputs and also refactor the code a bit. The test relies on a POSIX compliant fmemopen implementation. * stdio-common/tst-fmemopen2.c (do_test): Add test for NULL and zero length buffers. * stdio-common/tst-fmemopen.c (do_test): Refactor to use test-skeleton.c.
2015-07-08libio: fmemopen rewrite to POSIX complianceAdhemerval Zanella37-114/+703
This patch added a new fmemopen version, for glibc 2.22, that aims to be POSIX complaint. It fixes some long-stading glibc fmemopen issues, such as: * it changes the way fseek with SEEK_END works on fmemopen to seek relative to buffer size instead of first '\0'. This is default mode and 'b' opening mode does not change internal behavior (bz#6544). * fix apending opening mode to use as start position either first null byte of len specified in function call (bz#13152 and #13151). * remove binary option 'b' and internal different handling (bz#12836) * fix seek/SEE_END with negative values (bz#14292). A compatibility symbol is provided to with old behavior for older symbols version (2.2.5). * include/stdio.h (fmemopen): Remove hidden prototype. (__fmemopen): Add new hidden prototype. * libio/Makefile: Add oldfmemopen object. * libio/Versions [GLIBC_2.22]: Add new fmemopen symbol. * libio/fmemopen.c (__fmemopen): Function rewrite to be POSIX compliance. * libio/oldfmemopen.c: New file: old fmemopen implementation for symbol compatibility. * stdio-common/Makefile [tests]: Add new tst-fmemopen3. * stdio-common/psiginfo.c [psiginfo]: Call __fmemopen instead of fmemopen. * stdio-common/tst-fmemopen3.c: New file: more fmemopen tests, focus on append and read mode. * sysdeps/unix/sysv/linux/aarch64/libc.abilist [GLIBC_2.22]: Add fmemopen. * sysdeps/unix/sysv/linux/alpha/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/arm/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/i386/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/ia64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/microblaze/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/sh/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/hppa/libc.abilist [GLIBC_2.22]: Likewise. * sysdeps/unix/sysv/linux/nios2/libc.abilist [GLIBC_2.22]: Likewise.
2015-07-08Add missing Advanced API (RFC3542) (1) defines.Carlos O'Donell3-2/+13
Fixes bug 18643. Defines IPV6_RECVPATHMTU, IPV6_PATHMTU, and IPV6_DONTFRAG for Linux.
2015-07-08Use "|" instead of "+" when combine the _IO_LINE_BUF and _IO_UNBUFFERED flagsFeng Gao4-7/+14
Both of "_IO_UNBUFFERED" and "_IO_LINE_BUF" are the bit flags, but I find there are some codes looks like "_IO_LINE_BUF+_IO_UNBUFFERED", while some codes are "_IO_LINE_BUF|_IO_UNBUFFERED". I think the former is not good, even though the final result is same.
2015-07-08nscd: drop selinux/flask.h includeMike Frysinger2-1/+4
Building nscd w/selinux enabled yields a warning which yields an error: In file included from selinux.c:32:0: /usr/include/selinux/flask.h:5:2: error: #warning "Please remove any #include's of this header in your source code." I've done just that and it builds cleanly with libselinux-2.4.
2015-07-08pwd.h: add __nonnull markings [BZ #18641]Mike Frysinger3-8/+23
Mark all the functions that don't handle NULL pointers as __nonnull. POSIX does not require either behavior, so the prototypes should match the reality of the codebase.