Commit Graph

7158 Commits

Author SHA1 Message Date
Adhemerval Zanella
76da726532 Fix ilogb exception and errno (bug 6794)
[BZ #6794]
Following Joseph comments about bug 6794, here is a proposed fix. It turned out
to be a large fix mainly because I had to move some file along to follow libm
files/names conventions.

Basically I have added wrappers (w_ilogb.c, w_ilogbf.c, w_ilogbl.c) that now calls
the symbol '__ieee754_ilogb'. The wrappers checks for '__ieee754_ilogb' output and
set the errno and raise exceptions as expected.

The '__ieee754_ilogb' is implemented in sysdeps. I have moved the 's_ilogb[f|l]' files
to e_ilogb[f|l] and renamed the '__ilogb[f|l]' to '__ieee754_ilogb[f|l]'.

I also found out a bug in i386 and x86-64 assembly coded ilogb implementation where
it raises a FE_DIVBYZERO when argument is '0.0'. I corrected this issue as well.

Finally I added the errno and FE_INVALID tests for 0.0, NaN and +-InF argument. Tested
on i386, x86-64, ppc32 and ppc64.
2012-04-17 22:12:53 +02:00
Marek Polacek
751728a1f1 Reverse arguments of fdivp in i386 code. 2012-04-16 11:03:41 +02:00
H.J. Lu
34a27407f4 Check __ILP32__ instead of __LP64__
* elf/tst-auditmod1.c: Check __ILP32__ instead of __LP64__.
	* elf/tst-auditmod3b.c: Likewise.
	* elf/tst-auditmod4b.c: Likewise.
	* elf/tst-auditmod5b.c: Likewise.
	* elf/tst-auditmod6b.c: Likewise.
	* elf/tst-auditmod6c.c: Likewise.
	* elf/tst-auditmod7b.c: Likewise.
	* sysdeps/x86_64/ffsll.c (ffsl): Likewise.
	* sysdeps/x86_64/preconfigure.in: Likewise.
	* sysdeps/x86_64/preconfigure: Regenerated.
2012-04-13 16:24:17 -07:00
H.J. Lu
7e73e17d3f Add __ILP32__ check when defining __WORDSIZE 2012-04-13 16:17:14 -07:00
Antoine Balestrat
c7a6ab72e9 Fix variable check in sparc clock frequency probing.
* sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c
	(__get_clockfreq_via_proc_openprom): Fix test on wrong variable.
2012-04-13 14:31:35 -07:00
David S. Miller
55939d6d45 Update sparc libm ULPs.
* sysdeps/sparc/fpu/libm-test-ulps: Update.
2012-04-11 12:25:00 -07:00
H.J. Lu
4be2b57003 Add __snseconds_t and __SNSECONDS_T_TYPE 2012-04-11 11:02:59 -07:00
H.J. Lu
b46068fcf2 Use __builtin_bswap32/64 in x86_64 <bits/byteswap.h> 2012-04-10 13:02:41 -07:00
Siddhesh Poyarekar
73d65cc378 New ld.so argument --inhibit-ldcache to disable ld.so.cache lookup
It may sometimes be desirable to make the dynamic linker only pick up
libraries from the library path and rpath and not look at the
ld.so.cache that ldconfig generates. An example of such a use case is
the glibc testsuite where the dynamic linker must not be influenced by
any external paths or caches.

This change adds a new option --inhibit-ldcache that when used, tells
the dynamic linker to not use ld.so.cache even if it is available.
2012-04-11 00:13:52 +05:30
Joseph Myers
8f9a2faee0 Fix spurious overflow exceptions from x86/x86_64 powl (bug 13872). 2012-04-09 22:32:45 +00:00
Joseph Myers
bcc8d6617b Fix ctan, ctanh overflow (bug 11521). 2012-04-09 22:31:35 +00:00
Roland McGrath
8de131cbff Fix missing clobber in i386 __sincos_code asm. 2012-04-09 12:20:48 -07:00
Joseph Myers
d7dd945398 Fix missing overflow exceptions from pow (bug 13873). 2012-04-09 09:43:18 +00:00
Joseph Myers
c483f6b4a4 Fix x86 pow inaccuracy for large integer exponents (bug 706). 2012-04-09 09:42:05 +00:00
Aurelien Jarno
f77f123206 Use __kernel_standard instead of __kernel_standard_f in exp wrapper (bug 13705). 2012-04-08 22:45:13 +00:00
Mike Frysinger
3884932b78 memset: also update copyright years
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-08 14:20:37 -04:00
Mike Frysinger
1e4920e080 memset: fix define usage for shared libs
The proper define to check "am I in a shared lib" is "SHARED", not "PIC".
The two new memset_chk functions incorrectly depend on "PIC".

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-04-07 16:33:50 -04:00
David S. Miller
5ed848f3d8 Handle some new sparc relocation types.
* elf/elf.h (R_SPARC_WDISP10): Define.
	* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Handle
	R_SPARC_SIZE32.
	* sysdeps/sparc/sparc64/dl-machine.h (elf_machine_rela): Handle
	R_SPARC_SIZE64 and R_SPARC_H34.
2012-04-07 09:29:14 -07:00
H.J. Lu
f8887d0a5f Add byteswap-16.h for __bswap_16 2012-04-06 15:14:52 -07:00
David S. Miller
993eb0541c Reduce down to one definition of _ELF_DYNAMIC_DO_RELOC.
* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Reduce down to one
	definition.
	* sysdeps/powerpc/powerpc32/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Delete.
	* sysdeps/s390/s390-32/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Likewise.
	* sysdeps/sparc/sparc32/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Likewise.
	* sysdeps/sparc/sparc64/dl-machine.h
	(ELF_MACHINE_PLTREL_OVERLAP): Likewise.
2012-04-05 15:28:37 -07:00
Michael Matz
e80d6f94e1 Fix size parameter comparisions.
[BZ #13592]
There are several signed compares of the size argument, whereas
it really is unsigned.  Depending on situations e.g. a "memset(ptr, 0,
-1)" segfault (but for the wrong reasons, because jumping into nirvana)
or succeeds even.

In normal use this is harmless, as a size with signbit set indicates
more than half the address space which on x86_64 is impossible to
allocate, but as the size is used to index some jump tables this
potentially could have other unwanted side effects.
2012-04-05 10:50:09 +02:00
Kaz Kojima
f402708f8a Fix return value of SH fesetround. 2012-04-05 11:58:30 +09:00
Kaz Kojima
2ecccfc97a Set SH fpcsr register which read again. 2012-04-05 11:57:03 +09:00
Kaz Kojima
8a53f50f2a Fix SH4 fraiseexcpt so to generate exceptions appropriately. 2012-04-05 11:53:49 +09:00
Kaz Kojima
15a946b57a Add support fedisableexcept, feenableexcept, fegetexcept and feupdateenv
for SH.
2012-04-05 11:43:30 +09:00
Simon Josefsson
d653abb723 [BZ #12340] Fix return code of the Hurd's ttyname_r. 2012-04-05 00:35:19 +02:00
Thomas Schwinge
c3b1bf7d85 [BZ #13553] Remove pre-ISO C support
The bits missing from a784e50247.
2012-04-05 00:26:22 +02:00
Andreas Jaeger
b1aa60f32d Add __bswap_64 definition for non GCC compilers.
[BZ#13926]
Currently __bswap_64 is not defined at all for non-GCC compilers.
Define it but guard it with __GLIBC_HAVE_LONG_LONG.

endian.h uses __bswap_64, make the functions only available
if __GLIBC_HAVE_LONG_LONG is defined.
2012-04-03 09:13:59 +02:00
Thomas Schwinge
228c019e63 Call __ctype_init in early glibc startup.
This adds the bits missing from fd5bdc0924.
2012-04-02 22:26:43 +02:00
Liubov Dmitrieva
4b43400f6a optimize the following memcpy: sysdeps/i386/i686/multiarch/memcpy-ssse3.S
I've improved the following implementation of memcpy:
"sysdeps/i386/i686/multiarch/memcpy-ssse3.S".

The patch includes some minor style fixes, but the important part is
just using prefetch loops for the case:

DATA_CACHE_SIZE_HALF <= len <  SHARED_CACHE_SIZE_HALF and
src and dst pointers have unequal 16 byte alignments.

This gives from 6% - 50% performance boost on the atom machine, about
24,73% in geometric mean.
2012-03-30 16:45:27 -04:00
Ulrich Drepper
1d39e35923 Comment fixes for mmsghdr 2012-03-30 06:35:29 -04:00
David S. Miller
88d85d4f00 Optimize mempcpy on sparc.
* sysdeps/sparc/sparc32/memcpy.S: Implement mempcpy using a stub
	that branches into memcpy.
	* sysdeps/sparc/sparc64/memcpy.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara1.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy-niagara2.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: Likewise.
	* sysdeps/sparc/sparc64/multiarch/memcpy.S: Add mempcpy multiarch
	bits.
	* sysdeps/sparc/sparc64/rtld-memcpy.c: Include generic mempcpy
	implementation too.
	* sysdeps/sparc/mempcpy.S: New file.
2012-03-28 22:35:26 -07:00
David S. Miller
e5aa83e16d Do not elide the libc hidden def of sparc's memset/memcpy when multiarching.
* sysdeps/sparc/sparc64/multiarch/memcpy.S: Provide a hidden def to
	the IFUNC routine in the libc case.
	* sysdeps/sparc/sparc64/multiarch/memcpy.S: Likewise.
2012-03-28 22:26:38 -07:00
David S. Miller
88570753ec Use generic memset/memcpy in rtld on sparcv9/sparc64.
* sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memset.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/multiarch/rtld-memcpy.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/rtld-memset.c: New file.
	* sysdeps/sparc/sparc32/sparcv9/rtld-memcpy.c: New file.
	* sysdeps/sparc/sparc64/multiarch/rtld-memset.c: New file.
	* sysdeps/sparc/sparc64/multiarch/rtld-memcpy.c: New file.
	* sysdeps/sparc/sparc64/rtld-memset.c: New file.
	* sysdeps/sparc/sparc64/rtld-memcpy.c: New file.
2012-03-28 22:22:15 -07:00
David S. Miller
249d7567cc Fix bugs and improve performance of niagara memset/bzero.
* sysdeps/sparc/sparc64/multiarch/memset-niagara1.S: Unroll main
	loop to 256 bytes instead of 64 bytes and fix test signedness.
2012-03-28 21:59:43 -07:00
David S. Miller
18c9d62b9c Make sparc's -fPIC addition to ASFLAGS-.os more robust.
* sysdeps/sparc/Makefile: Add -fPIC to ASFLAGS-.os here....
	* sysdeps/sparc/sparc32/Makefile: rather than here...
	* sysdeps/sparc/sparc64/Makefile: and here.
2012-03-28 14:25:42 -07:00
Joseph Myers
d6270972f7 Fix pow of negative numbers to integer exponents (bugs 369, 2678, 3866). 2012-03-28 14:57:58 +00:00
Joseph Myers
41bf21a1e7 Avoid overflows from long double functions using __kernel_standard. 2012-03-28 09:32:12 +00:00
Andreas Jaeger
bdc6f13012 Fix whitespace 2012-03-28 10:00:15 +02:00
Andreas Jaeger
51d8bb8f3b Regenerate configure files 2012-03-28 09:37:58 +02:00
Andreas Jaeger
492e01c879 Move sysdeps/s390/s390-64/elf files
* sysdeps/s390/s390-64/elf/bsd-_setjmp.S: Moved to ...
	* sysdeps/s390/s390-64/bsd-_setjmp.S: ... here.
	* sysdeps/s390/s390-64/elf/bsd-setjmp.S: Moved to ...
	* sysdeps/s390/s390-64/bsd-setjmp.S: ... here.
	* sysdeps/s390/s390-64/elf/setjmp.S: Moved to ...
	* sysdeps/s390/s390-64/setjmp.S: ... here.
	* sysdeps/s390/s390-64/elf/configure.in: Moved to ...
	* sysdeps/s390/s390-64/configure.in: ... here
	* sysdeps/s390/s390-64/elf/configure: Delete file.
	* sysdeps/s390/s390-64/elf/start.S: Moved to ...
	* sysdeps/s390/s390-64/start.S: ... here.
	* sysdeps/s390/s390-64/elf/configure: Delete.
2012-03-28 09:31:29 +02:00
Andreas Jaeger
bbaf00a652 Move sysdeps/s390/s390-32/elf files
* sysdeps/s390/s390-32/elf/bsd-_setjmp.S: Moved to ...
	* sysdeps/s390/s390-32/bsd-_setjmp.S: ... here.
	* sysdeps/s390/s390-32/elf/bsd-setjmp.S: Moved to ...
	* sysdeps/s390/s390-32/bsd-setjmp.S: ... here.
	* sysdeps/s390/s390-32/elf/setjmp.S: Moved to ...
	* sysdeps/s390/s390-32/setjmp.S: ... here.
	* sysdeps/s390/s390-32/elf/configure.in: Moved to ...
	* sysdeps/s390/s390-32/configure.in: ... here.
	* sysdeps/s390/s390-32/elf/configure: Delete file.
	* sysdeps/s390/s390-32/elf/start.S: Moved to ...
	* sysdeps/s390/s390-32/start.S: ... here.
2012-03-28 09:31:13 +02:00
David S. Miller
39197fb03f Fix sparc64/elf merge
* sysdeps/sparc/sparc64/Makefile (ASFLAGS-.os): Move before
have-as-vis3 check.
2012-03-28 09:29:20 +02:00
Andreas Jaeger
8cd23080c4 Move sysdeps/sparc/{,sparc32,sparc64}/elf files
* sysdeps/sparc/elf/configure.in: Moved to ...
	* sysdeps/sparc/configure.in: ... here.
	* sysdeps/sparc/elf/configure: Delete file.
	* sysdeps/sparc/sparc32/elf/start.S: Moved to ...
	* sysdeps/sparc/sparc32/start.S: ... here.
	* sysdeps/sparc/sparc64/elf/start.S: Moved to ...
	* sysdeps/sparc/sparc64/start.S: ... here.
	* sysdeps/sparc/sparc32/elf/Makefile: Merged into ...
	* sysdeps/sparc/sparc32/Makefile: ... this.
	* sysdeps/sparc/sparc64/elf/Makefile: Merged into ...
	* sysdeps/sparc/sparc64/Makefile: ... this.
2012-03-28 09:26:30 +02:00
Andreas Jaeger
27a0f3a948 Move sysdeps/powerpc/elf files
* sysdeps/powerpc/elf/ifunc-sel.h: Moved to ...
	* sysdeps/powerpc/ifunc-sel.h: ... here.
	* sysdeps/powerpc/elf/rtld-global-offsets.sym: Moved to ...
	* sysdeps/powerpc/rtld-global-offsets.sym: ... here.
2012-03-28 09:25:31 +02:00
Andreas Jaeger
7a2b3e0dcd Move sysdeps/powerpc/powerpc32/elf files
* sysdeps/powerpc/powerpc32/elf/bzero.S: Moved to ...
	* sysdeps/powerpc/powerpc32/bzero.S: ... here.
	* sysdeps/powerpc/powerpc32/elf/start.S: Moved to ...
	* sysdeps/powerpc/powerpc32/start.S: ... here.
	* sysdeps/powerpc/powerpc32/elf/configure.in: Merge into ...
	* sysdeps/powerpc/powerpc32/configure.in: ... this.
	* sysdeps/powerpc/powerpc32/elf/configure: Delete file.
2012-03-28 09:23:52 +02:00
Andreas Jaeger
0238008669 Move sysdeps/powerpc/powerpc64/elf files
* sysdeps/powerpc/powerpc64/elf/bzero.S: Moved to ...
	* sysdeps/powerpc/powerpc64/bzero.S: ... here.
	* sysdeps/powerpc/powerpc64/elf/entry.h: Moved to ...
	* sysdeps/powerpc/powerpc64/entry.h: ... here.
	* sysdeps/powerpc/powerpc64/elf/start.S: Moved to ...
	* sysdeps/powerpc/powerpc64/start.S: here.
	* sysdeps/powerpc/powerpc64/elf/Makefile: Merge into ...
	* sysdeps/powerpc/powerpc64/Makefile: ... this.
	* sysdeps/powerpc/powerpc64/elf/configure.in: Merge into ...
	* sysdeps/powerpc/powerpc64/configure.in: ... this.
	* sysdeps/powerpc/powerpc64/elf/configure: Delete file.
2012-03-28 09:22:05 +02:00
Andreas Jaeger
09ae94c11b Delete sysdeps/sh/elf
* sysdeps/sh/elf/configure.in: Moved to ...
	* sysdeps/sh/configure.in: ... here.
	* sysdeps/sh/elf/start.S: Moved to ...
	* sysdeps/sh/start.S: ... here.
	* sysdeps/sh/elf/configure: Delete file.
2012-03-28 09:19:38 +02:00
Andreas Jaeger
2f60e7a8bc Fix last commit
Merge the current i386 version of sysdeps/i386/configure.in
Regenerate configure
2012-03-28 09:18:28 +02:00
Anton Blanchard
dd62fda6cc Define MAP_STACK and MAP_HUGETLB on powerpc, s390, sh and sparc.
* sysdeps/unix/sysv/linux/powerpc/bits/mman.h: Define MAP_STACK and
	MAP_HUGETLB.
	* sysdeps/unix/sysv/linux/s390/bits/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/bits/mman.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/mman.h: Likewise.
2012-03-27 18:37:16 -07:00