about summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* powerpc: abort transaction in syscallsAdhemerval Zanella2015-01-128-2/+91
| | | | | | | | | | | Linux kernel powerpc documentation states issuing a syscall inside a transaction is not recommended and may lead to undefined behavior. It also states syscalls does not abort transactoin neither they run in transactional state. To avoid side-effects being visible outside transactions, GLIBC with lock elision enabled will issue a transaction abort instruction just before all syscalls if hardware supports hardware transactions.
* powerpc: Add adaptive elision to rwlocksAdhemerval Zanella2015-01-124-3/+130
| | | | | | This patch adds support for lock elision using ISA 2.07 hardware transactional memory for rwlocks. The logic is similar to the one presented in pthread_mutex lock elision.
* powerpc: Add the lock elision using HTMAdhemerval Zanella2015-01-1217-5/+709
| | | | | | | | | | | | This patch adds support for lock elision using ISA 2.07 hardware transactional memory instructions for pthread_mutex primitives. Similar to s390 version, the for elision logic defined in 'force-elision.h' is only enabled if ENABLE_LOCK_ELISION is defined. Also, the lock elision code should be able to be built even with a compiler that does not provide HTM support with builtins. However I have noted the performance is sub-optimal due scheduling pressures.
* Remove 17581 from NEWSAndreas Schwab2015-01-121-6/+6
|
* Fix shm-directory.h #include.Roland McGrath2015-01-092-1/+6
|
* Remove divide from _ELF_DYNAMIC_DO_RELOC in elf/dynamic-link.h.Chung-Lin Tang2015-01-092-2/+6
|
* MicroBlaze: Fix BZ17791 - Remove fixed page size macros and othersMatthew Fortune2015-01-093-9/+9
| | | | | | | | | | | | | | | | | | | | | | Microblaze apparently has a variable page size (see thread below) and should not hard-code any page-size related macros. Also remove macros that are only used for BFD's trad-core support which is not relavant for microblaze also according to the thread starting here: https://sourceware.org/ml/libc-ports/2013-11/msg00028.html This patch is neither built nor tested but mirrors a MIPS patch that fixes the same issue. Thanks, Matthew * sysdepsysdeps/unix/sysv/linux/microblaze/sys/user.h (PAGE_SHIFT, PAGE_SIZE, PAGE_MASK, NBPG, UPAGES): Remove. (HOST_TEXT_START_ADDR, HOST_STACK_END_ADDR): Remove. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* MicroBlaze: Remove custom lowlevellock.h.Torvald Riegel2015-01-092-303/+4
| | | | | | | | | 2015-01-06 Torvald Riegel <triegel@redhat.com> * sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Delete file. Signed-off-by: Torvald Riegel <triegel@redhat.com> Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* MicroBlaze: Remove custom pthread_once implementation on microblaze.Torvald Riegel2015-01-092-89/+4
| | | | | | | | | 2015-01-06 Torvald Riegel <triegel@redhat.com> * sysdeps/unix/sysv/linux/microblaze/pthread_once.c: Delete file. Signed-off-by: Torvald Riegel <triegel@redhat.com> Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* MicroBlaze: Avoid pointer to integer conversion warningDavid Holsgrove2015-01-092-2/+7
| | | | | | | | | 2015-01-06 David Holsgrove <david.holsgrove@xilinx.com> * sysdeps/microblaze/jmpbuf-unwind.h (_jmpbuf_sp): Declare SP as void pointer and cast to uintptr_t. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* MicroBlaze: Fix volatile-register-var warning in READ_THREAD_POINTERDavid Holsgrove2015-01-092-8/+9
| | | | | | | | | | | | Resolves warning: 'optimization may eliminate reads and/or writes to register variables' 2015-01-06 David Holsgrove <david.holsgrove@xilinx.com> * sysdeps/microblaze/nptl/tls.h: Remove inline __microblaze_get_thread_area and update READ_THREAD_POINTER. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* MicroBlaze: Fix integer-pointer conversion warningDavid Holsgrove2015-01-092-1/+6
| | | | | | | | | 2015-01-06 David Holsgrove <david.holsgrove@xilinx.com> * sysdeps/microblaze/nptl/tls.h (TLS_INIT_TP): Use NULL instead of 0. Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>
* Some #include cleanup in aio/timer code.Roland McGrath2015-01-083-1/+6
|
* Clean up allocrtsig code.Roland McGrath2015-01-086-145/+88
|
* Fix copyright year on new stub sys/procfs.h file.Roland McGrath2015-01-081-1/+1
|
* NPTL: Fix generic pthread_sigmask.Roland McGrath2015-01-082-1/+8
|
* NPTL: Fixed missed conditionalization of setxid hooey.Roland McGrath2015-01-082-0/+5
|
* Add stub sys/procfs.h fileRoland McGrath2015-01-084-2/+45
|
* NPTL: Refactor cpu_set_t validation to be sysdeps-controlledRoland McGrath2015-01-086-29/+91
| | | | | This removes Linuxisms related to cpu_set_t validation from the generic NPTL code and puts them into a new sysdeps header file.
* Add -Wno-trampolines as neededRichard Henderson2015-01-083-0/+9
|
* Add Nios II definitions to elf/elf.h.Chung-Lin Tang2015-01-082-0/+77
|
* powerpc: Fix compiler warning on some syscallsAdhemerval Zanella2015-01-085-8/+18
| | | | | | | | | | | | | | | | | GCC 5.0 emits an warning when using sizeof on array function parameters and powerpc internal syscall macros add a check for such cases. More specifically, on powerpc64 and powerpc32 sysdep.h: if (__builtin_classify_type (__arg3) != 5 && sizeof (__arg3) > 8) \ __illegally_sized_syscall_arg3 (); \ And for sysdeps/unix/sysv/linux/utimensat.c build GCC emits: error: ‘sizeof’ on array function parameter ‘tsp’ will return size of ‘const struct timespec *’ This patch uses the address of first struct member instead of the struct itself in syscall macro.
* NEWS for MIPS ABIsMatthew Fortune2015-01-081-0/+20
| | | | * NEWS: Announce support for new MIPS ABI extensions.
* Fix libm feupdateenv namespace (bug 17748).Joseph Myers2015-01-0721-19/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Concluding the fixes for C90 libm functions calling C99 fe* functions, this patch fixes the case of feupdateenv by making it a weak alias for __feupdateenv and making the affected code call __feupdateenv. Tested for x86_64 (testsuite, and that installed stripped shared libraries are unchanged by the patch). Also tested for ARM (soft-float) that the math.h linknamespace tests now pass. [BZ #17748] * include/fenv.h (__feupdateenv): Use libm_hidden_proto. * math/feupdateenv.c (__feupdateenv): Use libm_hidden_def. * sysdeps/aarch64/fpu/feupdateenv.c (feupdateenv): Rename to __feupdateenv and define as weak alias of __feupdateenv. Use libm_hidden_weak. * sysdeps/alpha/fpu/feupdateenv.c (__feupdateenv): Use libm_hidden_def. * sysdeps/arm/feupdateenv.c (feupdateenv): Rename to __feupdateenv and define as weak alias of __feupdateenv. Use libm_hidden_weak. * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/i386/fpu/feupdateenv.c (__feupdateenv): Use libm_hidden_def. * sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Rename to __feupdateenv and define as weak alias of __feupdateenv. Use libm_hidden_weak. * sysdeps/m68k/fpu/feupdateenv.c (__feupdateenv): Use libm_hidden_def. * sysdeps/mips/fpu/feupdateenv.c (feupdateenv): Rename to __feupdateenv and define as weak alias of __feupdateenv. Use libm_hidden_weak. * sysdeps/powerpc/fpu/feupdateenv.c (__feupdateenv): Use libm_hidden_def. * sysdeps/powerpc/nofpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/s390/fpu/feupdateenv.c (feupdateenv): Rename to __feupdateenv and define as weak alias of __feupdateenv. Use libm_hidden_weak. * sysdeps/sh/sh4/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/sparc/fpu/feupdateenv.c (__feupdateenv): Use libm_hidden_def. * sysdeps/tile/math_private.h (__feupdateenv): New inline function. * sysdeps/x86_64/fpu/feupdateenv.c (__feupdateenv): Use libm_hidden_def. * sysdeps/generic/math_private.h (default_libc_feupdateenv): Call __feupdateenv instead of feupdateenv. (default_libc_feupdateenv_test): Likewise. (libc_feresetround_ctx): Likewise.
* mips: Fix __libc_pread prototypeAdhemerval Zanella2015-01-072-1/+6
| | | | | This patch fixes the __libc_pread prototype change from 14bb4e57c094849228ad8524693ab9432c38396c.
* posix/regcomp: initialize union structure tag to avoid warningChris Metcalf2015-01-072-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We see some surprising warnings on tilegx with gcc 4.8.2: In file included from regex.c:66:0: regcomp.c: In function ‘parse_expression’: regcomp.c:2849:15: error: ‘end_elem’ may be used uninitialized in this function [-Werror=maybe-uninitialized] else if (br_elem->type == COLL_SYM) ^ regcomp.c:3109:34: note: ‘end_elem’ was declared here bracket_elem_t start_elem, end_elem; ^ regcomp.c:3109:22: error: ‘start_elem’ may be used uninitialized in this function [-Werror=maybe-uninitialized] bracket_elem_t start_elem, end_elem; ^ These warnings are not seen on x86, and in fact if I compile the preprocessed tile sources with the x86 gcc 4.8.2, I don't see the warnings. I do see eqiuvalent warnings if I compile the x86-preprocessed source code with tilegx gcc 4.8.2. The fix here is to initialize the union type field appropriately in a couple of places where we pass a union pointer to a subroutine that "knows" what type the union is. Setting the type explicitly seems like a more robust way to manage such a data structure in any case.
* AArch64: Optimized implementations of strcpy and stpcpy.Richard Earnshaw2015-01-074-2/+354
|
* AArch64 optimized implementation of strrchr.Richard Earnshaw2015-01-073-2/+173
|
* Fix typo in ChangeLogSiddhesh Poyarekar2015-01-071-1/+1
|
* setenv fix memory leak when setting large, duplicate string (BZ #17658)Eric Biggers2015-01-073-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | glibc maintains a binary tree of environment strings it malloc()ed itself. However, it's possible for it to malloc() a string, then find that an identical string is already in the tree. In this case, the memory is leaked and is not freed if the application later calls __libc_freeres(). Fix this by freeing 'new_value' when it's unneeded. Test case: #include <stdlib.h> #include <string.h> int main() { char *p = calloc(100000, 1); memset(p, 'A', 99999); setenv("TESTVAR", p, 1); setenv("TESTVAR", p, 1); free(p); } Leak that was reported by valgrind: 100,008 bytes in 1 blocks are definitely lost in loss record 1 of 1 at 0x4C29F90: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x4E6B3D4: __add_to_environ (setenv.c:176) by 0x4C31B8F: setenv (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x400642: main (in /mnt/tmpfs/a.out)
* Fix incorrect mount table entry parsing in __getmntent_rVladimir A. Nazarenko2015-01-064-9/+41
| | | | | | | | | When mount entry contains only four fields and have more then one space or tab at the and, mp.mnt_freq and mp.mnt_passno will be set to some specific values as side effect from parsing of previus mount entry. It is because sscanf(""," %d %d ", &a, &b) returns -1, but this case is unprocessed. Values of mp.mnt_freq and mp.mnt_passno stays unchanged. This patch is attempt to fix described issue by removing trailing tabs and spaces.
* Fix libm fesetround namespace (bug 17748).Joseph Myers2015-01-0722-39/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continuing the fixes for C90 libm functions calling C99 fe* functions, this patch fixes the case of fesetround by making it a weak alias of __fesetround and making the affected code call __fesetround. An existing __fesetround function in fenv_libc.h for powerpc is renamed to __fesetround_inline. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). Also tested for ARM (soft-float) that fesetround failures disappear from the linknamespace test results (feupdateenv remains to be addressed to complete fixing bug 17748). [BZ #17748] * include/fenv.h (__fesetround): Declare. Use libm_hidden_proto. * math/fesetround.c (fesetround): Rename to __fesetround and define as weak alias of __fesetround. Use libm_hidden_weak. * sysdeps/aarch64/fpu/fesetround.c (fesetround): Likewise. * sysdeps/alpha/fpu/fesetround.c (fesetround): Likewise. * sysdeps/arm/fesetround.c (fesetround): Likewise. * sysdeps/hppa/fpu/fesetround.c (fesetround): Likewise. * sysdeps/i386/fpu/fesetround.c (fesetround): Likewise. * sysdeps/ia64/fpu/fesetround.c (fesetround): Likewise. * sysdeps/m68k/fpu/fesetround.c (fesetround): Likewise. * sysdeps/mips/fpu/fesetround.c (fesetround): Likewise. * sysdeps/powerpc/fpu/fenv_libc.h (__fesetround): Rename to __fesetround_inline. * sysdeps/powerpc/fpu/fenv_private.h (libc_fesetround_ppc): Call __fesetround_inline instead of __fesetround. * sysdeps/powerpc/fpu/fesetround.c (fesetround): Rename to __fesetround and define as weak alias of __fesetround. Use libm_hidden_weak. Call __fesetround_inline instead of __fesetround. * sysdeps/powerpc/nofpu/fesetround.c (fesetround): Rename to __fesetround and define as weak alias of __fesetround. Use libm_hidden_weak. * sysdeps/powerpc/powerpc32/e500/nofpu/fesetround.c (fesetround): Likewise. * sysdeps/s390/fpu/fesetround.c (fesetround): Likewise. * sysdeps/sh/sh4/fpu/fesetround.c (fesetround): Likewise. * sysdeps/sparc/fpu/fesetround.c (fesetround): Likewise. * sysdeps/tile/math_private.h (__fesetround): New inline function. * sysdeps/x86_64/fpu/fesetround.c (fesetround): Rename to __fesetround and define as weak alias of __fesetround. Use libm_hidden_weak. * sysdeps/generic/math_private.h (default_libc_fesetround): Call __fesetround instead of fesetround. (default_libc_feholdexcept_setround): Likewise. (libc_feholdsetround_ctx): Likewise. (libc_feholdsetround_noex_ctx): Likewise.
* Fix libm fesetenv namespace (bug 17748).Joseph Myers2015-01-0632-30/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continuing the fixes for C90 libm functions calling C99 fe* functions, this patch fixes the case of fesetenv by making it a weak alias of __fesetenv and making the affected code (including various copies of feupdateenv which also gets called from C90 functions) call __fesetenv. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). Also tested for ARM (soft-float) that fesetenv failures disappear from the linknamespace test results (fsetround and feupdateenv remain to be addressed to complete fixing bug 17748). [BZ #17748] * include/fenv.h (__fesetenv): Use libm_hidden_proto. * math/fesetenv.c (__fesetenv): Use libm_hidden_def. * sysdeps/aarch64/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and define as weak alias of __fesetenv. Use libm_hidden_weak. * sysdeps/alpha/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def. * sysdeps/arm/fesetenv.c (fesetenv): Rename to __fesetenv and define as weak alias of __fesetenv. Use libm_hidden_weak. * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/i386/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def. * sysdeps/ia64/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and define as weak alias of __fesetenv. Use libm_hidden_weak. * sysdeps/m68k/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def. * sysdeps/mips/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and define as weak alias of __fesetenv. Use libm_hidden_weak. * sysdeps/powerpc/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def. * sysdeps/powerpc/nofpu/fesetenv.c (__fesetenv): Likewise. * sysdeps/powerpc/powerpc32/e500/nofpu/fesetenv.c (__fesetenv): Likewise. * sysdeps/s390/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and define as weak alias of __fesetenv. Use libm_hidden_weak. * sysdeps/sh/sh4/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/sparc/fpu/fesetenv.c (__fesetenv): Use libm_hidden_def. * sysdeps/tile/math_private.h (__fesetenv): New inline function. * sysdeps/x86_64/fpu/fesetenv.c (fesetenv): Rename to __fesetenv and define as weak alias of __fesetenv. Use libm_hidden_weak. * sysdeps/generic/math_private.h (default_libc_fesetenv): Use __fesetenv instead of fesetenv. (libc_feresetround_noex_ctx): Likewise. * sysdeps/alpha/fpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/i386/fpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/ia64/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/m68k/fpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/mips/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/powerpc/nofpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/s390/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/sh/sh4/fpu/feupdateenv.c (feupdateenv): Likewise. * sysdeps/sparc/fpu/feupdateenv.c (__feupdateenv): Likewise. * sysdeps/x86_64/fpu/feupdateenv.c (__feupdateenv): Likewise.
* Revert "Suppress warning in string/tester.c for gcc 4.9"Ondřej Bílka2015-01-062-4/+3
| | | | This reverts commit 9300797ee93422a87f443d5ba7e1411167e7a837.
* Mention bug fix for BZ #17806H.J. Lu2015-01-062-1/+3
|
* resolv: fix rotate optionAurelien Jarno2015-01-062-1/+7
| | | | | | | | | | | | | | | | | | The rotate option doesn't work correctly, and only send the query to the same server (the second in the list). The rotation code in itself is not broken, but the nsaddrs structure is reinitialized each time at the beginning of __libc_res_nsend unless RES_STAYOPEN is enabled. This is due to a call to __res_iclose from the end of __libc_res_nsend when answers from the name server have been received. This function closes all the sockets, but doesn't free the addresses (it can do that, but in that case the second argument is false). This patch change the code of __res_iclose to clear statp->_u._ext.nsinit only when the addresses are actually freed. * resolv/res_init.c (__res_iclose): Only clear nsinit if the addresses have been freed.
* resolv: improve comments about nserv and nservallAurelien Jarno2015-01-062-2/+7
| | | | | | | | | The current comments concerning nserv and nservall are not really clear and lead to confusion when reviewing an already complex code. Improve them, there real meaning have been confirmed by a code analysis. * resolv/res_init.c (__res_vinit): Improve comments about nserv and nservall.
* Suppress warning in string/tester.c for gcc 4.9Ondřej Bílka2015-01-062-3/+4
|
* Add changelogOndřej Bílka2015-01-061-0/+5
|
* Clean up check_pf allocation pattern. addressesOndřej Bílka2015-01-061-84/+39
| | | | | | We simplify allocation strategy there so instead of using temporary linked list and then copying entries to output array we keep them in resizable array.
* Function declaration cleanupAdhemerval Zanella2015-01-0643-194/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch changes the some function declaration from K&R style to default ANSI C. * nptl/pthread_cancel.c (pthread_cancel): Use ANSI prototype. * nptl/pthread_cond_timedwait.c (__pthread_cond_timedwait): Likewise. * nptl/pthread_cond_wait.c (__pthread_cond_wait): Likewise. * nptl/pthread_exit.c (__pthread_exit): Likewise. * nptl/pthread_join.c (pthread_join): Likewise. * nptl/pthread_timedjoin.c (pthread_timedjoin_np): Likewise. * sysdeps/posix/waitid.c (__waitid): Likewise. * sysdeps/unix/sysv/linux/arm/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/arm/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/arm/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/arm/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/generic/wordsize-32/pwrite64.c (__libc_pwrite64): Likewsie. * sysdeps/unix/sysv/linux/mips/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/mips/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/mips/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/mips/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/msgrcv.c (__libc_msgrcv): Likewise. * sysdeps/unix/sysv/linux/msgsnd.c (__libc_msgsnd): Likewise. * sysdeps/unix/sysv/linux/openat.c (OPENAT_NOT_CANCEL): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/preadv.c (PREADV): Likewise. * sysdeps/unix/sysv/linux/pthread_kill.c (__pthread_kill): Likewise. * sysdeps/unix/sysv/linux/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/pwrite64.c (__libc_pwrite64): Likewise. * sysdeps/unix/sysv/linux/pwritev.c (__libc_pwritev): Likewise. * sysdeps/unix/sysv/linux/sh/pread.c (__libc_pread): Likewise. * sysdeps/unix/sysv/linux/sh/pread64.c (__libc_pread64): Likewise. * sysdeps/unix/sysv/linux/sh/pwrite.c (__libc_pwrite): Likewise. * sysdeps/unix/sysv/linux/sh/pwrite64.c (__libc_write64): Likewise. * sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Likewise. * sysdeps/unix/sysv/linux/sigtimedwait.c (__sigtimedwait): Likewise. * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Likewise. * sysdeps/unix/sysv/linux/sigwaitinfo.c (__sigwaitinfo): Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c (__libc_msgrcv): Likewise.
* Remove duplicated -frounding-mathAndrew Senkevich2015-01-062-8/+17
| | | | | | | | | | | | | | No need to add -frounding-math. math-flags in Makeconfig includes -frounding-math. * math/Makefile (CFLAGS-test-float.c): Remove -frounding-math. (CFLAGS-test-double.c): Likewise. (CFLAGS-test-ldouble.c): Likewise. (CPPFLAGS-test-ifloat.c): Likewise. (CPPFLAGS-test-idouble.c): Likewise. (CPPFLAGS-test-ildoubl.c): Likewise. (CFLAGS-test-test-fenv.c): Remove variable. (CFLAGS-test-misc.c): Likewise.
* Define CLOCKS_PER_SEC type to the type clock_tH.J. Lu2015-01-066-15/+24
| | | | | | | | | | | | | | C99 specifies that CLOCKS_PER_SEC is an expression with the type clock_t. This patch adds a generic <bits/time2.h> to define CLOCKS_PER_SEC and provides the Linux/x86-64 version of <bits/time2.h> to support x32. [BZ #17797] * bits/time.h (CLOCKS_PER_SEC): Changed to ((clock_t) 1000000). * sysdeps/unix/sysv/linux/bits/time.h (CLOCKS_PER_SEC): Likewise. * sysdeps/unix/sysv/linux/clock.c (clock): _Static_assert CLOCKS_PER_SEC == 1000000. * time/clocktest.c (main): Replace %ld with %jd and cast to intmax_t.
* ARM: Consolidate with generic unwinder wrapper codeRoland McGrath2015-01-0511-293/+181
|
* Merge branch 'master' of ssh://sourceware.org/git/glibcSteve Ellcey2015-01-0519-34/+95
|\
| * Fix libm feholdexcept namespace (bug 17748).Joseph Myers2015-01-0519-34/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Continuing the fixes for C90 libm functions calling C99 fe* functions, this patch fixes the case of feholdexcept by making it a weak alias of __feholdexcept and making the affected code call __feholdexcept. Tested for x86_64 (testsuite, and that disassembly of installed shared libraries is unchanged by the patch). Also tested for ARM (soft-float) that feholdexcept failures disappear from the linknamespace test failures (fesetenv, fsetround and feupdateenv remain to be addressed to complete fixing bug 17748). [BZ #17748] * include/fenv.h (__feholdexcept): Declare. Use libm_hidden_proto. * math/feholdexcpt.c (feholdexcept): Rename to __feholdexcept and define as weak alias of __feholdexcept. Use libm_hidden_weak. * sysdeps/aarch64/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/alpha/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/arm/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/i386/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/ia64/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/m68k/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/mips/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/powerpc/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/powerpc/nofpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/powerpc/powerpc32/e500/nofpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/s390/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/sh/sh4/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/x86_64/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/generic/math_private.h (default_libc_feholdexcept): Use __feholdexcept instead of feholdexcept. (default_libc_feholdexcept_setround): Likewise.
* | 2015-01-05 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2015-01-052-0/+63
|/ | | | | * sysdeps/mips/memset.S (memset): Modify for mips32r6/mips64r6 to avoid using stl/str to align destination.
* 2015-01-05 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2015-01-052-13/+168
| | | | * sysdeps/mips/memcpy.S: Add support for mips32r6/mips64r6.
* Fix MIPS n64 posix_fadvise namespace (bug 17796).Joseph Myers2015-01-053-2/+9
| | | | | | | | | | | | | | | | sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c defines posix_fadvise64 as a strong alias for posix_fadvise (for !SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3) - i.e., for static linking, which is the case when this matters), but it should be a weak alias. This patch makes it a weak alias. Tested for MIPS that this fixes the observed linknamespace test failures. [BZ #17796] * sysdeps/unix/sysv/linux/mips/mips64/n64/posix_fadvise.c [!SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3)] (posix_fadvise64): Define as weak alias not strong alias.
* 2015-01-05 Steve Ellcey <sellcey@imgtec.com>Steve Ellcey2015-01-052-3/+22
| | | | | | * sysdeps/mips/dl-machine.h (elf_machine_load_address): Replace bltzal with addiupc. (RTLD_START): Ditto.