aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
AgeCommit message (Collapse)Author
2016-07-11Merge branch 'release/2.19/master' into ibm/2.19/masteribm/2.19/masterTulio Magno Quites Machado Filho
Conflicts: NEWS
2016-07-11Always enable pointer guard [BZ #18928]Florian Weimer
Honoring the LD_POINTER_GUARD environment variable in AT_SECURE mode has security implications. This commit enables pointer guard unconditionally, and the environment variable is now ignored. [BZ #18928] * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove _dl_pointer_guard member. * elf/rtld.c (_rtld_global_ro): Remove _dl_pointer_guard initializer. (security_init): Always set up pointer guard. (process_envvars): Do not process LD_POINTER_GUARD. (cherry picked from commit a014cecd82b71b70a6a843e250e06b541ad524f7) Conflicts: NEWS
2016-05-12CVE-2016-3706: getaddrinfo: stack overflow in hostent conversion [BZ #20010]Florian Weimer
When converting a struct hostent response to struct gaih_addrtuple, the gethosts macro (which is called from gaih_inet) used alloca, without malloc fallback for large responses. This commit changes this code to use calloc unconditionally. This commit also consolidated a second hostent-to-gaih_addrtuple conversion loop (in gaih_inet) to use the new conversion function. (cherry picked from commit 4ab2ab03d4351914ee53248dc5aef4a8c88ff8b9)
2016-05-12CVE-2016-1234: glob: Do not copy d_name field of struct dirent [BZ #19779]Florian Weimer
Instead, we store the data we need from the return value of readdir in an object of the new type struct readdir_result. This type is independent of the layout of struct dirent. (cherry picked from commit 5171f3079f2cc53e0548fc4967361f4d1ce9d7ea)
2016-04-28S390: Fix "backtrace() returns infinitely deep stack frames with ↵Stefan Liebler
makecontext()" [BZ #18508]. On s390/s390x backtrace(buffer, size) returns the series of called functions until "makecontext_ret" and additional entries (up to "size") with "makecontext_ret". GDB-backtrace is also warning: "Backtrace stopped: previous frame identical to this frame (corrupt stack?)" To reproduce this scenario you have to setup a new context with makecontext() and activate it with setcontext(). See e.g. cf() function in testcase stdlib/tst-makecontext.c. Or see bug in libgo "Bug 66303 - runtime.Caller() returns infinitely deep stack frames on s390x " (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303). This patch omits the cfi_startproc/cfi_endproc directives in ENTRY/END macro of __makecontext_ret. Thus no frame information is generated in .eh_frame and backtrace stops after __makecontext_ret. There is also no .eh_frame info for _start or thread_start functions. ChangeLog: [BZ #18508] * stdlib/Makefile ($(objpfx)tst-makecontext3): Depend on $(libdl). * stdlib/tst-makecontext.c (cf): Test if _Unwind_Backtrace is not called infinitely times. (backtrace_helper): New function. (trace_arg): New struct. (st1): Enlarge stack size. * sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S: (__makecontext_ret): Omit cfi_startproc and cfi_endproc. * sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S: Likewise. (cherry picked from commit 890b7a4b33d482b5c768ab47d70758b80227e9bc)
2016-04-28S/390: Fix setcontext/swapcontext which are not restoring sigmask. [BZ #18080]Stefan Liebler
This patch uses sigprocmask(SIG_SETMASK) instead of SIG_BLOCK in setcontext, swapcontext. (cherry picked from commit 2e807f29595eb5b1e5d0decc6e356a3562ecc58e)
2015-11-26Merge branch 'release/2.19/master' into ibm/2.19/masterTulio Magno Quites Machado Filho
Conflicts: NEWS nss/nss_files/files-XXX.c
2015-10-02Fix parsing of getai result from nscd for IPv6-only requestAndreas Schwab
(cherry picked from commit 8dc9751764eb1bedf06d19695524b31a16773413)
2015-09-10Fix use of half-initialized result in getaddrinfo when using nscd (bug 16743)Andreas Schwab
This fixes a bug in the way the results from __nscd_getai are collected: for every returned result a new entry is first added to the gaih_addrtuple list, but if that result doesn't match the request this entry remains uninitialized. So for this non-matching result an extra result with uninitialized content is returned. To reproduce (with nscd running): $ getent ahostsv4 localhost 127.0.0.1 STREAM localhost 127.0.0.1 DGRAM 127.0.0.1 RAW (null) STREAM (null) DGRAM (null) RAW (cherry picked from commit a071766ebfd853179ac39f9773f894029bf86d36) Conflicts: ChangeLog NEWS
2015-08-24PowerPC: Fix gprof entry point for LEAdhemerval Zanella
This patch fixes the ELFv2 gprof entry point since the ABI does not define function descriptors. It fixes BZ#17213. Conflicts: NEWS
2015-03-13Merge branch 'release/2.19/master' into ibm/2.19/masterTulio Magno Quites Machado Filho
2015-03-10powerpc: Fix incorrect results for pow when using FMAAdhemerval Zanella
This patch adds no FMA generation for e_pow to avoid precision issues for powerpc. This fixes BZ#18104.
2014-09-05S/390: Revert the jmp_buf/ucontext_t ABI changeStefan Liebler
Backport of commit 2f438e20ab591641760e97458d5d1569942eced5
2014-08-28PowerPC: Fix gprof entry point for LEAdhemerval Zanella
This patch fixes the ELFv2 gprof entry point since the ABI does not define function descriptors. It fixes BZ#17213. This is a backport of a53fbd8e6cd2f69bdfa3431d616a5f332aea6664.
2014-08-28PowerPC: Cleanup powerpc memmoveAdhemerval Zanella
Now that MEMCPY_OK_FOR_FWD_MEMMOVE should be define on memcopy.h there is no need to specialized powerpc memmove implementation. This patch moves the define set to powerpc memcopy and cleanup its definition on powerpc code.
2014-08-28PowerPC: Fix compiler warningsAdhemerval Zanella
This patch fixes some compiler due trailing data in #undef directives and due missing prototypes.
2014-08-28PowerPC: Add ifunc tests for memmoveAdhemerval Zanella
This patch add the missing ifunc tests definition for memmove ppc32 optimization patch (commit 07aedd7). This is a backport of 91f4b564bd7bedcd93e7047cad570ce292d6330b.
2014-08-28PowerPC: Align power7 memcpy using VSX to quadwordAdhemerval Zanella
This patch changes power7 memcpy to use VSX instructions only when memory is aligned to quardword. It is to avoid unaligned kernel traps on non-cacheable memory (for instance, memory-mapped I/O).
2014-08-28PowerPC: optimized memmove for POWER7/PPC32Adhemerval Zanella
This patch adds a optimized memmove for power7 by using the optimized power7 memcpy for forward copying.
2014-08-28PowerPC: optimized memmove for POWER7/PPC64Adhemerval Zanella
This patch adds an optimized memmove optimization for POWER7/powerpc64. Basically the idea is to use the memcpy for POWER7 on non-overlapped memory regions and a optimized backward memcpy for memory regions that overlap (similar to the idea of string/memmove.c). The backward memcpy algorithm used is similar the one use for memcpy for POWER7, with adjustments done for alignment. The difference is memory is always aligned to 16 bytes before using VSX/altivec instructions.
2014-08-28PowerPC: memmove default implementation cleanupAdhemerval Zanella
This patch removes the powerpc specific logic in memmove and instead include default implementation with MEMCPY_OK_FOR_FWD_MEMMOVE defined. This lead in a increase performance, since the constraints to use memcpy in powerpc code are too restrictive and memcpy can be used for any forward memmove. This is a backport of d6f68bbef4427850c2901728a1d13efc0e687297.
2014-08-28PowerPC: strcat optimization for PPC64/POWER7Vidya Ranganathan
This patch adds an ifunc power7 strcat symbol that uses the logic on sysdeps/powerpc/strcat.c but call power7 strlen/strcpy symbols instead of default ones. This is a backport of bc8ea38590070604006399e42469087e943fc8ec.
2014-08-28PowerPC: sync hwcap.h capabilitiesAdhemerval Zanella
Linux commit dd58a092c4202f2bd490adab7285b3ff77f8e467 added the PPC_FEATURE2_VEC_CRYPTO auvx capability to indicate whether to hardware supports vector crypto hardware instructions. This patch adds its definition to powerpc hwcap bits. This is a backport of db22400947e1c82153e5270d23fed53fc1e3a659.
2014-08-28PowerPC: Fix nearbyintl failure for few inputsRajalakshmi Srinivasaraghavan
This patch fixes few failures in nearbyintl() where the fraction part is close to 0.5.i The new tests added report few extra failures in nearbyint_downward and nearbyint_towardzero which is a known issue. Fixes #17031. This is a backport of 754c5a08aacb44895d1ab97c553ce424eb43f761.
2014-06-11PowerPC: Optimized strcmp for PPC64/POWER7Vidya Ranganathan
Optimization is achieved on 8 byte aligned strings with double word comparison using cmpb instruction. On unaligned strings loop unrolling is applied for Power7 gain. It is a backport of e23d3d2690bf63207b1a47e83a94693daebbbfe5.
2014-06-06PowerPC: Fix optimized strncat strlen callAdhemerval Zanella
This patch fixes the optimized ppc64/power7 strncat strlen call for static build without ifunc enabled. The strlen symbol to call in such situation is just strlen, instead of __GI_strlen (since the __GI_ alias is just created for shared objects). It is a backport of ed36bfa18faf9be457575568e64b8409e46caa22.
2014-06-06PowerPC: Fix --disable-multi-arch buildsAdhemerval Zanella
This patch fixes some powerpc32 and powerpc64 builds with --disable-multi-arch option along with different --with-cpu=powerN. It cleanups the Implies directories by removing the multiarch folder for non multiarch config and also fixing two assembly implementations: powerpc64/power7/strncat.S that is calling the wrong strlen; and power8/fpu/s_isnan.S that misses the hidden_def and weak_alias directives. It is a backport of de21c33c068c8e39afb5711613a7c083c11ce6a1.
2014-05-26PowerPC: Remove 64 bits instructions in PPC32 codeAdhemerval Zanella
This patch replaces the insrdi by insrwi in powerpc32 assembly. It is a backport of d298c41635ce7f2dc7c3eccc842fe3aa754c0c8e.
2014-05-22PowerPC: Fix memchr ifunc hidden symbol for PPC32Adhemerval Zanella
This patch fixes a similar issue to 736c304a1ab4cee36a2f3343f1698bc0abae4608, where for PPC32 if the symbol is defined as hidden (memchr) then compiler will create a local branc (symbol@local) and the linker will not create a required PLT call to make the ifunc work. It changes the default hidden symbol (__GI_memchr) to default memchr symbol for powerpc32 (__memchr_ppc32). Backport of 3d2badacf185fac740a2992240a817fb2ca325af.
2014-05-19PowerPC: Fix multiarch hypotf PPC64 pathAdhemerval Zanella
This patch moves the hypotf multiarch implementation to correct path.
2014-05-17Fix sparc memcpy data corruption when using niagara2 optimized routines.Jose E. Marchesi
* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Add missing membar to avoid block loads/stores to overlap previous stores.
2014-05-16SPARC: add prlimit and prlimit64 in <bits/resource.h> (BZ #16943)Aurelien Jarno
prlimit and prlimit64 have been added in the main <bits/resource.h>, but not in the SPARC specific version. Fix that. Note: this is Debian bug#703559, reported by Emilio Pozuelo Monfort <pochu@debian.org> (cherry picked from commit d16e6ec7ca2c861ba681e3a2fbd431725774292e)
2014-05-07SPARC: add EFD_SEMAPHORE in <bits/eventfd.h> (BZ #16916)Aurelien Jarno
EFD_SEMAPHORE has been added in the main <bits/eventfd.h>, but not in the SPARC specific version. Fix that. (cherry picked from commit 83df9ad0cc861ef24f08a88c5a4c055e2516d33c)
2014-05-06PowerPC: strncpy/stpncpy optimization for PPC64/POWER7Vidya Ranganathan
The optimization is achieved by following techniques: > data alignment [gain from aligned memory access on read/write] > POWER7 gains performance with loop unrolling/unwinding [gain by reduction of branch penalty]. > zero padding done by calling optimized memset
2014-05-05PowerPC: ifunc improvement for internal callsAdhemerval Zanella
This patch changes de default symbol redirection for internal call of memcpy, memset, memchr, and strlen to the IFUNC resolved ones. The performance improvement is noticeable in algorithms that uses these symbols extensible, like the regex functions. This is a backport of 19c4bec0f43599eecc2f32de96ae179cd7d64053.
2014-05-01Fix v9/64-bit strcmp when string ends in multiple zero bytes.David S. Miller
[BZ #16885] * sysdeps/sparc/sparc64/strcmp.S: Fix end comparison handling when multiple zero bytes exist at the end of a string. Reported by Aurelien Jarno <aurelien@aurel32.net> * string/test-strcmp.c (check): Add explicit test for situations where there are multiple zero bytes after the first.
2014-04-25Correct IBM long double frexpl.Alan Modra
Besides fixing the bugzilla, this also fixes corner-cases where the high and low double differ greatly in magnitude, and handles a denormal input without resorting to a fp rescale. [BZ #16740] [BZ #16619] * sysdeps/ieee754/ldbl-128ibm/s_frexpl.c (__frexpl): Rewrite. * math/libm-test.inc (frexp_test_data): Add tests. Backport of aa5f0ff11ad2cc85277c64cf65c723a9664e1149 and 9860b0450275ad2b69cb9360fd01d5c122a65fc5.
2014-04-06PowerPC: Fix nearbyint/nearbyintf result for FE_DOWNWARDAdhemerval Zanella
This patch fixes the powerpc32 optimized nearbyint/nearbyintf bogus results for FE_DOWNWARD rounding mode. This is due wrong instructions sequence used in the rounding calculation (two subtractions instead of adition and a subtraction). Fixes BZ#16815. Backport of 8bd70862e11023e7f827f240a5a214f847ae982d.
2014-04-02Correct IBM long double nextafterl.Alan Modra
Fix for values near a power of two, and some tidies. [BZ #16739] * sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (__nextafterl): Correct output when value is near a power of two. Use int64_t for lx and remove casts. Use decimal rather than hex exponent constants. Don't use long double multiplication when double will suffice. * math/libm-test.inc (nextafter_test_data): Add tests. * NEWS: Add 16739 and 16786 to bug list. Backport of b0abbc21034f0e5edc49023d8fda0616173faf17.
2014-04-02Correct prefetch hint in power7 memrchr.Alan Modra
Typo fix. * sysdeps/powerpc/powerpc64/power7/memrchr.S: Correct stream hint. Backport of af6b17973cbc07ac06cfb40eeab5cc2391fb489a.
2014-04-02Fix reference to toc symbol.Alan Modra
https://sourceware.org/ml/binutils/2014-03/msg00033.html removes the "magic" treatment of symbols defined in a .toc section. * sysdeps/powerpc/powerpc64/start.S: Add @toc to toc symbol reference. Backport of 483818d768ed99a5edf4114298a75ebedaee8d5c.
2014-04-02Fix s_copysign stack temp for PowerPC64 ELFv2Alan Modra
[BZ #16786] * sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Don't trash stack. Backport of c859b32e9d76afe8a3f20bb9528961a573c06937.
2014-03-31PowerPC: Fix little endian enconding for mfvsrdAdhemerval Zanella
This patch fixes the MFVSRD_R3_V1 macro that encodes 'mfvsrd r3,vs1' (to support old binutils) for little endian. Backport of 757d9dd5c3efa56fac75965abc014faaae7b7895.
2014-03-21PowerPC: optimized strpbrk for POWER7Adhemerval Zanella
This patch add an optimized strpbrk for POWER7 by using a different algorithm than default implementation: it constructs a table based on the 'accept' argument and use this table to check for any occurance on the input string. The idea is similar as x86_64 uses. For PowerPC some tunings were added, such as unroll loops and memory clear using VSX instructions. Backport of 6f23d0939e9651d8ac3c77a835fb6464b35a1dc4
2014-03-21PowerPC: optimized strcspn for PPC64/POWER7Adhemerval Zanella
This patch add a optimized strcspn for POWER7 by using a different algorithm than default implementation: it constructs a table based on the 'accept' argument and use this table to check for any occurance on the input string. The idea is similar as x86_64 uses. For PowerPC some tunings were added, such as unroll loops and align stack memory to table to 16 bytes (so VSX clean can ran without alignment issues). Backport of 6eaf95cbfa0031ea267682dc2c9c17ed3e3dc167
2014-03-17PowerPC: remove wrong roundl implementation for PowerPC64Adhemerval Zanella
The roundl assembly implementation (sysdeps/powerpc/powerpc64/fpu/s_roundl.S) returns wrong results for some inputs where first double is a exact integer and the precision is determined by second long double. Checking on implementation comments and history, I am very confident the assembly implementation was based on a version before commit 5c68d401698a58cf7da150d9cce769fa6679ba5f that fixes BZ#2423 (Errors in long double (ldbl-128ibm) rounding functions in glibc-2.4). By just removing the implementation and make the build select sysdeps/ieee754/ldbl-128ibm/s_roundl.c instead fixes the failing math. This fixes 16707. Backport of c7de50250367167d8c9f35594b264f6a0af8dd0c
2014-03-17PowerPC: remove wrong nearbyintl implementation for PPC64Adhemerval Zanella
The nearbyintl assembly implementation (sysdeps/powerpc/powerpc64/fpu/s_nearbyintl.S) returns wrong results for some inputs where first double is a exact integer and the precision is determined by second long double. Checking on implementation comments and history, I am very confident the assembly implementation was based on a version before commit 5c68d401698a58cf7da150d9cce769fa6679ba5f that fixes BZ#2423 (Errors in long double (ldbl-128ibm) rounding functions in glibc-2.4). By just removing the implementation and make the build select sysdeps/ieee754/ldbl-128ibm/s_nearbyintl.c instead fixes the failing math. Fixes BZ#16706. Backport of 98fb27a373f37554232e0060eef1a5bb00a07eb0
2014-03-17PowerPC: remove wrong ceill implementation for PowerPC64Adhemerval Zanella
The ceill assembly implementation (sysdeps/powerpc/powerpc64/fpu/s_ceill.S) returns wrong results for some inputs where first double is a exact integer and the precision is determined by second long double. Checking on implementation comments and history, I am very confident the assembly implementation was based on a version before commit 5c68d401698a58cf7da150d9cce769fa6679ba5f that fixes BZ#2423 (Errors in long double (ldbl-128ibm) rounding functions in glibc-2.4). By just removing the implementation and make the build select sysdeps/ieee754/ldbl-128ibm/s_ceill.c instead fixes the failing math. Fixes BZ#16701. Backport of 374f7f61214967bb4e2257695aeeeecc2a77f369
2014-03-12PowerPC: Fix bzero definition for static libc for PPC32Adhemerval Zanella
This patch fixes an issue for powerpc32-fpu static build which fails with an 'bzero' undefined reference. This patch adds bzero ifunc selector for static builds and fixes the '__bzero_ppc' reference to default memset symbol (since static memset build does not provide ifunc selector). Fixes BZ#16689. Backport of dd3946c615184e1957a0cb09352cac72be5d6d5b.
2014-03-12PowerPC: Fix strspn for static buildAdhemerval Zanella
This patch makes the strspn ifunc selector build for static builds. This is a backport of 27c7220a483bda576533aa9a0a9b42175644b1a1