about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Fix resolver bind, getsockname namespace (bug 17733).Joseph Myers2014-12-224-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | On Linux architectures using socketcall, the resolver ends up bringing in strong symbols for bind and getsockname, which are not in POSIX.1-1996. This causes linknamespace test failures: FAIL: conform/POSIX/pthread.h/linknamespace FAIL: conform/POSIX/sched.h/linknamespace FAIL: conform/POSIX/time.h/linknamespace These functions are defined as strong symbols with __bind and __getsockname as weak aliases. This patch switches this to the other way round by removing the NO_WEAK_ALIAS definitions and so letting the default case in socket.S act; I see no reason for the existing arrangements. Tested for x86 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #17733] * sysdeps/unix/sysv/linux/bind.S (NO_WEAK_ALIAS): Do not define. (__bind): Do not define as weak alias. * sysdeps/unix/sysv/linux/getsockname.S (NO_WEAK_ALIAS): Do not define. (__getsockname): Do not define as weak alias.
* Require bison 2.7 or newer for regenerating intl/plural.yWill Newton2014-12-225-17/+65
| | | | | | | | | | | | | | | | | | | The merge of the latest gettext code introduced changes to the yacc parser source that are incompatible with versions of bison older than 2.7. Add a configure check for the appropriate versions and document the requirement in INSTALL. ChangeLog: 2014-12-22 Will Newton <will.newton@linaro.org> * manual/install.texi: Document that we require bison 2.7 or above. * INSTALL: Regenerate. * configure.ac: Use AC_CHECK_PROG_VER instead of AC_PATH_PROG when checking for bison and check for version 2.7 or above. * configure: Regenerate.
* tile: separate ffsll from ffsChris Metcalf2014-12-213-11/+36
| | | | | This avoids a linknamespace failure when ffs is legal but ffsll is not.
* tile: remove localplt.data and use generic one again.Chris Metcalf2014-12-212-18/+4
| | | | With the __tls_get_addr removed, it works for tile.
* Add hidden __tls_get_addr/___tls_get_addr aliasH.J. Lu2014-12-217-15/+34
| | | | | | | | | | | | | | | | | | | | __tls_get_addr/___tls_get_addr is always defined in ld.so. There is no need to call them via PLT inside ld.so. This patch adds the hidden __tls_get_addr/___tls_get_addr aliases and calls them directly from _dl_tlsdesc_dynamic. There is no need to set up the EBX register in i386 _dl_tlsdesc_dynamic when calling the hidden ___tls_get_addr. * elf/dl-tls.c (__tls_get_addr): Provide the hidden definition if not defined. * sysdeps/i386/dl-tls.h (___tls_get_addr): Provide the hidden definition. * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Call the hidden ___tls_get_addr. * sysdeps/x86_64/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Call the hidden __tls_get_addr. * sysdeps/generic/localplt.data (__tls_get_addr): Removed. * sysdeps/unix/sysv/linux/i386/localplt.data (___tls_get_addr): Likewise.
* m68k: remove @PLTPC from _dl_init callAndreas Schwab2014-12-212-1/+6
|
* Fix changelog typoAndreas Schwab2014-12-211-1/+0
|
* Remove @PLT from "call _dl_init@PLT" in _dl_start_userH.J. Lu2014-12-213-2/+9
| | | | | | | | | | _dl_start_user in ld.so calls the local function _dl_init. There is no need to go through PLT. * sysdeps/i386/dl-machine.h (_dl_start_user): Remove @PLT from "call _dl_init@PLT". * sysdeps/x86_64/dl-machine.h (_dl_start_user): Likewise. from "call _dl_init@PLT".
* manual: Correct guarantee about pointers compared by qsort()Anders Kaseorg2014-12-212-6/+13
| | | | | | | C99, C11, POSIX, and the glibc implementation do guarantee that the pointers passed to the qsort comparison function lie within the array. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
* tile: provide localplt.data with __tls_get_addr optionalChris Metcalf2014-12-202-0/+22
|
* tilegx: fix strstr to build and link betterChris Metcalf2014-12-192-1/+7
| | | | | | | | The two_way_short_needle() routine included from str-two-way.h is not used, so mark it so to avoid compiler warnings. Calling strnlen() breaks linknamespace tests, so change it to __strnlen().
* Remove trailing white space.Steve Ellcey2014-12-191-1/+0
|
* 2014-12-19 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2014-12-196-0/+182
| | | | | | | | | | * sysdeps/mips/addmul_1.S (__mpn_addmul_1): Use mulu/muhu instead of multu on MIPSr6. * sysdeps/mips/mul_1.S (__mpn_mul_1): Ditto. * sysdeps/mips/submul_1.S (__mpn_submul_1): Ditto. * sysdeps/mips/mips64/addmul_1.S (__mpn_addmul_1): Ditto. * sysdeps/mips/mips64/mul_1.S (__mpn_mul_1): Ditto. * sysdeps/mips/mips64/submul_1.S (__mpn_submul_1): Ditto.
* 2014-12-19 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2014-12-192-4/+16
| | | | | | | | | | * sysdeps/mips/sys/asm.h (PTR_ADDU): Use addu on mips32r6/mips64r6. (PTR_ADDIU): Use addiu for mips32r6/mips64r6. (PTR_SUBU): Use subu for mips32r6/mips64r6. (PTR_SUBIU): Use subu for mips32r6/mips64r6 (subiu does not exist). * sysdeps/mips/machine-gmon.h (PTR_ADDU_STRING) Use addu for mips32r6/mips64r6. (PTR_SUBU_STRING) Use subu for mips32r6/mips64r6.
* Simplify strncat.Ondřej Bílka2014-12-192-44/+7
| | | | | We rewrite strncat to use strnlen and malloc calls which simplifies code an is faster as these functions are better optimized than original code.
* Fix soft-fp build warning on sparc about strict aliasing.David S. Miller2014-12-192-6/+14
| | | | | * sysdeps/sparc/sparc32/soft-fp/q_neg.c (_Q_neg): Use a union to access the quad as both a long double and as a series of 4 words.
* Fix array bounds warnings in elf_get_dyanmic_info() on sparc with gcc-4.6David S. Miller2014-12-192-1/+15
| | | | | * get-dynamic-info.h (elf_get_dynamic_info): Ignore -Warray-bounds for a link_map->l_info array access.
* iconvdata/tst-loading: bump up timeout to 10sChris Metcalf2014-12-192-0/+3
|
* math: increase timeout for math/atest-*.cChris Metcalf2014-12-194-0/+9
| | | | | These tests run in the 2-5 second range on tilegx, so just bump up the timeout to 10 seconds generically.
* Replace -Wno-error with -fno-builtin-lroundH.J. Lu2014-12-192-2/+7
|
* i386: Move futex functions from lowlevellock.h to lowlevellock-futex.h.Torvald Riegel2014-12-193-110/+167
|
* Use generic lowlevellock-futex.h in x86_64 lowlevellock.h.Torvald Riegel2014-12-193-120/+40
|
* 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
|