aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-27SH: Convert fork.c to arch-fork.hRoland McGrath
2014-05-27Remove duplicate code in elf/dl-deps.c.Ondřej Bílka
2014-05-27Remove second argument from TLS_INIT_TP macroAndreas Schwab
2014-05-27ARM: Fix handling of concurrent TLS descriptor resolutionWill Newton
The current code for handling concurrent resolution says that the ABI for _dl_tlsdesc_resolve_hold is the same as that of _dl_tlsdesc_lazy_resolver. However _dl_tlsdesc_resolve_hold is called from the trampoline directly rather than the lazy resolver stub so, for example, r2 has not been pushed so does not needed to be restored. This fixes an intermittent failure in nptl/tst-tls3 when building glibc for arm-linux-gnueabihf with -mtls-dialect=gnu2. ChangeLog: 2014-05-27 Will Newton <will.newton@linaro.org> [BZ #16990] * sysdeps/arm/dl-tlsdesc.S (_dl_tlsdesc_resolve_hold): Save and restore r2 rather than just restoring.
2014-05-27Fix offset computation for append+ mode on switching from read (BZ #16724)Siddhesh Poyarekar
The offset computation in write mode uses the fact that _IO_read_end is kept in sync with the external file offset. This however is not true when O_APPEND is in effect since switching to write mode ought to send the external file offset to the end of file without making the necessary adjustment to _IO_read_end. Hence in append mode, offset computation when writing should only consider the effect of unflushed writes, i.e. from _IO_write_base to _IO_write_ptr. The wiki has a detailed document that describes the rationale for offsets returned by ftell in various conditions: https://sourceware.org/glibc/wiki/File%20offsets%20in%20a%20stdio%20stream%20and%20ftell
2014-05-26Update powerpc-fpu ULPs.Adhemerval Zanella
2014-05-26PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files.Adhemerval Zanella
2014-05-26PowerPC: Move NPTL ABI headers to sysdeps.Adhemerval Zanella
2014-05-26PowerPC: Move powerpc64 timer_*.c out of nptl/Adhemerval Zanella
2014-05-26PowerPC: Consolidate NPTL/non versions of cloneAdhemerval Zanella
2014-05-26PowerPC: Consolidate NPTL/non versions of vforkAdhemerval Zanella
2014-05-26Remove nested function mi_arena from malloc_info.Carlos O'Donell
The nested function mi_arena was removed from malloc_info and made into a non-nested static inline function of the same name with the correct set of arguments passed from malloc_info. This enables building glibc with compilers that don't support nested functions. Future work on malloc_info should remove these functions entirely to support JSON format output. Therefore we do the minimum required to remove the nested function.
2014-05-26PowerPC: Remove 64 bits instructions in PPC32 codeAdhemerval Zanella
This patch replaces the insrdi by insrwi in powerpc32 assembly.
2014-05-26Fix searching localedef input on I18NPATH (BZ #16984)Andreas Schwab
2014-05-26Disable lock elision for PTHREAD_MUTEX_NORMAL.Stefan Liebler
2014-05-26Fix typo in tst-mutex5 ifndef -> ifdefStefan Liebler
2014-05-26benchtests: Add new directive for benchmark initialization hookSiddhesh Poyarekar
Add a new 'init' directive that specifies the name of the function to call to do function-specific initialization. This is useful for benchmarks that need to do a one-time initialization before the functions are executed.
2014-05-26[AARCH64] correct alignment of TLS_TCB_ALIGN (BZ #16796)Kyle McMartin
This fixes a variety of testsuite failures for me: tststatic.out Error 1 tststatic2.out Error 1 tst-tls9-static.out Error 1 tst-audit8.out Error 127 tst-audit9.out Error 127 tst-audit1.out Error 127 and also has the added benefit of making LD_AUDIT/sotruss work on AArch64. Otherwise, we bail out early in _dl_try_allocate_static_tls as the alignment requirement of the PT_TLS section in libc is 16.
2014-05-26Use NSS_STATUS_TRYAGAIN to indicate insufficient buffer (BZ #16878)Siddhesh Poyarekar
The netgroups nss modules in the glibc tree use NSS_STATUS_UNAVAIL (with errno as ERANGE) when the supplied buffer does not have sufficient space for the result. This is wrong, because the canonical way to indicate insufficient buffer is to set the errno to ERANGE and the status to NSS_STATUS_TRYAGAIN, as is used by all other modules. This fixes nscd behaviour when the nss_ldap module returns NSS_STATUS_TRYAGAIN to indicate that a netgroup entry is too long to fit into the supplied buffer.
2014-05-25arm,aarch64: Remove SINGLE_THREAD_P_PICRichard Henderson
This macro was removed by 2005-11-16 Daniel Jacobowitz <dan@codesourcery.com> but not applied to the (still separate) eabi port so necro'd when the eabi port superceded the old abi. It was thence copied into the new AArch64 port.
2014-05-25aarch64: Tidy syscall error checkRichard Henderson
Move the error branch from the PSEUDO_RET macro to the PSEUDO macro. This is in line with other architectures, and will enable further improvments.
2014-05-25aarch64: Remove DOARGS/UNDOARGS macrosRichard Henderson
While they do something for AArch32, they're useless for AArch64.
2014-05-25aarch64: Fix DO_CALL block commentRichard Henderson
2014-05-25alpha: Do non-default symbols in pt-vfork.SRichard Henderson
2014-05-23Only provide non-default symbols in libpthread for vforkRichard Henderson
* nptl/pt-vfork.c (vfork_resolve): Rename from vfork_ifunc. (vfork, __vfork): Define via compat_symbol.
2014-05-23Only support ifunc in nptl/pt-vfork.cRichard Henderson
* nptl/pt-vfork.c: Error if !HAVE_IFUNC. [!HAVE_IFUNC] (vfork_compat): Remove. [!HAVE_IFUNC] (DEFINE_VFORK): Remove.
2014-05-23Define TSVTX in tar.h for older POSIX (bug 16978).Joseph Myers
As noted in bug 16978, older POSIX versions include in the specified contents of <tar.h>, with only the 2001 edition introducing the notion of XSI-conditional definitions and conditioning that definition. Thus, this macro should be defined for !__USE_XOPEN2K as well as for __USE_XOPEN, and this patch duly defines it in that case. Tested x86_64. [BZ #16978] * posix/tar.h [!__USE_XOPEN2K] (TSVTX): Define macro. * conform/Makefile (test-xfail-POSIX/tar.h/conform): Remove variable.
2014-05-23alpha: Move remaining files out of sysdeps/unix/sysv/linux/alpha/nptl/Richard Henderson
2014-05-23alpha: Consolidate NPTL/non versions of vforkRichard Henderson
2014-05-23alpha: Merge standard and nptl clone.SRichard Henderson
2014-05-23alpha: Remove nptl/fork.cRichard Henderson
The merge at ab21431318d99c94e644606dee1e6a4545d98007 failed to properly remove the file.
2014-05-23Fix log10 (1) in round-downward mode (bug 16977).Joseph Myers
As with various other issues of this kind, bug 16977 is log10 (1) wrongly returning -0 rather than +0 in round-downward mode because of an implementation effectively in terms of log1p (x - 1). This patch fixes the issue in the same way used for log. Tested x86_64 and x86 and ulps updated accordingly. Also tested for mips64 to confirm a fix was needed for ldbl-128 and to validate that fix (also applied to ldbl-128ibm since that version of logl is essentially the same as the ldbl-128 one). [BZ #16977] * sysdeps/i386/fpu/e_log10.S (__ieee754_log10): Take absolute value when x - 1 is zero. * sysdeps/i386/fpu/e_log10f.S (__ieee754_log10f): Likewise. * sysdeps/i386/fpu/e_log10l.S (__ieee754_log10l): Likewise. * sysdeps/ieee754/ldbl-128/e_log10l.c (__ieee754_log10l): Return 0.0L for an argument of 1.0L. * sysdeps/ieee754/ldbl-128ibm/e_log10l.c (__ieee754_log10l): Likewise. * sysdeps/x86_64/fpu/e_log10l.S (__ieee754_log10l): Take absolute value when x - 1 is zero. * math/libm-test.inc (log10_test): Use ALL_RM_TEST. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2014-05-23manual: Update prototypes for alphasort and friendsRasmus Villemoes
The four functions {alpha,version}sort{,64} take parameters of type const struct dirent{,64} **, not const void *. Signed-off-by: Rasmus Villemoes <rv@rasmusvillemoes.dk>
2014-05-22PowerPC: Remove unneeded copysign[f] macrosAdhemerval Zanella
This patch remove the unneeded copysign[f] macro from powerpc math_private.h, since they are already covered in generic version.
2014-05-22Fix date in ChangeLogSiddhesh Poyarekar
2014-05-22Fix formattingSiddhesh Poyarekar
2014-05-22Remove nested functions: crypt/md5-crypt.cKonstantin Serebryany
This patch is the first in the series of patches that remove nested functions from glibc. Rationale: nested functions is a non-standard language feature; removing nested functions will allow to compile glibc with compilers other than GCC and thus benefit from other compilers and code analysis tools.
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).
2014-05-21AArch64: Convert fork.c to arch-fork.hRoland McGrath
2014-05-21Don't mention linuxthreads in Depend files.Joseph Myers
I noticed that some of the Depend files, used to determine the subdirectory build order in sysd-sorted, still mentioned linuxthreads, although it hasn't been supported for many years. This patch removes those references. In the case of nscd, it substitutes an nptl reference, since I believe there is a fact a thread library dependence there; the others already mentioned nptl. Note that I am not at all confident in the completeness of these Depend files. Note also that references to linuxthreads remain in a comment in sysdeps/unix/sysv/linux/ia64/Versions, and in manual/maint.texi, manual/signal.texi and scripts/documented.sh. Tested x86_64 that the installed shared libraries are unchanged by the patch (as is sysd-sorted). * nscd/Depend (linuxthreads): Remove. (nptl): Add. * resolv/Depend (linuxthreads): Remove. * rt/Depend (linuxthreads): Remove.
2014-05-21Consistently use $(elf-objpfx).Joseph Myers
As previously noted <https://sourceware.org/ml/libc-alpha/2013-05/msg00696.html>, $(elf-objpfx) and $(elfobjdir) are redundant and should be consolidated. This patch consolidates on $(elf-objpfx) (for consistency with $(csu-objpfx)), also changing direct uses of $(common-objpfx)elf/ to use $(elf-objpfx). Tested x86_64, including that installed shared libraries are unchanged by the patch. * Makeconfig [$(build-hardcoded-path-in-tests) = yes] (rtld-tests-LDFLAGS): Use $(elf-objpfx) instead of $(common-objpfx)elf/. (link-libc-before-gnulib): Likewise. (elfobjdir): Remove variable. * Makefile (install): Use $(elf-objpfx) instead of $(common-objpfx)elf/. * Makerules (link-libc-args): Use $(elf-objpfx) instead of $(elfobjdir)/. (link-libc-deps): Likewise. ($(common-objpfx)libc.so): Likewise. ($(common-objpfx)linkobj/libc.so): Likewise. [$(cross-compiling) = no] (symbolic-link-prog): Use $(elf-objpfx) instead of $(common-objpfx)elf/. (symbolic-link-list): Likewise. * iconvdata/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Likewise. * sysdeps/arm/Makefile (gnulib-arch): Use $(elf-objpfx) instead of $(elfobjdir)/. (static-gnulib-arch): Likewise. * sysdeps/s390/s390-64/Makefile ($(inst_gconvdir)/gconv-modules) [$(cross-compiling) = no]: Use $(elf-objpfx) instead of $(common-objpfx)elf/. localedata/ChangeLog: * Makefile (LOCALEDEF): Use $(elf-objpfx) instead of $(common-objpfx)elf/.
2014-05-21aarch64: Merge __local_multiple_threads offset with memory referenceRichard Henderson
This also highlights that we'd been loading 64-bits instead of the proper 32-bits. Caught by the linker as a relocation error, since the variable happened to be unaligned for 64-bits.
2014-05-21aarch64: Merge rtld_errno offset with memory referenceRichard Henderson
2014-05-20Fix ARM build with GCC trunk.Joseph Myers
sysdeps/unix/sysv/linux/arm/unwind-resume.c and sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c have static variables that are written in C code but only read from toplevel asms. Current GCC trunk now optimizes away such apparently write-only static variables, so causing a build failure. This patch marks those variables with __attribute_used__ to avoid that optimization. Tested that this fixes the build for ARM. * sysdeps/unix/sysv/linux/arm/unwind-forcedunwind.c (libgcc_s_resume): Use __attribute_used__. * sysdeps/unix/sysv/linux/arm/unwind-resume.c (libgcc_s_resume): Likewise.
2014-05-20Update powerpc-fpu ULPs.Adhemerval Zanella
2014-05-20PowerPC: Fix copysignf optimization macroAdhemerval Zanella
This patch fixes the __copysignf optimized macro meant to internal libm usage when used with constant value. Without the explicit cast to float, if it is used with const double value (for instance, on s_casinhf.c) double constants will be used and it may lead to precision issues in some algorithms. It fixes the following failures on PPC64/POWER7: Failure: Test: Real part of: cacos_downward (inf + 0 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0 Failure: Test: Real part of: cacos_downward (inf - 0 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0 Failure: Test: Real part of: cacos_downward (inf + 0.5 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0 Failure: Test: Real part of: cacos_downward (inf - 0.5 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0 Failure: Test: Real part of: cacos_towardzero (inf + 0 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0 Failure: Test: Real part of: cacos_towardzero (inf - 0 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0 Failure: Test: Real part of: cacos_towardzero (inf + 0.5 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0 Failure: Test: Real part of: cacos_towardzero (inf - 0.5 i) Result: is: 1.19209289550781250000e-07 0x1.00000000000000000000p-23 should be: 0.00000000000000000000e+00 0x0.00000000000000000000p+0
2014-05-20Fix strtold on 32-bit sparc (and probably others) (BZ #16965)Aurelien Jarno
This patch fixes an issue observed running the tst-strtod-round test on 32 bit sparc. In some conditions, strtold calls round_and_return, which in turn calls __mpn_rshift with cnt = 0, while stdlib/rshift.c explicitly says that cnts should satisfy 0 < CNT < BITS_PER_MP_LIMB. In this case, the code end up doing a logical shift right of the same amount than the register, which is undefined in the C standard. Due to this bug, 32-bit sparc does not correctly convert the value "0x1p-16446", but it is likely that other architectures are also affected for other input values.
2014-05-20fix nl_langinfo with static linking (BZ #16915)Aurelien Jarno
For static linking the locale code avoids linking code and data for unused categories. However for nl_langinfo we know only at runtime which categories are used, so direct reference to every nl_current_CATEGORY symbol should be done. This was broken by commit bc3e1c127392da88d0c8bf2ae728147982a3d1bc where nl_langinfo_l and nl_langinfo have been merged and some code has been lost in the process. In order to detect locales issues with static linking, compile a version of tst-langinfo with static linking. Note: this is Debian bug#747103 reported by Raphael <raphael.astier@eliot-sa.com>
2014-05-20alpha: fix sa_flags type (BZ 16967)Richard Henderson
2014-05-20alpha: Remove bits/siginfo.h (BZ 16966)Richard Henderson
Using the default header instead. This matches the kernel, which also uses the generic header. Fixes the sys/wait.h conform issue, where si_band had the wrong type.