H.J. Lu
0b254d8f3d
Add sysdeps/x86_64/{64,x32}/shlib-versions
2012-05-14 16:23:57 -07:00
H.J. Lu
11de3a3371
Update elf_machine_load_address for x32
2012-05-14 15:17:30 -07:00
H.J. Lu
520ae0fd0b
Define LP_SIZE/LP_OP/ASM_ADDR/RXX_LP for x86-64
2012-05-14 14:56:07 -07:00
H.J. Lu
b985be81fa
Add x32 dl-machine.h
2012-05-14 13:21:46 -07:00
H.J. Lu
1cf463cd4e
Check if RTLD_SAVESPACE_SSE is aligned to 32 bytes
2012-05-11 11:50:11 -07:00
H.J. Lu
0a10fb9eec
Don't handle R_X86_64_RELATIVE64 in ld.so
2012-05-10 19:24:54 -07:00
H.J. Lu
df8a552f6f
Handle R_X86_64_RELATIVE64 and R_X86_64_64 for x32
2012-05-10 17:05:06 -07:00
Roland McGrath
b5c086a281
Typo fix in x86_64/dl-machine.h
2012-05-10 10:20:51 -07:00
H.J. Lu
c8c59454ea
Sign extend R_X86_64_DTPOFF64/R_X86_64_TPOFF64
2012-05-10 10:05:40 -07:00
Andreas Jaeger
bdd74070cc
Add volatiles for x86-64 bits/mathinline.h
...
[BZ #14053 ]
GCC 4.7 might remove consecutive calls to e.g. lrintf since
the assembler instructions are the same and GCC does not know
that the result is different depending on the rounding mode. For
SSE instructions, the control register is not available so there
is no way to inform GCC about this. Therefore the asms are marked
as volatile.
2012-05-09 20:17:21 +02:00
H.J. Lu
4b30f61a1e
Replace Elf64_XXX/ELF64_R_TYPE with ElfW(XXX)/ELFW(R_TYPE)
2012-05-08 09:39:58 -07:00
Joseph Myers
495fd99f3a
Fix x86/x86_64 expm1l inaccuracy and exceptions (bugs 13885, 13923).
2012-05-07 19:13:08 +00:00
Joseph Myers
d8b82cad1b
Fix exp10 inaccuracy and exceptions (bugs 13884, 13914).
2012-05-06 18:23:44 +00:00
Andreas Jaeger
d7cf87a64e
Update x86-64 libm-test-ulps
2012-05-06 09:32:12 +02:00
Joseph Myers
41498f4db1
Fix missing exceptions from exp (bugs 13787, 13922, 14036).
2012-05-05 19:37:39 +00:00
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
Joseph Myers
c36e1d2369
Disable Bessel function TLOSS errors in POSIX mode.
2012-03-16 20:08:02 +00:00
Joseph Myers
11b90b9f50
Fix tan, tanl for large inputs.
2012-03-16 20:05:37 +00:00
Jan Kratochvil
6a1bd2a100
* sysdeps/x86_64/elf/start.S: Include <sysdep.h>.
...
(_start): Add cfi_startproc, cfi_undefined for rip and cfi_endproc.
2012-03-16 20:49:23 +01:00
Joseph Myers
8848d99dce
Implement ldbl-96 sinl / cosl / sincosl (bug 13851).
2012-03-16 12:30:05 +00:00
Andreas Jaeger
356a10ee3e
Merge branch 'master' into bug13658-branch
2012-03-14 16:36:17 +01:00
Joseph Myers
e456826d7a
Fix csqrt overflow/underflow (bug 13841).
2012-03-14 11:53:32 +00:00
Paul Eggert
c524201ab0
Replace FSF snail mail address with URL in miscellaneous files.
2012-03-10 00:45:35 +00:00
Richard Henderson
b8c036204f
Use include_next to chain math_private.h headers.
2012-03-09 16:11:26 -08:00
Richard Henderson
15194b4b3d
x86_64: Convert __rint* and __floor* from macros to inlines.
2012-03-09 11:15:47 -08:00
Richard Henderson
64e21edef1
x86_64: Convert __ieee754_sqrt{,f,l} from macros to inlines.
2012-03-09 11:15:19 -08:00
Joseph Myers
d1d3431a3a
Fix signs of zeros from casinh, cacosh etc. (bug 10716).
2012-03-07 15:15:19 +00:00
Andreas Jaeger
b35fe25ed9
[BZ #13658 ]
...
* sysdeps/x86_64/fpu/s_sincos.S: Delete.
* math/libm-test.inc (sincos_test): Add test for large input.
2012-03-07 14:51:39 +01:00
Marek Polacek
a53b7a4e4b
Fix up long double fphex.
2012-03-06 22:08:16 +01:00
Joseph Myers
b7cd39e8f8
Fix pow in non-default rounding modes (bug 3976).
2012-03-05 12:22:46 +00:00
Joseph Myers
ca811b2256
Test cosh, sinh in non-default rounding modes (bug 3976).
2012-03-05 12:20:24 +00:00
Marek Polacek
bc957d531c
Remove oldish __GNUC_PREREQ.
2012-03-03 22:57:00 +01:00
Joseph Myers
804360ed83
Fix sin, cos, tan in non-default rounding modes (bug 3976).
2012-03-02 20:51:39 +00:00
Joseph Myers
28afd92dbd
Fix exp in non-default rounding modes (bug 3976).
2012-03-02 15:12:53 +00:00
Joseph Myers
7b1902cb3e
Improve erfc accuracy.
2012-03-01 21:15:38 +00:00
Joseph Myers
0fcad3e243
Add test for bug 5794 (incorrect expm1 overflow).
2012-02-29 20:49:20 +00:00
Joseph Myers
5b8a4d4a09
Reduce large expected errors from libm tests on x86 and x86_64.
2012-02-29 20:40:50 +00:00
Ulrich Drepper
39adf059fc
Optimized expf for x86-64
2012-02-28 20:06:39 -05:00
Joseph Myers
5ad91f6e6f
Resort ULPs files with gen-libm-test.pl -n in C locale.
2012-02-20 18:06:05 +00:00
Marek Polacek
ed656b4065
Provide crt[in].S for x86-64.
2012-02-14 13:50:44 +01:00
Paul Eggert
59ba27a63a
Replace FSF snail mail address with URLs.
2012-02-09 23:18:22 +00:00
Andreas Schwab
6c6dbc6300
Reduce ldouble ULPs for jn tests on x86
2012-02-08 22:25:15 +01:00
Marek Polacek
622c86f480
Remove __ELF__ conditionals
2012-02-07 00:41:11 +01:00
Joseph Myers
3b1004624e
Fix makefile/configure problems with sse2avx changes.
2012-01-30 19:55:15 +00:00
Ulrich Drepper
96bc5b45a6
Optimize x86-64 math inline header a bit
2012-01-28 21:20:06 -05:00
Ulrich Drepper
56f6f6a240
Use -msse2avx option for x86-64 libm functions
2012-01-28 14:48:46 -05:00
Ulrich Drepper
73139a7628
Simplify use of AVX instructions in internal math macros
2012-01-28 11:19:06 -05:00
Ulrich Drepper
08cf777f9e
Really fix AVX tests
...
There is no problem with strcmp, it doesn't use the YMM registers.
The math routines might since gcc perhaps generates such code.
Introduce bit_YMM_USBALE and use it in the math routines.
2012-01-26 09:45:54 -05:00
Ulrich Drepper
afc5ed09cb
Reset bit_AVX in __cpu_features is OS support is missing
2012-01-26 07:45:14 -05:00
Ulrich Drepper
a0da5fe1e4
More fallout from supporting only ELF
2012-01-08 00:45:01 -05:00
Ulrich Drepper
a784e50247
Remove pre-ISO C support
...
No more __const.
2012-01-07 23:57:22 -05:00
Ulrich Drepper
0269750ca6
Remove non-ELF support
2012-01-07 20:30:26 -05:00
Ulrich Drepper
305502f69d
Fix up a comment
2012-01-07 11:49:33 -05:00
Ulrich Drepper
e40bca1ef9
Yet more ia64 removal fallout
2012-01-07 11:44:02 -05:00
Marek Polacek
530a32499a
Fix typos in comments
2011-12-23 13:59:40 -05:00
Ulrich Drepper
67371b5666
Prevent warnings due to long long constants
2011-12-23 13:52:59 -05:00
Liubov Dmitrieva
15db4de19d
Fix overrun in destination buffer
2011-12-23 12:02:15 -05:00
Ulrich Drepper
21eaf3a5f9
Use __REDIRECT_NTH for __feraiseexcept_renamed
2011-12-22 08:05:21 -05:00
Rafael Ávila de Espíndola
d2daaa1eb6
Define x86_64 feraiseexcept inline only under __USE_EXTERN_INLINES.
2011-12-21 13:27:09 -08:00
Ulrich Drepper
370a7d88f7
WP fixes
2011-12-17 14:41:05 -05:00
Ulrich Drepper
1d3e4b618a
Optimized wcschr and wcscpy for x86-64 and x86-32
2011-12-17 14:39:23 -05:00
Ulrich Drepper
aff2453df7
Fix more warnings
2011-12-03 21:49:35 -05:00
Ulrich Drepper
34372fc6d3
Fix test of non-ASCII locales in x86-64 strcasecmp et.al.
2011-11-01 16:46:23 -04:00
Ulrich Drepper
52e4b9eb62
More cleanups of x86-64 strstr
2011-10-28 19:01:48 -04:00
Ulrich Drepper
fd52bc6dc4
Clean up x86-64 strcasestr
...
Actually describe in the C code what is going on.
2011-10-28 18:18:04 -04:00
Ulrich Drepper
a5b81e1fb7
Remove code without too much effects
...
Some of the AVX-specific code is not giving enough speed-up to
justify the extra code.
2011-10-28 16:55:01 -04:00
Ulrich Drepper
e0016b11d6
Add AVX optimized versions for some x86-64 math functions
2011-10-25 21:34:55 -04:00
Ulrich Drepper
618280a192
Optimize x86-64 SSE4.2+ strcmp a bit more
2011-10-25 14:50:31 -04:00
Ulrich Drepper
31ea014d8b
Use VEX encoding in inline math functions on x86-64 when possible
2011-10-25 08:17:57 -04:00
Ulrich Drepper
31d3cc00b0
Cleanup FMA4 patch
...
Move the FMA4 code into its own section. Avoid some of the duplication
of data resulting from the double use of source files.
2011-10-25 00:56:33 -04:00
Ulrich Drepper
202c9deb15
Better DLA_FMS
...
It's better to use __builtin_fma if it works. Use it for gcc 4.6 and
higher. Move the x86-64 dla.h to the correct place.
2011-10-24 22:11:21 -04:00
Ulrich Drepper
a0cf1edd4c
Use inline asm for DLA_FMS because of broken old compilers
2011-10-24 21:17:10 -04:00
Ulrich Drepper
af968f62f2
Optimize accurate 64-bit routines for FMA4 on x86-64
2011-10-24 20:19:17 -04:00
Ulrich Drepper
09229f3e1b
Fix WS
2011-10-23 14:57:28 -04:00
Liubov Dmitrieva
ce7dd29f28
Optimized strnlen and wcscmp for x86-64
2011-10-23 14:56:04 -04:00
Ulrich Drepper
f17424ed53
Fix WS
2011-10-23 13:35:24 -04:00
Liubov Dmitrieva
95584d3b33
Fix signedness in wcscmp comparison
2011-10-23 13:34:15 -04:00
Ulrich Drepper
774a2669af
Clean up FMA use
...
The macro's name should reflect that subtraction is being done. And
use __builtin_fma, it seems to work after all.
2011-10-23 13:31:01 -04:00
Ulrich Drepper
c8b3296bbe
Clean up last dla.h change
2011-10-23 12:50:28 -04:00
Ulrich Drepper
fb24de5932
Fix typo in last change
2011-10-22 20:09:58 -04:00
Ulrich Drepper
0d355eb7c7
Update ULPs for x86-64
2011-10-22 20:06:23 -04:00
Ulrich Drepper
c196fed8f0
Fix compilation problems in x86-64 init-arch
2011-10-21 20:47:20 -04:00
Ulrich Drepper
1a97a8c78f
Don't use NULL in last s_fma{,f} change
2011-10-21 07:39:28 -04:00
Ulrich Drepper
ed72b6545f
Check for FMA4 support and generate appropriate fma functions
2011-10-20 22:43:15 -04:00
Ulrich Drepper
8d4f46c613
Move fma routines to right place
2011-10-20 21:55:41 -04:00
Ulrich Drepper
855d156018
Optimize x86-64 rawmemchr and add test
2011-10-19 22:22:29 -04:00
Ulrich Drepper
d9a4d2ab27
Add optimized str{,n}casecmp for AVX on x86-64
2011-10-19 12:42:38 -04:00
Andreas Schwab
8f3b1ffefa
Fix PLT use for feraiseexcept on x86_64
2011-10-19 13:03:31 +02:00
Ulrich Drepper
d9a8d0abcc
Use new internal libc_fe* interfaces in more functions
2011-10-18 15:11:31 -04:00
Ulrich Drepper
4855e3ddf5
Provide combined internal feholdexcept/fesetround interface
2011-10-18 09:59:04 -04:00
Ulrich Drepper
23ce562780
Pretty print last change to x86-64 mathinline.h
2011-10-18 09:38:47 -04:00
Ulrich Drepper
581d30e386
Add optimized nearbyint{,f} for x86-64
2011-10-18 09:13:23 -04:00
Ulrich Drepper
d38f1dba00
Start optimizing the use of the fenv interfaces in libm itself
2011-10-18 09:00:46 -04:00
Andreas Schwab
83c7615c2d
Fix last change
2011-10-18 14:11:29 +02:00
Andreas Schwab
caa6c9d845
Fix linkage conflict with feraiseexcept
2011-10-18 11:46:51 +02:00
Ulrich Drepper
228a984d54
Relax asm requirements for recently added x86-64 math interfaces
2011-10-17 20:30:52 -04:00
Ulrich Drepper
c8553a6a6f
Makr x86-64 math_private.h more robust
2011-10-17 16:00:39 -04:00
Ulrich Drepper
ed22dcf691
Provide internal optimizations on x86-64 with SSE4.1
...
Provide macros so that the internal users can, if possible, directly use
the new instructions.
Also fix up the mathinline.h header when compiling with SSE4.1 enabled.
2011-10-17 11:23:40 -04:00
Ulrich Drepper
b171c13768
Fix last x86-64 mathinline change
...
Use correct function names.
2011-10-17 10:37:00 -04:00
Ulrich Drepper
ad0f5cad15
Use rounds{s,d} for x86 rint, ceil, floor
2011-10-16 20:58:17 -04:00
Ulrich Drepper
2d1f3a4db6
Fix WS
2011-10-15 11:11:12 -04:00