aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
AgeCommit message (Collapse)AuthorFilesLines
2015-05-13Refactor scandir/scandirat to use common tail.Roland McGrath1-0/+18
2015-05-13Break __scandir_cancel_handler out into its own file.Roland McGrath1-0/+8
2015-05-13Add a test case for scandir.Roland McGrath1-0/+6
2015-05-13Remove a trailing `\' in make-syscalls.shH.J. Lu1-0/+5
[BZ #18409] * sysdeps/unix/make-syscalls.sh: Remove a trailing `\'.
2015-05-13[AArch64] Fix inline asm clobber list in tls-macros.hSzabolcs Nagy1-0/+5
2015-05-13Minor changelog fixupSiddhesh Poyarekar1-1/+1
2015-05-13Add strcoll benchmarkLeonhard Holz1-0/+29
2015-05-12Use strspn/strcspn/strpbrk ifunc in internal calls.Ondřej Bílka1-0/+5
To make a strtok faster and improve performance in general we need to do one additional change. A comment: /* It doesn't make sense to send libc-internal strcspn calls through a PLT. The speedup we get from using SSE4.2 instruction is likely eaten away by the indirect call in the PLT. */ Does not make sense at all because nobody bothered to check it. Gap between these implementations is quite big, when haystack is empty a sse2 is around 40 cycles slower because it needs to populate a lookup table and difference only increases with size. That is much bigger than plt slowdown which is few cycles. Even benchtest show a gap which also may be reverse by branch misprediction but my internal benchmark shown. simple_strspn stupid_strspn __strspn_sse42 __strspn_sse2 Length 0, alignment 0, acc len 6: 18.6562 35.2344 17.0469 61.6719 Length 6, alignment 0, acc len 6: 59.5469 72.5781 16.4219 73.625 This patch also handles strpbrk which is implemented by including a x86_64/multiarch/strcspn.S file. * sysdeps/x86_64/multiarch/strspn.S: Remove plt indirection. * sysdeps/x86_64/multiarch/strcspn.S: Likewise.
2015-05-12NaCl: Provide non-default values for uname.Roland McGrath1-0/+7
2015-05-12Fix linknamespace test handling of architecture-specific st_other.Joseph Myers1-0/+5
For mips16, some of the linknamespace tests were failing because [MIPS16] annotations in readelf output were wrongly interpreted as falling in the symbol index field, meaning symbol index values were wrongly interpreted as symbol names and such names as 1 and 2 then resulted in namespace test failures. This patch fixes this by removing the annotations for such architecture-specific st_other bits before splitting the readelf output into fields. Tested for x86_64 and mips16. * conform/linknamespace.pl (list_syms): Remove \[.*?\] before splitting into fields.
2015-05-12Improve strcoll with strdiff.Leonhard Holz1-0/+11
This patch improves strcoll hot case by finding first byte that mismatches. That is in likely case enough to determine comparison result.
2015-05-11Fix mips16 __fpu_control static linking (bug 18397).Joseph Myers1-0/+8
Programs are supposed to be able to define the __fpu_control variable, overriding the library's version to cause the floating-point control word to be set to the chosen value at startup. This is broken for mips16 for static linking because the library's __fpu_control variable is in the same object file as the helper functions used by fpu_control.h for mips16, so test-fpucw-ieee-static fails to link with multiple definitions of __fpu_control. This patch fixes this by putting the helpers in a separate file rather than overriding fpu_control.c. Tested for mips16 that this fixes the link failure and the ABI tests still pass. [BZ #18397] * sysdeps/mips/mips32/fpu/fpu_control.c: Move to .... * sysdeps/mips/mips32/fpu/fpucw-helpers.c: ... here. Include <fpu_control.h> instead of <math/fpu_control.c>. * sysdeps/mips/mips32/fpu/Makefile: New file.
2015-05-11Separate internal state between getXXent and getXXbyYY NSS calls (bug 18007)Andreas Schwab1-0/+38
2015-05-11Adjust tst-strfmon1 after da_DK locale change.Stefan Liebler1-0/+4
This patch adjusts the expected currency symbol kr to kr. after commit "Update currency_symbol in da_DK" (92566b4922934676da1643bf496dc982791d54d0) which changed it. * tst-strfmon1.c (tests): Update expected currency symbol.
2015-05-08NaCl: Implement gethostname.Roland McGrath1-0/+4
2015-05-08Add more tests of csqrt, lgamma, log10, sinh.Joseph Myers1-0/+8
This patch adds more randomly-generated tests of various libm functions that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of csqrt, lgamma, log10 and sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-08Bug 18125: Call exit after last linked context.Carlos O'Donell1-0/+13
There appears to be a discrepancy among the implementations of setcontext with regards to the function called once the last linked-to context has finished executing via setcontext. The POSIX standard says: ~~~ If the uc_link member of the ucontext_t structure pointed to by the ucp argument is equal to 0, then this context is the main context, and the thread will exit when this context returns. ~~~ It says "exit" not "exit immediately" nor "exit without running functions registered with atexit or on_exit." Therefore the AArch64, ARM, hppa and NIOS II implementations are wrong and no test detects it. It is questionable if this should even be fixed or just documented that the above 4 targets are wrong. The functions are deprecated and nobody should be using them, but at the same time it silly to have cross-target differences that make it hard to port old applications from say x86_64 to AArch64. Therefore I will ix the 4 arches, and checkin a regression test to prevent it from changing again. https://sourceware.org/ml/libc-alpha/2015-03/msg00720.html
2015-05-06BZ#18383: Add test case for large alignment in TLS blocks.Roland McGrath1-0/+10
2015-05-06NaCl: Fix elf_loader file name in nacl-test-wrapper.shRoland McGrath1-0/+5
2015-05-06Add more tests of acosh, atanh, cos, csqrt, erfc, sin, sincos.Joseph Myers1-0/+8
This patch adds more randomly-generated tests of various libm functions that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of acosh, atanh, cos, csqrt, erfc, sin and sincos. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-062015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>Wilco Dijkstra1-0/+4
* sysdeps/aarch64/libm-test-ulps: Update.
2015-05-05Add further tests of libm functions.Joseph Myers1-0/+8
This patch adds more randomly-generated tests of various libm functions that are observed to increase ulps on x86_64. (This process must eventually converge, when my random test generation stops finding inputs that increase the listed ulps, except maybe for any cases uncovered where the errors exceed the maximum allowed 9ulp error and so indicate actual libm bugs needing fixing.) Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of acosh, atanh, clog, clog10, csqrt, erfc, exp2, expm1, log10, log2 and sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-05Add __nonnull attribute to wcscpy and wcsncpy [BZ#18265]Daniel Marjamäki1-0/+6
2015-05-05__ASSUME_FALLOCATE is always true on 32-bit architecturesFlorian Weimer1-0/+13
This means we can clean up the generic code a bit. The 64-bit variant still needs to support !__ASSUME_FALLOCATE for alpha.
2015-05-05i386: Remove fallocate, fallocate64, posix_fallocate, posix_fallocate64Florian Weimer1-0/+11
With 6-argument system call support, the generic Linux implementations of these system calls work, and there is no need for i386-specific versions.
2015-05-02Add more tests of libm functions.Joseph Myers1-0/+9
This patch adds more randomly-generated tests of various libm functions that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of atan, clog, clog10, cos, csqrt, erf, erfc, exp2, lgamma, log1p, sin, sincos, tanh and tgamma. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01Add more tests of tgamma.Joseph Myers1-0/+5
This patch adds some randomly-generated tests of tgamma that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of tgamma. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01Add more tests of tanh.Joseph Myers1-0/+5
This patch adds some randomly-generated tests of tanh that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of tanh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01Add more tests of tan.Joseph Myers1-0/+5
This patch adds some randomly-generated tests of tan that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of tan. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01Add more tests of cos, sin, sincos.Joseph Myers1-0/+5
This patch adds some randomly-generated tests of cos, sin and sincos that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of cos, sin and sincos. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01Add another test of pow.Joseph Myers1-0/+4
This patch adds a randomly-generated test of pow that is observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add another test of pow. * math/auto-libm-test-out: Regenerated. * sysdeps/x86_64/fpu/libm-test-ulps: Update.
2015-05-01Add more tests of lgamma.Joseph Myers1-0/+5
This patch adds some randomly-generated tests of lgamma that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of lgamma. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01Add more tests of log, log10, log1p, log2.Joseph Myers1-0/+8
This patch adds some randomly-generated tests of log, log10, log1p and log2 that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of log, log10, log2 and log1p. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01elf.h: Add section compression constants and structures.Mark Wielaard1-0/+5
Add SHF_COMPRESSED section flag, Elf32_Chdr and Elf64_Chdr structs and ELFCOMPRESS constants to elf/elf.h.
2015-05-01Add more tests of exp, exp10, exp2, expm1.Joseph Myers1-0/+6
This patch adds some randomly-generated tests of exp, exp10, exp2 and expm1 that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of exp, exp10, exp2 and expm1. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01Add more tests of erf, erfc.Joseph Myers1-0/+7
This patch adds some randomly-generated tests of erf and erfc that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of erf and erfc. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-05-01[AArch64] Fix the big endian loader name.Szabolcs Nagy1-0/+4
2015-04-30Add more tests of csqrt.Joseph Myers1-0/+5
This patch adds some randomly-generated tests of csqrt that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of csqrt. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-04-30Add further tests of cosh and sinh.Joseph Myers1-0/+5
This patch adds some further randomly-generated tests of cosh and sinh that are observed to increase ulps on x86_64. Tested for x86_64 and x86 and ulps updated accordingly. * math/auto-libm-test-in: Add more tests of cosh and sinh. * math/auto-libm-test-out: Regenerated. * sysdeps/i386/fpu/libm-test-ulps: Update. * sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
2015-04-30Remove MIPS version of waitid.c.Joseph Myers1-0/+4
Since glibc is no longer built with -Winline, a special MIPS version of waitid.c to disable -Winline is no longer needed, and this patch removes it. Tested that glibc does indeed build with the patch applied. * sysdeps/unix/sysv/linux/mips/mips32/waitid.c: Remove file.
2015-04-29NaCl: Change clock_t to long int.Roland McGrath1-0/+3
2015-04-29NaCl: Fix symbol names for euidaccess.Roland McGrath1-0/+3
2015-04-29NaCl: Make __suseconds_t be long int rather than int32_t.Roland McGrath1-0/+7
2015-04-29CVE-2014-8121: Do not close NSS files database during iteration [BZ #18007]Florian Weimer1-0/+8
Robin Hack discovered Samba would enter an infinite loop processing certain quota-related requests. We eventually tracked this down to a glibc issue. Running a (simplified) test case under strace shows that /etc/passwd is continuously opened and closed: … open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3 lseek(3, 0, SEEK_CUR) = 0 read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2717 lseek(3, 2717, SEEK_SET) = 2717 close(3) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3 lseek(3, 0, SEEK_CUR) = 0 lseek(3, 0, SEEK_SET) = 0 read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2717 lseek(3, 2717, SEEK_SET) = 2717 close(3) = 0 open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3 lseek(3, 0, SEEK_CUR) = 0 … The lookup function implementation in nss/nss_files/files-XXX.c:DB_LOOKUP has code to prevent that. It is supposed skip closing the input file if it was already open. /* Reset file pointer to beginning or open file. */ \ status = internal_setent (keep_stream); \ \ if (status == NSS_STATUS_SUCCESS) \ { \ /* Tell getent function that we have repositioned the file pointer. */ \ last_use = getby; \ \ while ((status = internal_getent (result, buffer, buflen, errnop \ H_ERRNO_ARG EXTRA_ARGS_VALUE)) \ == NSS_STATUS_SUCCESS) \ { break_if_match } \ \ if (! keep_stream) \ internal_endent (); \ } \ keep_stream is initialized from the stayopen flag in internal_setent. internal_setent is called from the set*ent implementation as: status = internal_setent (stayopen); However, for non-host database, this flag is always 0, per the STAYOPEN magic in nss/getXXent_r.c. Thus, the fix is this: - status = internal_setent (stayopen); + status = internal_setent (1); This is not a behavioral change even for the hosts database (where the application can specify the stayopen flag) because with a call to sethostent(0), the file handle is still not closed in the implementation of gethostent.
2015-04-28Fix ldbl-128 roundl for exponents in [31, 47] (bug 18346).Joseph Myers1-0/+8
The implementation of roundl for ldbl-128 involves undefined behavior for arguments with exponents from 31 to 47 inclusive, from the shift: u_int64_t i = -1ULL >> (j0 - 48); For example, on mips64, this means roundl (0xffffffffffff.8p0L) wrongly returns its argument, which is not an integer. A condition checking for exponents < 31 should actually be checking for exponents < 48, and this patch makes it do so. (That condition is for whether the bit representing 0.5 is in the high 64-bit half of the floating-point number. The value 31 might have arisen from an incorrect conversion of the ldbl-96 version to handle ldbl-128.) This was originally reported as a GCC libquadmath bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65757>. Tested for mips64; also tested for x86_64 and x86 to make sure the new tests pass there. [BZ #18346] * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Handle all exponents less than 48 as cases where high part of mantissa needs examining to determine whether argument is integral. * math/libm-test.inc (round_test_data): Add more tests.
2015-04-28elf.h SHF_EXCLUDE signed int 31 bit shift triggers undefined behaviour.Mark Wielaard1-0/+4
Any use of SHF_EXCLUDE in code that tries to check it against sh_flags will trigger undefined behaviour because it is defined as a 31 bit shift against an signed integer. Fix by explicitly using an unsigned int.
2015-04-27Update sparc localplt.dataDavid S. Miller1-0/+6
* sysdeps/unix/sysv/linux/sparc/sparc32/localplt.data: Remove __tls_get_addr. * sysdeps/unix/sysv/linux/sparc/sparc64/localplt.data: Likewise.
2015-04-27Check tzspec_len == 0 in __tzfile_readH.J. Lu1-0/+5
[BZ#18333] * time/tzset.c (__tzfile_read): Check tzspec_len == 0.
2015-04-27test-skeleton: Support temporary files without memory leaks [BZ#18333]Florian Weimer1-0/+11
add_temp_file now makes a copy which is freed by delete_temp_files. Callers to create_temp_file can now free the returned file name to avoid the memory leak. These changes do not affect the leak behavior of existing code. Also address a NULL pointer derefence in tzset after a memoru allocation failure, found during testing.
2015-04-24posix_fallocate, posix_fallocate64 stub: Do not set errnoFlorian Weimer1-0/+5
These functions return an error code.