about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* sh: Remove custom lowlevellock, barrier, condvar, and rwlock implementations.Torvald Riegel2014-12-1920-5572/+22
|
* Compile s_llround.c with -Wno-error for x32 buildH.J. Lu2014-12-192-0/+10
| | | | | | Since x32 returns 32-bit long int and 64-bit long long int in the same 64-bit register, we make the 32b-bit lround an alias of the 64-bit llround. Add -Wno-error for x32 build to silence the compiler.
* Replace 1L with (mp_limb_t) 1H.J. Lu2014-12-192-1/+6
| | | | | | | | | | | | | | | X86-64 and x32 use sysdeps/i386/ldbl2mpn.c. res_ptr is a pointer to mp_limb_t, which is long for i386 and x86-64 and long long for x32. On x32, I got ../sysdeps/x86_64/../i386/ldbl2mpn.c: In function ‘__mpn_extract_long_double’: ../sysdeps/x86_64/../i386/ldbl2mpn.c:72:4: error: left shift count >= width of type [-Werror] res_ptr[N - 1] &= ~(1L << ((LDBL_MANT_DIG - 1) % BITS_PER_MP_LIMB)); ^ cc1: all warnings being treated as errors This patch replaces 1L with (mp_limb_t) 1. Verified on x32, i686 and x86-64 with GCC 4.8.3.
* Label CVE-2014-9402 in NEWSAllan McRae2014-12-181-2/+3
|
* NPTL: Move fork state variables to initializer files.Roland McGrath2014-12-174-8/+10
|
* NPTL: Remove gratuitous Linuxisms from gai_misc.h.Roland McGrath2014-12-172-6/+11
|
* Fix stub __if_freenameindex build error.Roland McGrath2014-12-172-0/+3
|
* Remove explicit inline on malloc perturb functions.Roland McGrath2014-12-172-2/+6
|
* Fix profil_counter namespace (bug 17725).Joseph Myers2014-12-1716-21/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On ARM, where profil_counter is not static, it is brought in by references to various standard functions, as noted in <https://sourceware.org/ml/libc-alpha/2014-11/msg00890.html>, although it is not a standard function itself. I don't know if this also causes test failures on SPARC, although I see no reason for it not to do so. This patch fixes this namespace issue. profil_counter is renamed to __profil_counter and made a weak alias on ARM and SPARC. Because of the uses in profil.c / sprofil.c it seems simplest to make the rename globally, including on the other architectures for which profil_counter was static and so the change is of no substance. The variant names profil_counter_* used in sprofil.c are also renamed to start with __ so that undesired function names do not get exported in static libc. As I noted in bug 17726, profil_counter should probably be a compat symbol on ARM and SPARC, so it wouldn't exist at all in static libc even as a weak alias. Since defining a compat symbol still requires an internal name as a target of an alias, this patch still seems reasonable as an intermediate step towards that goal: it wouldn't be possible for the function simply to be static profil_counter on ARM and SPARC with profil_counter also being the exported compat symbol name, so profil.c / sprofil.c would still need to be prepared to call the function under another name (here, __profil_counter). Tested for x86_64 (testsuite, and that stripped installed shared libraries are unchanged by the patch) and ARM (ABI and linknamespace tests - this patch reduces the number of linknamespace failures I see on ARM from 227 to 5, the residue being math.h failures for fe* functions and for j0l/j1n/jnl/y0l/y1l/ynl aliases). 2014-12-17 Joseph Myers <joseph@codesourcery.com> [BZ #17725] * sysdeps/generic/profil-counter.h (profil_counter): Rename to __profil_counter. * sysdeps/unix/sysv/linux/hppa/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/ia64/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/sh/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/tile/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/x86_64/profil-counter.h (profil_counter): Likewise. * sysdeps/unix/sysv/linux/arm/profil-counter.h (profil_counter): Likewise. [!__profil_counter] (profil_counter): Define as weak alias of __profil_counter. * sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h (profil_counter): Rename to __profil_counter. [!__profil_counter] (profil_counter): Define as weak alias of __profil_counter. * sysdeps/unix/sysv/linux/sparc/sparc64/profil-counter.h (profil_counter): Rename to __profil_counter. [!__profil_counter] (profil_counter): Define as weak alias of __profil_counter. * sysdeps/posix/profil.c: Update comment referring to profil_counter. (__profil): Use __profil_counter instead of profil_counter. * sysdeps/posix/sprofil.c (profil_counter): Rename to __profil_counter. Use __profil_counter_ushort and __profil_counter_uint in definitions. (__sprofil): Use __profil_counter_uint and __profil_counter_ushort instead of profil_counter_uint and profil_counter_ushort.
* Fix resolver inet_* namespace (bug 17722).Joseph Myers2014-12-178-12/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Parts of the resolver brought in by pthreads (at least) use inet_* functions that aren't in the 1995/6 edition of POSIX that introduced pthreads (or in one case, use __inet_aton which is then defined in the same file as non-weak inet_addr). This patch fixes this by making the affected functions into weak alias for __inet_* and using those names in the problematic resolver code. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #17722] * inet/inet_mkadr.c (inet_makeaddr): Rename to __inet_makeaddr and define as weak alias of __inet_makeaddr. * resolv/inet_addr.c (inet_addr): Rename to __inet_addr and define as weak alias of __inet_addr. * resolv/inet_pton.c (inet_pton): Rename to __inet_pton and define as weak alias of __inet_pton. Use libc_hidden_weak. * include/arpa/inet.h (__inet_pton): Declare. Use libc_hidden_proto. (inet_makeaddr): Don't use libc_hidden_proto. (__inet_makeaddr): Declare. Use libc_hidden_proto. * resolv/res_init.c (__res_vinit): Use __inet_pton instead of inet_pton. Use __inet_makeaddr instead of inet_makeaddr. * conform/Makefile (test-xfail-POSIX/pthread.h/linknamespace): Remove variable. (test-xfail-POSIX/sched.h/linknamespace): Likewise. (test-xfail-POSIX/time.h/linknamespace): Likewise.
* 2014-12-17 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2014-12-172-62/+65
| | | | * inet/getnetgrent_r.c: Move while loop to be inside if statement.
* Get rid of format warning in bug-vfprintf-nargs.c.Stefan Liebler2014-12-172-1/+8
|
* Get rid of format warning in tst-widetext.c.Stefan Liebler2014-12-172-1/+7
|
* Fix printf format errorAndreas Schwab2014-12-172-2/+6
|
* Use PTR_MANGLE on libgcc unwinder function pointers.Roland McGrath2014-12-162-3/+19
|
* Revert "Use pragmas rather than makefiles for necessary options for unwind ↵Roland McGrath2014-12-167-21/+5
| | | | | | code." This reverts commit c324fcfe75c3976ae0b16943df00710e1d0d74f7.
* Use pragmas rather than makefiles for necessary options for unwind code.Roland McGrath2014-12-167-5/+21
|
* Fix x86_64 memrchr namespace (bug 17719).Joseph Myers2014-12-164-8/+14
| | | | | | | | | | | | | | | | | | | | | | | On x86_64, memrchr (not a standard function) is defined as a strong symbol, instead of a weak alias of __memrchr as on other architectures. This results in linknamespace test failures from the use of __memrchr from dirname. (Not a conformance issue because of the mem* reservation, but contrary to glibc conventions.) This patch makes x86_64 follow other architectures by defining memrchr as a weak alias. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #17719] * sysdeps/x86_64/memrchr.S (memrchr): Rename to __memrchr and define as weak alias of __memrchr. (__memrchr): Do not define as strong alias of memrchr. * conform/Makefile (test-xfail-XPG4/libgen.h/linknamespace): Remove variable. (test-xfail-UNIX98/libgen.h/linknamespace): Likewise. (test-xfail-XOPEN2K/libgen.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/libgen.h/linknamespace): Likewise.
* Fix resolver if_* namespace (bug 17717).Joseph Myers2014-12-168-31/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resolver code, brought in by pthreads (at least), uses if_* interfaces that weren't in POSIX before 2001, resulting in linknamespace failures. This patch changes those interfaces to be weak aliases of __if_* and makes the resolver use __if_* directly. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by this patch). [BZ #17717] * inet/if_index.c (if_nametoindex): Rename to __if_nametoindex and define as weak alias of __if_nametoindex. Use libc_hidden_weak. (if_indextoname): Rename to __if_indextoname and define as weak alias of __if_indextoname. Use libc_hidden_weak. (if_freenameindex): Rename to __if_freenameindex and define as weak alias of __if_freenameindex. (if_nameindex): Rename to __if_nameindex and define as weak alias of __if_nameindex. * sysdeps/mach/hurd/if_index.c (if_nametoindex): Rename to __if_nametoindex and define as weak alias of __if_nametoindex. Use libc_hidden_weak. (if_freenameindex): Rename to __if_freenameindex and define as weak alias of __if_freenameindex. (if_nameindex): Rename to __if_nameindex and define as weak alias of __if_nameindex. (if_indextoname): Rename to __if_indextoname and define as weak alias of __if_indextoname. Use libc_hidden_weak. * sysdeps/unix/sysv/linux/if_index.c (if_nametoindex): Rename to __if_nametoindex and define as weak alias of __if_nametoindex. Use libc_hidden_weak. (if_freenameindex): Rename to __if_freenameindex and define as weak alias of __if_freenameindex. Use libc_hidden_weak. (if_nameindex_netlink): Use __if_freenameindex instead of if_freenameindex. (if_nameindex): Rename to __if_nameindex and define as weak alias of __if_nameindex. Use libc_hidden_weak. (if_indextoname): Rename to __if_indextoname and define as weak alias of __if_indextoname. Use libc_hidden_weak. * include/net/if.h [!_ISOMAC] (__if_nametoindex): Declare and use libc_hidden_proto. [!_ISOMAC] (__if_freenameindex): Likewise. * resolv/res_init.c (__res_vinit): Use __if_nametoindex instead of if_nametoindex. * conform/Makefile (test-xfail-XPG4/grp.h/linknamespace): Remove variable. (test-xfail-XPG4/pwd.h/linknamespace): Likewise. (test-xfail-UNIX98/aio.h/linknamespace): Likewise. (test-xfail-UNIX98/grp.h/linknamespace): Likewise. (test-xfail-UNIX98/pthread.h/linknamespace): Likewise. (test-xfail-UNIX98/pwd.h/linknamespace): Likewise. (test-xfail-UNIX98/sched.h/linknamespace): Likewise. (test-xfail-UNIX98/time.h/linknamespace): Likewise.
* Remove some semaphore.h linknamespace XFAILs.Joseph Myers2014-12-162-3/+7
| | | | | | | | | | | | | Roland's recent sem_* changes introduced some XPASSes for semaphore.h linknamespace tests by removing a non-static variable "mountpoint". This patch removes the XFAILs for the fixed bug. Tested for x86_64. * conform/Makefile (test-xfail-UNIX98/semaphore.h/linknamespace): Remove variable. (test-xfail-XOPEN2K/semaphore.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/semaphore.h/linknamespace): Likewise.
* Fix the 'array subscript is above array bounds' warning correctlySiddhesh Poyarekar2014-12-162-1/+10
| | | | | Use DIAG_IGNORE_NEEDS_COMMENT instead since the compiler should have seen that NS never goes beyond MAXNS.
* Fix 'array subscript is above array bounds' warning in res_send.cSiddhesh Poyarekar2014-12-162-1/+6
| | | | | | | | | | I see this warning in my build on F21 x86_64, which seems to be due to a weak check for array bounds. Fixed by making the bounds check stronger. This is not an actual bug since nscount is never set to anything greater than MAXNS. The compiler however does not know this, so we need the stronger bounds check to quieten the compiler.
* Modify libio/tst-fopenloc.c to use test-skeleton.cArjun Shankar2014-12-162-2/+7
| | | | | | This test would earlier fail when run under test-skeleton.c due to bug #17522 in 'fputws'. That bug is now fixed and so this test may be modified.
* Modify stdlib/tst-bsearch.c to use test-skeleton.cArjun Shankar2014-12-162-12/+19
| | | | | | This test used to define a 'struct entry' that conflicts with the definition in search.h included in test-skeleton. The struct is now renamed 'item'.
* Modify stdio-common/tst-fseek.c to use test-skeleton.cArjun Shankar2014-12-162-2/+10
| | | | | This test needs a TIMEOUT longer than the default 2 seconds since it sleeps twice for a second each.
* Ignore warning in string/tester.c.Torvald Riegel2014-12-162-0/+13
|
* Fix warning in misc/tst-mntent2.c.Torvald Riegel2014-12-162-1/+5
|
* Fix warning in elf/tst-unique4lib.cc.Torvald Riegel2014-12-162-1/+5
|
* Avoid infinite loop in nss_dns getnetbyname [BZ #17630]Florian Weimer2014-12-163-4/+13
|
* stdio-common/Makefile: readd bug26 testcaseAllan McRae2014-12-162-1/+5
| | | | This testcase was accidentally removed in commit a5357b7c.
* Return allocated array instead of unallocated.Ondřej Bílka2014-12-163-9/+15
| | | | | In locale/programs/ld-ctype.c we returned array that was on stack. Fixed by returning static array instead.
* Add comments for the generic lowlevellock implementation.Torvald Riegel2014-12-154-18/+124
| | | | Patch by Bernard Ogden <bernie.ogden@linaro.org>.
* Fix nptl/tst-sem4: always start with a fresh semaphore.Torvald Riegel2014-12-152-2/+10
|
* Fix nptl/tst-mutex5.c: Do not skip tests if elision is enabled.Torvald Riegel2014-12-152-3/+4
|
* stdio-common: Include <libc-internal.h> in some testsAdhemerval Zanella2014-12-153-0/+7
| | | | | This patch adds the missing libc-internal.h include on test-vprintf.c tst-sprintf.c.
* Remove custom pthread_once implementation on s390.Torvald Riegel2014-12-152-110/+4
|
* CVE-2012-3406: Stack overflow in vfprintf [BZ #16617]Jeff Law2014-12-157-8/+207
| | | | | | A larger number of format specifiers coudld cause a stack overflow, potentially allowing to bypass _FORTIFY_SOURCE format string protection.
* Bump required version of texinfo to 4.7Will Newton2014-12-155-4/+12
| | | | | | | | | | | | | | | It seems we require texinfo 4.7 for the --plaintext option, so document that and check for the correct version in configure. ChangeLog: 2014-12-15 Will Newton <will.newton@linaro.org> * manual/install.texi: Bump required version of texinfo to 4.7 from 4.5. * INSTALL: Regenerated. * configure.ac: Check for makeinfo version 4.7 and above. * configure: Regenerated.
* NPTL: Refactor named semaphore code to use shm-directory.hRoland McGrath2014-12-1214-183/+113
|
* NPTL: Add stubs for Linux-only extension functions.Roland McGrath2014-12-125-0/+133
|
* Fix NPTL build for !__ASSUME_SET_ROBUST_LIST case.Roland McGrath2014-12-122-1/+6
|
* resolv: Suppress maybe uninitialized warningStefan Liebler2014-12-122-1/+32
| | | | | | | | | | | In send_vc function at resolv/res_send.c, There is the following warning on some architectures: 'resplen' may be used uninitialized in this function [-Wmaybe-uninitialized] And this is a false positive. This patch suppress the compiler warning.
* Get rid of warning comparision will always evaluate as trueStefan Liebler2014-12-123-3/+15
|
* Fix for test "malloc_usable_size: expected 7 but got 11"James Lemke2014-12-112-44/+43
| | | | [BZ #17581] Revert this fix while investigating a problem.
* Refactor shm_{open,unlink} code to separate Linux-specific directory choice ↵Roland McGrath2014-12-119-282/+290
| | | | from POSIX-generic code.
* * Fix SH specific compiler warnings which are for integer-pointerKaz Kojima2014-12-125-5/+14
| | | | type conversions without cast.
* Move semaphore.h to sysdeps/pthread/.Joseph Myers2014-12-113-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | Carlos reported failures in conform/ tests in environments where the compiler used could only find headers in glibc's source and build trees, not any previously installed headers <https://sourceware.org/ml/libc-alpha/2014-09/msg00040.html>. This patch moves nptl/semaphore.h to sysdeps/pthread/semaphore.h so that it can be found by builds from all glibc subdirectories; it's not in any way NPTL-specific. (I left the Makefile setting to install this header in nptl/, but maybe it should move as well - it's just not clear to me what ifeq ($(subdir),...) conditional should be used to select the directory to associate the header with for installation purposes. The path in the toplevel Makefile used for begin-end-check also remains hardcoded; it's a known todo issue to rework that test to run in each subdirectory checking the headers installed from that subdirectory, rather than a separate hardcoded list.) Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). I did *not* test a configuration such as that in which Carlos saw failure. * nptl/semaphore.h: Move to ... * sysdeps/pthread/semaphore.h: ... here. * Makefile (installed-headers): Change nptl/semaphore.h to sysdeps/pthread/semaphore.h.
* Suppress -Wformat-security in tst-error1.c.Roland McGrath2014-12-112-0/+14
|
* Eliminate -Wno-format from printf/scanf tests.Roland McGrath2014-12-119-13/+80
|
* Add more headers to include/ for conform tests.Joseph Myers2014-12-113-0/+5
| | | | | | | | | | | | | | | | | | | | | | | Carlos reported failures in conform/ tests in environments where the compiler used could only find headers in glibc's source and build trees, not any previously installed headers <https://sourceware.org/ml/libc-alpha/2014-09/msg00040.html>. This patch adds wrappers for two of the affected headers to include/, which is the normal way to make headers visible when building or testing in directories other than the one containing the header (I suppose these headers weren't needed in any such directories except conform/, or other build or test failures would have resulted). I believe the same issue applies at least to regexp.h and re_comp.h - we don't currently have conform/ expectations for those, but when such expectations are added we'll also need to add header wrappers. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). I did *not* test a configuration such as that in which Carlos saw failure. * include/cpio.h: New file. * include/fmtmsg.h: Likewise.