Commit Graph

628 Commits

Author SHA1 Message Date
Carlos O'Donell 1a0994f535 BZ#14059: Fix AVX and FMA4 detection.
Fix AVX and FMA4 detection by following the guidelines
set out by Intel and AMD for detecting these features.
2012-05-17 06:59:28 -07:00
H.J. Lu 953ca31a0c Add x32 gmp-mparam.h 2012-05-16 11:54:57 -07:00
H.J. Lu 617aca05db Add x32 ffs 2012-05-16 11:54:56 -07:00
H.J. Lu 48baa5f1d1 Add dummy files for x32 2012-05-16 10:24:02 -07:00
Joseph Myers a9538892ad Split up stackguard-macros.h into sysdeps directories. 2012-05-15 23:34:30 +00:00
H.J. Lu 9317101683 Add x86_64 Implies-after files 2012-05-15 14:38:32 -07:00
H.J. Lu d86813a021 Use R*_LP to call _dl_profile_fixup and frame size 2012-05-15 14:24:00 -07:00
H.J. Lu 3b550e9e48 Add sysdeps/x86_64/x32/sysdep.h 2012-05-15 12:49:42 -07:00
H.J. Lu eda4170670 Use R*_LP on SP and PC in __longjmp.S and setjmp.S 2012-05-15 12:46:04 -07:00
H.J. Lu be8498fca0 Use RSP_LP to operate on stack in stackinfo.h 2012-05-15 10:00:56 -07:00
H.J. Lu 70bc83b910 Load pointers into RAX_LP in strcmp-sse42.S 2012-05-15 09:59:31 -07:00
H.J. Lu 9bc0b730a6 Load cache sizes into R*_LP in memcpy-ssse3.S 2012-05-15 09:58:28 -07:00
H.J. Lu 6d2850e7f5 Load cache sizes into R*_LP in memcpy-ssse3-back.S 2012-05-15 09:56:17 -07:00
H.J. Lu 3cb845617b Load pointers into R*_LP in strcmp.S 2012-05-15 09:54:05 -07:00
H.J. Lu 54e2ed8105 Load cache sizes into R11_LP/R8_LP 2012-05-15 09:52:35 -07:00
H.J. Lu 8a17f34979 Load cache size into R8_LP 2012-05-15 09:35:43 -07:00
H.J. Lu 6cdef1ab36 Update sysdeps/x86_64/start.S for x32 2012-05-14 17:50:41 -07:00
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