about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Remove ports README and update machine ChangeLogs.Carlos O'Donell2014-04-295-49/+28
| | | | | | | This patch removes the ports/README now that ports is no longer being used. It also adds a header to all ChangeLogs for all machines that were moved to the main libc tree. The header indicates that the ChangeLog is no longer used.
* 2014-04-29 Steve Ellcey <sellcey@mips.com>Steve Ellcey2014-04-292-0/+8
| | | | * iconf/skeleton.c (ONE_DIRECTION): Set default value if not set.
* Mention BZ16823 in NEWSStefan Liebler2014-04-291-1/+1
|
* [BZ #16823] Fix log1pl returning wrong infinity signStefan Liebler2014-04-294-3/+11
|
* FixAdhemerval Zanella2014-04-292-2/+2
|
* PowerPC: Suppress unnecessary FPSCR writeAdhemerval Zanella2014-04-298-16/+60
| | | | | | | This patch optimizes the FPSCR update on exception and rounding change functions by just updating its value if new value if different from current one. It also optimizes fedisableexcept and feenableexcept by removing an unecessary FPSCR read.
* Relocate hppa from ports to libc.Carlos O'Donell2014-04-29152-61/+41
|
* hppa: Update lowlevellock.h.Carlos O'Donell2014-04-292-22/+39
| | | | | Cleanup and remove old lll_private_futex_wake macro and add generic support for PI-aware futexes.
* hppa: Use lll_futex_wake.Carlos O'Donell2014-04-292-1/+4
| | | | | The lll_private_futex_wake function no longer exists. Instead use lll_futex_make with LLL_PRIVATE as the last argument.
* hppa: Use r25 as second input to __longjmp.Carlos O'Donell2014-04-292-12/+18
| | | | | | The generated assembly is simplified if we use r25, the expected second argument to the function given the calling convention.
* Fix types of stream hook functions in manual.Ondřej Bílka2014-04-283-6/+9
|
* Fix recvmmsg comment.Ondřej Bílka2014-04-283-3/+8
|
* [ARM] Add support for fenv_private on ARM.Wilco Dijkstra2014-04-284-1/+267
|
* Replace __int128 with __int128_t in bits/link.hH.J. Lu2014-04-252-3/+9
| | | | | | | | | | __int128 was added in GCC 4.6 and __int128_t was added before x86-64 was supported. This patch replaces __int128 with __int128_t so that the installed bits/link.h can be used with older GCC. * sysdeps/x86/bits/link.h (La_x86_64_regs): Replace __int128 with __int128_t. (La_x86_64_retval): Likewise.
* [AArch64] Suppress unnecessary FPSR and FPCR writes.Ian Bolton2014-04-248-28/+61
|
* Use test-skeleton.c in tst-sem3 and tst-sem4Siddhesh Poyarekar2014-04-233-15/+29
|
* Fix sigaction conform test failures on sparc.David S. Miller2014-04-222-1/+8
| | | | | | * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (struct sigaction): New struct member __glibc_reserved0, change type of sa_flags to int.
* [AArch64] Use GCC builtins to count leading/tailing zeros.Yufeng Zhang2014-04-222-0/+21
|
* Include atomic.h in sem_wait.c and sem_trywait.cSiddhesh Poyarekar2014-04-223-0/+7
|
* aarch64: Add setjmp and longjmp SystemTap probesVenkataramanan Kumar2014-04-223-0/+24
| | | | | | | | | | | | | | | Add setjmp, longjmp and longjmp_target SystemTap probes. ChangeLog: 2014-04-22 Will Newton <will.newton@linaro.org> Venkataramanan Kumar <venkataramanan.kumar@linaro.org> * sysdeps/aarch64/__longjmp.S: Include stap-probe.h. (__longjmp): Add longjmp and longjmp_target SystemTap probes. * sysdeps/aarch64/setjmp.S: Include stap-probe.h. (__sigsetjmp): Add setjmp SystemTap probe.
* manual: Sort overview listing by manual order.Carlos O'Donell2014-04-172-28/+82
| | | | | | | | | | | | | | | In the glibc manual we have a "Roadmap to the manual" section at the end of the "Introduction" chapter. The introductory text says "Here is an overview of the contents of the remaining chapters of this manual.", but then proceeds to list chapters out of order and some chapter are never referenced. This commit reorders the overview to correctly match the manual order. See: https://sourceware.org/ml/libc-alpha/2014-02/msg00823.html
* PowerPC: Sync pthread_once with default implementationAdhemerval Zanella2014-04-172-110/+4
| | | | | | | | This patch removes the arch specific powerpc implementation and instead uses the linux default one. Although the current powerpc implementation already constains the required memory barriers for correct initialization, the default implementation shows a better performance on newer chips.
* PowerPC: Add fenv macros for long doubleAdhemerval Zanella2014-04-172-2/+17
| | | | | This patch add the missing libc_<function>l_ctx macros for long double. Similar for float, they point to default double versions.
* Add fenv test support for AArch64.Ian Bolton2014-04-172-0/+26
|
* Detect if AVX2 is usableSihai Yao2014-04-174-0/+25
| | | | | | | | | | | | | | | This patch checks and sets bit_AVX2_Usable in __cpu_features.feature. * sysdeps/x86_64/multiarch/ifunc-defines.sym (COMMON_CPUID_INDEX_7): New. * sysdeps/x86_64/multiarch/init-arch.c (__init_cpu_features): Check and set bit_AVX2_Usable. * sysdeps/x86_64/multiarch/init-arch.h (bit_AVX2_Usable): New macro. (bit_AVX2): Likewise. (index_AVX2_Usable): Likewise. (CPUID_AVX2): Likewise. (HAS_AVX2): Likewise.
* manual/setjmp.texi: Clarify setcontext and signal handlers textWill Newton2014-04-172-8/+17
| | | | | | | | | | | | | | | | | Calling setcontext from a signal handler can be done safely so it is sufficient to note that it is not recommended. Also mention in setcontext documentation that the behaviour of setcontext when restoring a context created by a call to a signal handler is unspecified. 2014-04-17 Will Newton <will.newton@linaro.org> * manual/setjmp.texi (System V contexts): Add note that calling setcontext on a context created by a call to a signal handler is undefined. Update text to note that setcontext from a signal handler is possible but not recommended.
* stdlib/tst-setcontext.c: Check for clobbering of signal stackWill Newton2014-04-172-0/+25
| | | | | | | | | | | | | | | On aarch64 calling swapcontext clobbers the state of the signal stack (BZ #16629). Check that the address and size of the signal stack before and after the call to swapcontext remains the same. ChangeLog: 2014-04-17 Will Newton <will.newton@linaro.org> [BZ #16629] * stdlib/tst-setcontext.c: Include signal.h. (main): Check that the signal stack before and after swapcontext is the same.
* aarch64: Re-implement setcontext without rt_sigreturn syscallWill Newton2014-04-173-60/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of setcontext uses rt_sigreturn to restore the contents of registers. This contrasts with the way most other architectures implement setcontext: powerpc64, mips, tile: Call rt_sigreturn if context was created by a call to a signal handler, otherwise restore in user code. powerpc32: Call swapcontext system call and don't call sigreturn or rt_sigreturn. x86_64, sparc, hppa, sh, ia64, m68k, s390, arm: Only support restoring "synchronous" contexts, that is contexts created by getcontext, and restoring in user code and don't call sigreturn or rt_sigreturn. alpha: Call sigreturn (but not rt_sigreturn) in all cases to do the restore. The text of the setcontext manpage suggests that the requirement to be able to restore a signal handler created context has been dropped from SUSv2: If the context was obtained by a call to a signal handler, then old standard text says that "program execution continues with the program instruction following the instruction interrupted by the signal". However, this sentence was removed in SUSv2, and the present verdict is "the result is unspecified". Implementing setcontext by calling rt_sigreturn unconditionally causes problems when used with sigaltstack as in BZ #16629. On this basis it seems that aarch64 is broken and that new ports should only support restoring contexts created with getcontext and do not need to call rt_sigreturn at all. This patch re-implements the aarch64 setcontext function to restore the context in user code in a similar manner to x86_64 and other ports. ChangeLog: 2014-04-17 Will Newton <will.newton@linaro.org> [BZ #16629] * sysdeps/unix/sysv/linux/aarch64/setcontext.S (__setcontext): Re-implement to restore registers in user code and avoid rt_sigreturn system call.
* Add fenv test support for targets which don't have FP traps.Wilco2014-04-174-10/+36
|
* [AArch64] Define HAVE_RM_CTX and related hooks.Ian Bolton2014-04-172-0/+67
|
* [AArch64] Provide initial implementation of math_private.h.Ian Bolton2014-04-172-0/+219
|
* alpha: Remove alpha-linux pthread_once.cRichard Henderson2014-04-162-95/+2
|
* alpha: Enable unwind tables for backtrace.cRichard Henderson2014-04-162-0/+8
|
* alpha: Fix __pointer_chk_guard definition for the testsuiteRichard Henderson2014-04-162-1/+4
|
* alpha: Regenerate sysdeps/alpha/libm-test-ulpsRichard Henderson2014-04-162-4/+1026
|
* [AArch64] Regenerate libm-test-ulps.Marcus Shawcroft2014-04-162-87/+1019
|
* Save/restore bound registers for _dl_runtime_profileIgor Zamyatin2014-04-165-0/+77
| | | | | | | | | | | | | | | | | This patch saves and restores bound registers in x86-64 PLT for ld.so profile and LD_AUDIT: * sysdeps/x86_64/bits/link.h (La_x86_64_regs): Add lr_bnd. (La_x86_64_retval): Add lrv_bnd0 and lrv_bnd1. * sysdeps/x86_64/dl-trampoline.S (_dl_runtime_profile): Save Intel MPX bound registers before _dl_profile_fixup. * sysdeps/x86_64/dl-trampoline.h: Restore Intel MPX bound registers after _dl_profile_fixup. Save and restore bound registers bnd0/bnd1 when calling _dl_call_pltexit. * sysdeps/x86_64/link-defines.sym (BND_SIZE): New. (LR_BND_OFFSET): Likewise. (LRV_BND0_OFFSET): Likewise. (LRV_BND1_OFFSET): Likewise.
* hurd: Add i386 fields to TLS structureSamuel Thibault2014-04-162-0/+13
| | | | | | * sysdeps/mach/hurd/i386/tls.h (tcbhead_t): Add multiple_threads, sysinfo, stack_guard, pointer_guard, gscope_flag, private_futex, __private_tm, __private_ss fields.
* hurd: Move dtv, dtv_t, tcbhead_t declaration to per-arch file.Samuel Thibault2014-04-163-21/+30
|
* hurd: Do not allow unmapping address 0Samuel Thibault2014-04-162-0/+11
| | | | * sysdeps/mach/munmap.c (__munmap): Return EINVAL if `addr' is 0.
* S/390: Regenerate ULPsStefan Liebler2014-04-162-0/+1020
|
* [BZ #14770] S/390: Require Binutils >= 2.24 for target S/390.Stefan Liebler2014-04-164-6/+89
|
* [BZ #16824] Fix failing y1 due to too large ulps in downward/upward rounding ↵Stefan Liebler2014-04-163-1/+8
| | | | mode.
* Update fixed bug listAlan Modra2014-04-162-4/+5
|
* Correct IBM long double frexpl.Alan Modra2014-04-163-44/+118
| | | | | | | | | | | 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.
* benchtests: Link against objects in build directorySiddhesh Poyarekar2014-04-152-23/+16
| | | | | | | | | | Using -lm and -lpthread results in the shared objects in the system being used to link against. This happened to work for libm because there haven't been any changes to the libm ABI recently that could break the existing benchmarks. This doesn't always work for the pthread benchmarks. The correct way to build against libraries in the build directory is to have the binaries explicitly depend on them so that $(+link) can pick them up.
* Support _r_debug for static binaries.Carlos O'Donell2014-04-143-1/+10
| | | | | | | | | | | | | | | | We initialize _r_debug for static binaries to allows debug agents to treat static binaries a little more like dyanmic ones. This simplifies the work a debug agent has to do to access TLS in a static binary via libthread_db. Tested on x86_64. See: https://sourceware.org/ml/libc-alpha/2014-04/msg00183.html [BZ #16831] * csu/libc-start.c (LIBC_START_MAIN) [!SHARED]: Call _dl_debug_initialize.
* nscd: Make SELinux checks dynamic.Carlos O'Donell2014-04-144-83/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SELinux team has indicated to me that glibc's SELinux checks in nscd are not being carried out as they would expect the API to be used today. They would like to move away from static header defines for class and permissions and instead use dynamic checks at runtime that provide an answer which is dependent on the runtime status of SELinux i.e. more dynamic. The following patch is a minimal change that moves us forward in this direction. It does the following: * Stop checking for SELinux headers that define NSCD__SHMEMHOST. Check only for the presence or absence of the library. * Don't encode the specific SELinux permission constants into a table at build time, and instead use the symbolic name for the permission as expected. * Lookup the "What do we do if we don't know this permission?" policy and use that if we find SELinux's policy is older than the glibc policy e.g. we make a request for a permission that SELinux doesn't know about. * Lastly, translate the class and permission and then make the permission check. This is done every time we lookup a permission, and this is the expected way to use the API. SELinux will optimize this for us, and we expect the network latencies to hide these extra library calls. Tested on x86, x86-64, and via Fedora Rawhide since November 2013. See: https://sourceware.org/ml/libc-alpha/2014-04/msg00179.html
* Regenerate sparc ULPs.David S. Miller2014-04-132-4/+1026
| | | | * sysdeps/sparc/fpu/libm-test-ulps: Update.
* Fix qsort argument order in collation exampleAllan McRae2014-04-123-3/+10
|