about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* Fix pthreads getrlimit, gettimeofday namespace (bug 17682).Joseph Myers2014-12-0612-9/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some pthreads functions use getrlimit and gettimeofday, but these functions are XSI, not base POSIX; this is a namespace issue for dynamic linking as well as static linking. This patch makes them use __getrlimit and __gettimeofday instead - the former needed to be newly exported from libc.so at GLIBC_PRIVATE (and so now needs libc_hidden_proto / libc_hidden_def), the latter was already exported. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). [BZ #17682] * resource/Versions (libc): Add __getrlimit at GLIBC_PRIVATE. * resource/getrlimit.c (__getrlimit): Use libc_hidden_def. * sysdeps/mach/hurd/getrlimit.c (__getrlimit): Likewise. * include/sys/resource.h (__getrlimit): Use libc_hidden_proto. * nptl/nptl-init.c (__pthread_initialize_minimal_internal): Use __getrlimit instead of getrlimit. * nptl/pthread_cond_timedwait.c (__pthread_cond_timedwait): Use __gettimeofday instead of gettimeofday. * nptl/pthread_rwlock_timedrdlock.c (pthread_rwlock_timedrdlock): Likewise. * nptl/pthread_rwlock_timedwrlock.c (pthread_rwlock_timedwrlock): Likewise. * sysdeps/pthread/aio_misc.c (handle_fildes_io): Likewise. * conform/Makefile (test-xfail-POSIX2008/aio.h/linknamespace): Remove variable. (test-xfail-POSIX2008/pthread.h/linknamespace): Likewise. (test-xfail-POSIX2008/time.h/linknamespace): Likewise.
* libio: Fix buffer overrun in tst-ftell-active-handlerAdhemerval Zanella2014-12-052-2/+10
| | | | | | | | | | | | | | | | | On 'do_ftell_test' the code: 365 if (test_modes[i].fd_mode != O_WRONLY) 366 { 367 char tmpbuf[data_len]; 368 369 rewind (fp); 370 371 while (fgets_func (tmpbuf, sizeof (tmpbuf), fp) && !feof (fp)); The 'data_len' is calculated with wsclen and allocated as 'char'. The subsequent fgetws will then try to write at most 'data_len' wchar_t in a buffer with just data_len 'char'. This patch fixes it by allocating the tmpbuf using 'wchar_t' * data_len bytes.
* De-warning a few stubs.Roland McGrath2014-12-045-29/+48
|
* Fix linknamespace h_errno handling.Joseph Myers2014-12-043-5/+12
| | | | | | | | | | | | | | | | | | | | Some linknamespace tests were failing because of references to h_errno. References to this symbol should be allowed for XPG4, UNIX98 and XOPEN2K; this patch adds it to the list of allowed data symbols for those standards. (h_errno was removed in the 2008 edition of POSIX, so POSIX2008 and XOPEN2K8 references to it are genuine bugs; fortunately it's not a public data symbol - __h_errno_location is public, TLS h_errno is GLIBC_PRIVATE - so the symbol can simply be renamed to __h_errno to fix those bugs without the ABI complications normally associated with namespace issues for data symbols.) Tested for x86_64. * conform/list-header-symbols.pl (%extra_syms): Add h_errno for XPG4, UNIX98 and XOPEN2K. * conform/Makefile (test-xfail-XOPEN2K/grp.h/linknamespace): Remove variable. (test-xfail-XOPEN2K/pwd.h/linknamespace): Likewise.
* Fix another typo in the ChangeLogSiddhesh Poyarekar2014-12-041-1/+1
|
* Fix date in ChangeLogSiddhesh Poyarekar2014-12-041-1/+1
|
* Fix up function definition styleSiddhesh Poyarekar2014-12-044-121/+40
| | | | Don't use K&R style for function definitions.
* Reset cached offset when reading to end of stream (BZ #17653)Siddhesh Poyarekar2014-12-045-11/+68
| | | | | | POSIX allows applications to switch file handles when a read results in an end of file. Unset the cached offset at this point so that it is queried again.
* tst-ftell-active-handler: Open file with O_TRUNC for w modesSiddhesh Poyarekar2014-12-042-8/+14
| | | | | | The test case fails to truncate the file when a file is intended to be opened in w or w+ mode. Add O_TRUNC to fix this. The test still succeeds with this change.
* ftell: seek to end only when there are unflushed bytes (BZ #17647)Siddhesh Poyarekar2014-12-045-10/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently we seek to end of file if there are unflushed writes or the stream is in write mode, to get the current offset for writing in append mode, which is the end of file. The latter case (i.e. stream is in write mode, but no unflushed writes) is unnecessary since it will only happen when the stream has just been flushed, in which case the recorded offset ought to be reliable. Removing that case lets ftell give the correct offset when it follows an ftruncate. The latter truncates the file, but does not change the file position, due to which it is permissible to call ftell without an intervening fseek call. Tested on x86_64 to verify that the added test case fails without the patch and succeeds with it, and that there are no additional regressions due to it. [BZ #17647] * libio/fileops.c (do_ftell): Seek only when there are unflushed writes. * libio/wfileops.c (do_ftell_wide): Likewise. * libio/tst-ftell-active-handler.c (do_ftruncate_test): New test case. (do_one_test): Call it.
* Fix linknamespace getdate_err handling.Joseph Myers2014-12-033-8/+14
| | | | | | | | | | | | | | | | | Some linknamespace tests were failing because of references to getdate_err. References to this symbol should be allowed for XPG4 and later XSI standards; it was missing from the whitelist of data symbols. This patch adds it to that list. Tested for x86_64. * conform/list-header-symbols.pl (%extra_syms): Add getdate_err for XPG4, UNIX98, XOPEN2K and XOPEN2K8. * conform/Makefile (test-xfail-XOPEN2K/pthread.h/linknamespace): Remove variable. (test-xfail-XOPEN2K/time.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/pthread.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/time.h/linknamespace): Likewise.
* Remove some linknamespace test XFAILs.Joseph Myers2014-12-022-2/+4
| | | | | | | | | | | | | | | It seems two of the XFAILed linknamespace tests were completely fixed by some of my recent namespace fixes in combination (although not by any individual one of those fixes relative to the sources used for testing each patch, or that individual fix would also have removed the XFAIL in question). This patch removes those XFAILs that are no longer needed. Tested for x86_64. * conform/Makefile (test-xfail-XOPEN2K/aio.h/linknamespace): Remove variable. (test-xfail-XOPEN2K8/aio.h/linknamespace): Likewise.
* Fix getifaddrs, freeifaddrs namespace (bug 17668).Joseph Myers2014-12-026-16/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various objects in glibc bring in ifaddrs.o (via references to __netlink_*) and thereby getifaddrs and freeifaddrs, which are not part of any standard supported by glibc. These should be weak aliases of __getifaddrs and __freeifaddrs; this patch makes them so. (The path by which these functions are brought in is Linux-specific, but it seems less confusing to make all versions of these functions weak aliases rather than only the Linux-specific versions that definitely need it.) Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by this patch). [BZ #17668] * inet/ifaddrs.c (getifaddrs): Rename to __getifaddrs and define as weak alias of __getifaddrs. Use libc_hidden_weak. (freeifaddrs): Rename to __freeifaddrs and define as weak alias of __freeifaddrs. Use libc_hidden_weak. * sysdeps/gnu/ifaddrs.c (getifaddrs): Rename to __getifaddrs and define as weak alias of __getifaddrs. Use libc_hidden_weak. (freeifaddrs): Rename to __freeifaddrs and define as weak alias of __freeifaddrs. Use libc_hidden_weak. * sysdeps/unix/sysv/linux/ifaddrs.c (getifaddrs): Rename to __getifaddrs and define as weak alias of __getifaddrs. Use libc_hidden_weak. (freeifaddrs): Rename to __freeifaddrs and define as weak alias of __freeifaddrs. Use libc_hidden_weak. * conform/Makefile (test-xfail-XOPEN2K/net/if.h/linknamespace): Remove variable. (test-xfail-POSIX2008/net/if.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/net/if.h/linknamespace): Likewise.
* mips: Do not use jal to reach __libc_start_mainPetar Jovanovic2014-12-023-3/+13
| | | | | | | | | | | | Since __libc_start_main may not be in the same 256MB-aligned region as the function __start, replace use of jal instruction with la/jalr. This fixes linker issue reported in: https://sourceware.org/bugzilla/show_bug.cgi?id=17601 [BZ #17601] * sysdeps/mips/start.S (__start): Use indirect jump to call __libc_start_main.
* Fix warning in nptl/tst-stack4.c.Joseph Myers2014-12-022-1/+3
| | | | | | | | | | | | | | | | This patch fixes a warning in a test that was added since my recent warning cleanup: tst-stack4.c: In function 'dso_process': tst-stack4.c:64:7: warning: format '%i' expects argument of type 'int', but argument 3 has type 'uintptr_t' [-Wformat=] The original variable has type int then is cast to uintptr_t, and from there to void *, to pass it to a thread, so reversing the process by casting to uintptr_t and then to int is natural; this patch does so. Tested for x86_64. * nptl/tst-stack4.c (dso_process): Use int not uintptr_t for t.
* Fix -Waddress warnings in nptl/tst-mutex1.c.Joseph Myers2014-12-024-2/+12
| | | | | | | | | | | | | | | | This patch fixes -Waddress warnings in nptl/tst-mutex1.c from comparing the address of an object with NULL (ATTR may either be NULL, or the address of an object when included from other tests, and the warning arises in the latter case). A macro ATTR_NULL is defined alongside ATTR and used for the tests. Tested for x86_64. * nptl/tst-mutex1.c: Include <stdbool.h>. [!ATTR] (ATTR_NULL): New macro. (do_test): Test !ATTR_NULL instead of ATTR != NULL. * nptl/tst-mutexpi1.c (ATTR_NULL): New macro. * nptl/tst-mutexpp1.c (ATTR_NULL): New macro.
* Fix warning in posix/tst-getopt_long1.c.Joseph Myers2014-12-022-1/+4
| | | | | | | | | | | | This patch fixes a "discards qualifiers" warning in posix/tst-getopt_long1.c. glibc is built with -Wwrite-strings, meaning a char * cannot be initialized directly with a string constant; the patch casts the string constants to char *. Tested for x86_64. * posix/tst-getopt_long1.c (do_test): Cast elements of argv array to char *.
* Remove excess declarations from unistd.h for XPG3/XPG4 (bug 17665).Joseph Myers2014-12-023-3/+7
| | | | | | | | | | | | | | | | | | For XPG3/XPG4 (defined __USE_XOPEN && !defined __USE_UNIX98), unistd.h declares many functions that should only be declared for __USE_MISC (none of them are in XPG3/XPG4): sethostname sethostid getdomainname setdomainname vhangup revoke profil acct getusershell endusershell setusershell daemon. The whole block with the [__USE_MISC || (__USE_XOPEN && !__USE_UNIX98)] conditional contains only functions that are not in XPG3/XPG4, so this patch simply changes the conditional. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by this patch). [BZ #17665] * posix/unistd.h [__USE_MISC || (__USE_XOPEN && !__USE_UNIX98)]: Change conditional to [__USE_MISC].
* Fix fgets_unlocked namespace issues (bug 17664).Joseph Myers2014-12-026-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various POSIX functions bring in res_init.o, res_hconf.o or mntent_r.o, which use fgets_unlocked, which is not a POSIX function. This patch arranges for them to use __fgets_unlocked instead. (The IS_IN (libc) conditional in rec_hconf.c is needed because that file is also used in nscd.) Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch except for an assertion line number). Note that most of the linknamespace tests that failed because of fgets_unlocked from the resolver also fail because of other symbols brought in by the resolver, so the number of XFAILs this removes is limited. Also note that fgets_unlocked failures for unistd.h for XPG3/XPG4 showed up that actually unistd.h is declaring too much for XPG3/XPG4 (bug 17665) - there is no actual need to make getusershell.c use __fgets_unlocked (at least as regards formal standards are concerned; maybe it should still change for namespace-cleanness of _DEFAULT_SOURCE) because the functions there aren't actually in any of the supported standards; the correct fix for those failures will be to stop the *usershell* functions appearing in unistd.h for XPG3/XPG4. [BZ #17664] * misc/mntent_r.c (__getmntent_r): Use __fgets_unlocked instead of fgets_unlocked. * resolv/res_hconf.c [IS_IN (libc)] (fgets_unlocked): Define to __fgets_unlocked. * resolv/res_init.c (__res_vinit): Use __fgets_unlocked instead of fgets_unlocked. * conform/Makefile (test-xfail-XPG4/sys/statvfs.h/linknamespace): Remove variable. (test-xfail-POSIX/sys/mman.h/linknamespace): Likewise. (test-xfail-UNIX98/sys/mman.h/linknamespace): Likewise. (test-xfail-UNIX98/sys/statvfs.h/linknamespace): Likewise. (test-xfail-XOPEN2K/sys/mman.h/linknamespace): Likewise. (test-xfail-XOPEN2K/sys/statvfs.h/linknamespace): Likewise. (test-xfail-POSIX2008/sys/mman.h/linknamespace): Likewise. (test-xfail-POSIX2008/sys/statvfs.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/sys/mman.h/linknamespace): Likewise. (test-xfail-XOPEN2K8/sys/statvfs.h/linknamespace): Likewise.
* Fix elf/tst-unique4lib.cc warning.Joseph Myers2014-12-022-1/+5
| | | | | | | | | | | | This patch fixes a warning "tst-unique4lib.cc:17:12: warning: 'b' defined but not used [-Wunused-variable]". I'm not sure exactly what aspects of the test are or are not significant for the issue it is testing for; the patch makes the minimal change of marking the variable with __attribute__ ((used)). Tested for x86_64. * elf/tst-unique4lib.cc (b): Mark with __attribute__ ((used)).
* powerpc: Add powerpc64 strpbrk optimizationAdhemerval Zanella2014-12-027-148/+35
| | | | | | This patch makes the POWER7 optimized strpbrk generic by using default doubleword stores to zero the hash, instead of VSX instructions. Performance on POWER7/POWER8 does not change.
* powerpc: Add powerpc64 strcspn optimizationAdhemerval Zanella2014-12-027-145/+32
| | | | | | This patch makes the POWER7 optimized strcspn generic by using default doubleword stores to zero the hash, instead of VSX instructions. Performance on POWER7/POWER8 does not change.
* powerpc: Add powerpc64 strspn optimizationAdhemerval Zanella2014-12-027-160/+38
| | | | | | This patch makes the POWER7 optimized strspn generic by using default doubleword stores to zero the hash, instead of VSX instructions. Performance on POWER7/POWER8 machines does not changed.
* Fix for test "malloc_usable_size: expected 7 but got 11"James Lemke2014-12-013-37/+54
| | | | | | [BZ #17581] The checking chain of unused chunks was terminated by a hash of the block pointer, which was sometimes confused with the chunk length byte. The chain is now terminated by a NULL byte.
* powerpc: strtok{_r} optimization for powerpc64Rajalakshmi Srinivasaraghavan2014-12-013-0/+255
| | | | | | | This patch optimizes strtok and strtok_r for POWERPC64. A table of 256 characters is created and marked based on the 'accept' argument and used to check for any occurance on the input string.Loop unrolling is also used to gain improvements.
* Update NEWS for previous two commitsSiddhesh Poyarekar2014-12-011-5/+5
|
* New locale raj_IN (#16857)Pravin Satpute2014-12-013-0/+182
|
* New locale ce_RU (BZ #17192)Pravin Satpute2014-12-013-0/+176
|
* Fix indenting in bits/ioctl-types.h.Carlos O'Donell2014-11-292-9/+11
| | | | | Indent the preprocessor directives correctly according to the normal glibc style.
* Use ALIGN_UP in nptl/nptl-init.cCarlos O'Donell2014-11-292-2/+5
| | | | | Replace bespoke code to align a value with the ALIGN_UP macro to make it easier to read.
* Expand comments in elf/ldconfig.c (search_dir)Carlos O'Donell2014-11-292-2/+28
| | | | | | | | | Developers creating development packages must take care to have their static linker DSO link point to the actual SONAME file. This allows ldconfig to correctly create the required links for the SONAME. The behaviour is now more clearly documented in a code comment added by this patch.
* Make linknamespace tests check only relevant libraries.Joseph Myers2014-11-293-12/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses one known caveat in the linknamespace tests: with this patch they will now only look for definitions of symbols in relevant libraries, meaning that librt and libpthread are not checked for ISO C standards, XPG3 and XPG4. In particular, this means that if __pthread_initialize_minimal is somehow brought in for one of those standards, the definition from libc-tls.o will be considered instead of that from libpthread, so avoiding bringing in lots of other libpthread symbols. This should address some of the failures reported by Carlos in <https://sourceware.org/ml/libc-alpha/2014-11/msg00882.html>, where __pointer_chk_guard_local brought in __pthread_initialize_minimal. Tested for x86_64. The removal of one XFAIL for XPG4 actually shows up a header bug (shm_open should not be declared for XPG4 - the namespace issue was for symbols brought in by shm_open, which is no longer found at all now librt isn't searched; I've filed bug 17663 for the header bug, though it would show up eventually anyway in the course of review of conform/ data against XPG4). Committed. * conform/Makefile (linknamespace-symlist-stdlibs-base): New variable. (linknamespace-symlist-stdlibs-tests): Likewise. (tests-special): Append $(linknamespace-symlist-stdlibs-tests) instead of $(objpfx)symlist-stdlibs. (linknamespace-libs-isoc): New variable. (linknamespace-libs): Use $(linknamespace-libs-isoc). (linknamespace-libs-ISO): New variable. (linknamespace-libs-ISO99): Likewise. (linknamespace-libs-ISO11): Likewise. (linknamespace-libs-XPG3): Likewise. (linknamespace-libs-XPG4): Likewise. (linknamespace-libs-POSIX): Likewise. (linknamespace-libs-UNIX98): Likewise. (linknamespace-libs-XOPEN2K): Likewise. (linknamespace-libs-POSIX2008): Likewise. (linknamespace-libs-XOPEN2K8): Likewise. ($(objpfx)symlist-stdlibs): Replace by $(linknamespace-symlist-stdlibs-tests). Use $(linknamespace-libs-$*) as set of libraries. ($(linknamespace-header-tests)): Update dependencies. Use $(objpfx)symlist-stdlibs-$$std for --libsyms argument. (test-xfail-XPG4/sys/mman.h/linknamespace): Remove. * conform/linknamespace.pl: Remove comment about considering definitions of symbols from irrelevant libraries.
* Mention fix for PR 13862H.J. Lu2014-11-281-4/+5
|
* Resize DTV if the current DTV isn't big enoughH.J. Lu2014-11-285-43/+283
| | | | | | | | | | | | | | | | | | | | | | | This patch changes _dl_allocate_tls_init to resize DTV if the current DTV isn't big enough. Tested on X86-64, x32 and ia32. [BZ #13862] * elf/dl-tls.c: Include <atomic.h>. (oom): Remove #ifdef SHARED/#endif. (_dl_static_dtv, _dl_initial_dtv): Moved before ... (_dl_resize_dtv): This. Extracted from _dl_update_slotinfo. (_dl_allocate_tls_init): Resize DTV if the current DTV isn't big enough. (_dl_update_slotinfo): Call _dl_resize_dtv to resize DTV. * nptl/Makefile (tests): Add tst-stack4. (modules-names): Add tst-stack4mod. ($(objpfx)tst-stack4): New. (tst-stack4mod.sos): Likewise. ($(objpfx)tst-stack4.out): Likewise. ($(tst-stack4mod.sos)): Likewise. (clean): Likewise. * nptl/tst-stack4.c: New file. * nptl/tst-stack4mod.c: Likewise.
* Recognize recent x86 CPUs in string.hJ. Brown2014-11-272-1/+10
|
* Avoid deprecated sigblock in misc/tst-pselect.c.Joseph Myers2014-11-272-2/+8
| | | | | | | | | | | | | | misc/tst-pselect.c uses the deprecated sigblock interface, resulting in "tst-pselect.c:42:3: warning: 'sigblock' is deprecated (declared at ../signal/signal.h:189) [-Wdeprecated-declarations]". The choice of sigblock rather than sigprocmask has nothing to do with what this test is testing, so this patch changes it to use sigprocmask to avoid the warning. Tested for x86_64. * misc/tst-pselect.c (do_test): Use sigprocmask instead of sigblock.
* Fix libio/bug-ungetwc1.c warning.Joseph Myers2014-11-272-2/+22
| | | | | | | | | | | | | | | This patch fixes a warning "variable 'wc' set but not used" in libio/bug-ungetwc1.c. The test didn't verify much about the results of the functions it called. This patch makes it check the result of getwc (thereby fixing the warning), check end of file does not arrive too late in the getwc loop, and check EOF is no longer set after ungetwc. Tested for x86_64. * libio/bug-ungetwc1.c (do_test): Verify results of getwc and feof.
* Fix dlfcn/failtestmod.c warning.Joseph Myers2014-11-272-2/+6
| | | | | | | | | | | | | | | This patch fixes a "set but not used" warning from dlfcn/failtestmod.c. A variable is used only to store the return value from dlsym. As I understand this test, the point is simply to do a sequence of load / unload operations in a loop, and all that matters here is that dlsym gets called and returns without crashing, not what its return value is. So this patch removes the assignment to a variable. Tested for x86_64. * dlfcn/failtestmod.c (constr): Do not store result of dlsym in a variable.
* Add missing include of libc-internal.h.Stefan Liebler2014-11-272-0/+6
|
* Don't use __warn_memset_zero_len for gcc-5.0 or newerSiddhesh Poyarekar2014-11-272-0/+13
| | | | | | | | | | | gcc now warns when the arguments to memset may have been accidentally transposed (i.e. length set to zero instead of the byte), so we don't need that bit of the code in glibc headers anymore. Tested on x86_64. Coe generated by gcc 4.8 is identical with or without the patch. I also tested gcc master, which does not result in any new failures. It does fail quite a few FORTIFY_SOURCE tests, but those failures are not due to this patch.
* Fix stdio-common/tst-fmemopen.c format warnings.Joseph Myers2014-11-272-2/+5
| | | | | | | | | | | | | | Testing for 32-bit x86 shows up warnings in stdio-common/tst-fmemopen.c where off_t values are passed to %zu printf formats. Since the values are in messages relating to function calls where the relevant argument is of type size_t, it seems most appropriate to cast explicitly to size_t when passing to printf, which this patch does. Tested for 32-bit x86. * stdio-common/tst-fmemopen.c (do_test): Cast st_size values to size_t for %zu format.
* Fix nss/tst-nss-test1.c format warning.Joseph Myers2014-11-272-1/+6
| | | | | | | | | | | | | Testing for 32-bit x86 shows up a warning "tst-nss-test1.c:25:3: warning: format '%ju' expects argument of type 'uintmax_t', but argument 2 has type 'int' [-Wformat=]". The argument is a difference of two pointers, a signed quantity of type ptrdiff_t for which the right format is %td; this patch makes this test use that format. Tested for 32-bit x86. * nss/tst-nss-test1.c (do_test): Use %td printf format for pointer difference, not %ju.
* Avoid warnings for unused results in nscd/connections.c.Joseph Myers2014-11-263-5/+15
| | | | | | | | | | | | | This patch avoids warnings for unused results of setuid and setgid in nscd/connections.c using an ignore_value macro along the lines suggested by Paul in <https://sourceware.org/ml/libc-alpha/2014-11/msg00733.html>. Tested for x86_64. * include/libc-internal.h (ignore_value): New macro. * nscd/connections.c (restart): Wrap calls to setuid and setgid with ignore_value.
* Fix sysdeps/mips/__longjmp.c warning.Joseph Myers2014-11-262-3/+4
| | | | | | | | | | | | | | | | | This patch fixes ../sysdeps/mips/__longjmp.c:27:1: warning: function declaration isn't a prototype [-Wstrict-prototypes] which arose I think from the MIPS16 changes (renaming the function to ____longjmp with an alias __longjmp, so a prior header prototype for __longjmp no longer sufficed to prevent a warning). I've made the function use a prototype definition, which is what we want for all function definitions in glibc anyway. Tested for MIPS. * sysdeps/mips/__longjmp.c (____longjmp): Use prototype definition.
* Fix nptl/tst-cancel-self-cancelstate.c warning.Joseph Myers2014-11-262-1/+4
| | | | | | | | | | | | | This patch fixes "../sysdeps/nptl/pthread.h:670:26: warning: initialization discards 'volatile' qualifier from pointer target type" arising when building nptl/tst-cancel-self-cancelstate.c. The problem is passing a volatile int * to a macro expecting void *; the patch adds an explicit cast. Tested for x86_64. * nptl/tst-cancel-self-cancelstate.c (do_test): Cast argument of pthread_cleanup_push to void *.
* Fix sysdeps/unix/sysv/linux/arm/libc-do-syscall.S warning.Joseph Myers2014-11-262-0/+6
| | | | | | | | | | | | | | | | | This patch fixes a warning ../include/features.h:328:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp] seen when building for ARM. This warning comes from libc-do-syscall.S being built for nscd: the nscd build uses _FORTIFY_SOURCE, while .S files aren't built with -O, and the combination produces a warning. As _FORTIFY_SOURCE doesn't do anything for .S files, undefining it in libc-do-syscall.S seems the simplest solution. Tested for ARM. * sysdeps/unix/sysv/linux/arm/libc-do-syscall.S (_FORTIFY_SOURCE): Undefine.
* FIx ldbl-128ibm frexpl for 32-bit systems (bug 16619, bug 16740).Joseph Myers2014-11-263-6/+11
| | | | | | | | | | | | | | | | | | | | | | This patch fixes bugs in ldbl-128ibm frexpl for 32-bit systems shown up by warnings: ../sysdeps/ieee754/ldbl-128ibm/s_frexpl.c:82:4: warning: left shift count >= width of type ../sysdeps/ieee754/ldbl-128ibm/s_frexpl.c:129:5: warning: left shift count >= width of type This did in fact show up in test-ldouble.out (alongside all the other problems there ... maybe we should again consider running the libm tests at finer granularity from the makefiles) as already covered by the testsuite after the previous patch that fixed these bugs for 64-bit systems. The fix is simply using 1LL instead of 1L when shifting by 52. Tested for powerpc32 (soft float). [BZ #16619] [BZ #16740] * sysdeps/ieee754/ldbl-128ibm/s_frexpl.c (__frexpl): Use 1LL << 52 instead of 1L << 52.
* Fix warnings in fwscanf / rewind tests.Joseph Myers2014-11-263-0/+18
| | | | | | | | | | | | This patch fixes "set but not used" warnings in the tests libio/bug-rewind.c and libio/bug-rewind2.c by checking the return values from fwscanf and making the tests fail if those values aren't as expected. Tested for x86_64. * libio/bug-rewind.c (do_test): Check fwscanf return values. * libio/bug-rewind2.c (do_test): Likewise.
* Remove TEST_IFUNC, tests-ifunc and *-ifunc.c tests.Joseph Myers2014-11-2614-177/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | TEST_IFUNC is only tested in two headers, bench-string.h and test-string.h, after it gets defined by those headers, and it never gets undefined. Thus no defines of TEST_IFUNC are needed, and the *-ifunc.c tests that just define TEST_IFUNC and include other tests are also redundant, as is the code to remove $(tests-ifunc) and $(xtests-ifunc) conditionally from tests and xtests. This patch removes the useless defines and tests of TEST_IFUNC and the associated useless tests and makefile code. It thereby fixes a series of warnings "../string/test-string.h:21:0: warning: "TEST_IFUNC" redefined" where test-string.h defines TEST_IFUNC to empty, other files define it to 1 and this produces warnings. Tested for x86_64. * debug/test-stpcpy_chk-ifunc.c: Remove file. * debug/test-strcpy_chk-ifunc.c: Likewise. * wcsmbs/test-wcschr-ifunc.c: Likewise. * wcsmbs/test-wcscmp-ifunc.c: Likewise. * wcsmbs/test-wcscpy-ifunc.c: Likewise. * wcsmbs/test-wcslen-ifunc.c: Likewise. * wcsmbs/test-wcsrchr-ifunc.c: Likewise. * wcsmbs/test-wmemcmp-ifunc.c: Likewise. * Rules [$(multi-arch) = no] (tests): Do not filter out $(tests-ifunc). [$(multi-arch) = no] (xtests): Do not filter out $(xtests-ifunc). * debug/Makefile (tests-ifunc): Remove variable. (tests): Do not add $(tests-ifunc). * wcsmbs/Makefile (tests-ifunc): Remove variable. (tests): Do not add $(tests-ifunc). * benchtests/bench-string.h (TEST_IFUNC): Remove macro. [TEST_IFUNC]: Remove conditionals. * string/test-string.h (TEST_IFUNC): Remove macro. [TEST_IFUNC]: Remove conditionals.
* Fix test-strchr.c warnings for wide string testing.Joseph Myers2014-11-262-3/+12
| | | | | | | | | | | | | | | | string/test-strchr.c is used for both wide and narrow string testing, but produces a series of warnings for wide string testing because of hardcoded use of narrow characters in the function check1. This patch fixes that function to use macros abstracting away the wide / narrow string choice, adding a new such macro to handle the string and character constants. Tested for x86_64. * string/test-strchr.c [!WIDE] (L): New macro. [WIDE] (L): Likewise. (check1): Use CHAR instead of char. Use L on string and character constants.