Joseph Myers
6698b8bf43
Use .S sources for x86/x86_64 expl.
2012-05-05 19:34:31 +00:00
Joseph Myers
adfbc8ac9e
Fix x86 acos near 1 (bug 13942).
2012-04-30 18:56:39 +00:00
Joseph Myers
5ba3cc691c
Fix acos (-1) in round-downwards mode on x86 (bug 14034).
2012-04-30 09:38:06 +00:00
Markus Trippelsdorf
8280f22d30
Update sysdeps/x86_64/fpu/libm-test-ulps
...
[BZ #13927 ]
* sysdeps/x86_64/fpu/libm-test-ulps: Update.
2012-04-21 14:14:27 +02:00
Andreas Schwab
fb5e92c979
Remove useless __ilogb*_finite aliases
2012-04-18 00:40:13 +02:00
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
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
H.J. Lu
b46068fcf2
Use __builtin_bswap32/64 in x86_64 <bits/byteswap.h>
2012-04-10 13:02:41 -07:00
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
Joseph Myers
c483f6b4a4
Fix x86 pow inaccuracy for large integer exponents (bug 706).
2012-04-09 09:42:05 +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
H.J. Lu
f8887d0a5f
Add byteswap-16.h for __bswap_16
2012-04-06 15:14:52 -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
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
Joseph Myers
d6270972f7
Fix pow of negative numbers to integer exponents (bugs 369, 2678, 3866).
2012-03-28 14:57:58 +00: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
Andreas Jaeger
1e3cdfda74
Merge branch 'elf-move'
...
Conflicts:
debug/backtracesymsfd.c
sysdeps/generic/elf/backtracesymsfd.c
sysdeps/i386/configure.in
2012-03-27 21:35:36 +02:00
H.J. Lu
1532c7ac9a
Make sure x86_64 GOT entry slot is always 8 bytes
2012-03-23 11:06:57 -07:00
Joseph Myers
7c69cd143b
Fix cexp overflow (bug 13892).
2012-03-22 19:38:09 +00:00
H.J. Lu
81b035fe63
Replace Elf64_XXX with ElfW(XXX) in dl-irel.h
2012-03-22 10:17:05 -07:00
H.J. Lu
1da7940c77
Replace unsigned long with uint64_t
2012-03-22 10:02:57 -07:00
H.J. Lu
2ff87f3f18
Add sysdeps/x86_64/preconfigure
2012-03-22 08:28:39 -07:00
H.J. Lu
c8e43ba739
Add x32 support to dynamic linker audit
2012-03-21 17:14:49 -07:00
Andreas Schwab
7998fa7899
Disable use of FMA instructions in branred
2012-03-21 23:58:50 +01:00
Joseph Myers
1a4ac776eb
Remove inaccurate x86 cexp implementations (bug 13883).
2012-03-21 15:28:05 +00:00
Joseph Myers
2460d3aa21
Fix pow of zero and infinity to large powers.
2012-03-21 12:16:00 +00:00
Andreas Jaeger
d6373f9ce3
Merge branch 'master' into elf-move
2012-03-20 20:40:16 +01:00
H.J. Lu
d1af992d0d
Check __x86_64__ instead of __WORDSIZE in mathinline.h
2012-03-20 08:54:58 -07:00
H.J. Lu
114883e00a
Support x86-64 __jmp_buf with __WORDSIZE != 64
2012-03-20 08:53:42 -07:00
H.J. Lu
95443d88af
Use atomic64_t with 64bit atomic macros
2012-03-19 17:29:26 -07:00
H.J. Lu
490df6c441
Check __x86_64__ instead of __WORDSIZE for fenv_t
2012-03-19 16:10:51 -07:00
H.J. Lu
5e52b189f0
Check __x86_64__ instead of __WORDSIZE in mathdef.h
2012-03-19 16:00:52 -07:00
H.J. Lu
b4c35121c4
Use int64_t in x86_64/fpu/math_private.h
2012-03-19 15:17:48 -07:00
H.J. Lu
56965fd71c
Cast _Unwind_GetCFA return to _Unwind_Ptr first
2012-03-19 13:33:20 -07:00
Joseph Myers
1897ad4432
Fix clog overflow/underflow (bug 13629).
2012-03-19 20:14:26 +00:00
Andreas Jaeger
6870c2ed1f
Fix last line in configure.in.
2012-03-19 21:09:50 +01:00
Andreas Jaeger
8f599ddb67
Fix last line.
2012-03-19 21:06:14 +01:00
Andreas Jaeger
1221efbda9
Remove now obsolete elf/configure file.
2012-03-19 20:58:43 +01:00
Andreas Jaeger
0894643164
Merge contents from sysdeps/i386/configure.in (without i686 check)
2012-03-19 20:58:05 +01:00
Andreas Jaeger
9d639b9918
Move x86_64/elf files to x86_64
2012-03-19 20:55:26 +01:00
Richard Henderson
bd37f2ee31
Optimize private 387 fenv access; share code between i386 and x86_64.
2012-03-19 06:51:39 -07:00
Richard Henderson
d0adc92230
i386/x86_64: Optimize feholdexcept.
2012-03-19 06:51:06 -07:00
Richard Henderson
0fe0f1f86f
Create and use libc_feupdateenv_test.
...
We can reduce the number of STMXCSR, and often we can avoid the
call to __feraiseexcept.
2012-03-19 06:50:41 -07:00
Richard Henderson
eb92c487b3
Create and use SET_RESTORE_ROUND{,_NOEX,_53BIT}{,F,L}.
2012-03-19 06:49:44 -07:00
Richard Henderson
b4dabbb47a
Convert libc_feholdexcept et al from macros to inline functions.
2012-03-19 06:48:27 -07:00
Richard Henderson
4851a949b4
Make inline __isnan, __isinf_ns, __finite generic.
...
For code generation to stay identical on x86_64, this requires that
we define the fp word manipulation macros before including the
generic header.
2012-03-19 06:47:43 -07:00
H.J. Lu
473c3ef325
Define x86-64 ffsl alias only if __LP64__ is defined
2012-03-16 15:20:45 -07:00