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
Marek Polacek
751728a1f1
Reverse arguments of fdivp in i386 code.
2012-04-16 11:03:41 +02: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
Roland McGrath
8de131cbff
Fix missing clobber in i386 __sincos_code asm.
2012-04-09 12:20:48 -07: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
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
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
6143dc8d00
Regenerate
2012-03-27 21:37:02 +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
Joseph Myers
7c69cd143b
Fix cexp overflow (bug 13892).
2012-03-22 19:38:09 +00:00
Joseph Myers
40b601fbb7
Use autoconf macro for testing compiler options with empty input.
2012-03-21 16:33:57 +00: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
H.J. Lu
eb96ffb07d
Move stdio-common/_itoa.h to sysdeps/generic
2012-03-20 16:00:23 -07:00
Andreas Jaeger
d6373f9ce3
Merge branch 'master' into elf-move
2012-03-20 20:40:16 +01:00
Joseph Myers
1897ad4432
Fix clog overflow/underflow (bug 13629).
2012-03-19 20:14:26 +00:00
Andreas Jaeger
735095ae95
Merge sysdeps/i386/elf/Versions into sysdeps/i386/Versions.
...
Move sysdeps/i386/elf/start.S to sysdeps/i386/
Merge sysdeps/i386/elf/configure.in into sysdeps/i386/configure.in
Delete merged files sysdeps/i386/elf/configure.in, sysdeps/i386/elf/Versions
and sysdeps/i386/elf/configure.
2012-03-19 21:02:40 +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
7d2e8012cf
i386: Convert libc_{feholdexcept_setround,updateenv}_53bit to functions.
...
Also fix a bug in libc_feupdateenv_53bit: don't force the rounding
precision back to _FPU_EXTENDED, instead restore the precision that
the user had in effect beforehand.
2012-03-19 06:49:04 -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
Joseph Myers
8848d99dce
Implement ldbl-96 sinl / cosl / sincosl (bug 13851).
2012-03-16 12:30:05 +00:00
Andreas Jaeger
d5ce0ef38d
Update
2012-03-15 18:03:38 +01:00
Andreas Jaeger
ee010c9e95
* sysdeps/i386/fpu/s_tanf.S: Delete so that i386 uses the
...
ieee754/flt-32 implementation for tan.
* math/libm-test.inc (tan_test): Add tests for large input.
* sysdeps/i386/fpu/libm-test-ulps: Update.
2012-03-15 17:34:24 +01:00
Andreas Jaeger
8c0247db32
[BZ #13852 ]
...
* sysdeps/i386/fpu/e_rem_pio2f.c: Delete so that i386 uses the
ieee754/flt-32 implementation.
* sysdeps/i386/fpu/k_rem_pio2f.c: Likewise.
* sysdeps/i386/fpu/s_cosf.S: Likewise.
* sysdeps/i386/fpu/s_sincosf.S: Likewise.
* sysdeps/i386/fpu/s_sinf.S: Likewise.
* math/libm-test.inc (cos_test): Enable some large input tests for
float as well
(sin_test): Likewise.
(sincos_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
2012-03-15 17:23:43 +01:00
Andreas Jaeger
ad6e0564b8
Cleanup formatting.
2012-03-15 14:14:39 +01:00
Andreas Jaeger
22417c803d
Update ULPs.
2012-03-14 17:23:31 +01:00
Andreas Jaeger
c4814b6b3a
Implement and use libc_feholdexcept_setround_53bit and libc_feupdateenv_53bit
...
so that double arithmetic in s_sin is done in 53 bit (without extend i386 double precision)
2012-03-14 17:20:10 +01:00
Andreas Jaeger
1e2405c8fa
Remove files so that i386 uses the iee754/dbl-64 sin and cos implementation.
2012-03-14 17:09:07 +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
1ed0291c31
Use <> for math.h and math_private.h everywhere.
...
Entire tree edited via find | grep | sed.
2012-03-09 16:09:10 -08:00
Joseph Myers
af6a1e3755
Fix sysdeps/i386/configure.in cpuid.h test for bootstrapping.
2012-03-07 20:51:54 +00:00
Joseph Myers
d1d3431a3a
Fix signs of zeros from casinh, cacosh etc. (bug 10716).
2012-03-07 15:15:19 +00:00
Andreas Jaeger
30ee4ced20
* sysdeps/i386/fpu/libm-test-ulps: Update.
2012-03-05 13:37:29 +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
0bab47b6b2
Fix x86 strcasecmp_l (bug 13786).
2012-02-29 22:37: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
Joseph Myers
5ad91f6e6f
Resort ULPs files with gen-libm-test.pl -n in C locale.
2012-02-20 18:06:05 +00:00
Thomas Schwinge
7c35ffedf1
Fix x86 PLT slot usage for feraiseexcept.
...
Then we're elf/check-localplt.out-clean again.
2012-02-10 21:05:54 +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
Joseph Myers
3add8e1353
Support crti.S and crtn.S provided directly by architectures.
2012-02-08 01:45:26 +00:00
Marek Polacek
622c86f480
Remove __ELF__ conditionals
2012-02-07 00:41:11 +01:00
Joseph Myers
d4a54ac649
Undefine and redefine __i686 for assembly code.
2012-02-06 23:01:25 +00:00
Joseph Myers
314054eaef
Match x86 PIC thunk names to compiler version.
2012-02-06 18:05:54 +00:00
Joseph Myers
d8e0ca509a
Use macro for PIC setup in inline asm.
2012-02-05 14:34:14 +00:00
Joseph Myers
b1da7dd99d
Use macros for x86 PIC thunk names.
2012-02-03 23:24:19 +00:00
Joseph Myers
9a1d92541f
Consistently use macros for x86 PIC thunks.
2012-02-03 23:22:53 +00:00
Ulrich Drepper
56f6f6a240
Use -msse2avx option for x86-64 libm functions
2012-01-28 14:48:46 -05:00
Joseph Myers
8db2188281
Remove __STDC__ conditionals from libm.
2012-01-27 17:29:45 +00:00
Joseph Myers
965a54a4ee
Remove __STDC__ conditionals from non-installed headers.
2012-01-26 23:31:37 +00: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
67371b5666
Prevent warnings due to long long constants
2011-12-23 13:52:59 -05:00
Ulrich Drepper
70c6c246a2
Optimize x86-32 feraiseexcept also for !__SSE_MATH__
2011-12-23 09:18:02 -05:00
Liubov Dmitrieva
c044cf14b0
Fix wrong copying processing for last bytes in x86-32 wcscpy
...
Wrong copy algorithm for last bytes, not thread safety.
In some particular cases it uses the destination
memory beyond the string end for
16-byte load, puts changes into that part that is relevant
to destination string and writes whole 16-byte chunk into memory.
I have a test case where the memory beyond the string end contains
malloc/free data, that appear corrupted in case free() updates
it in between the 16-byte read and 16-byte write.
2011-12-23 08:50:39 -05:00
Ulrich Drepper
aed9d17150
Add feraiseexcept optimization for x86-32
2011-12-22 17:52:30 -05:00
Ulrich Drepper
db910efdbd
Also retrieve SSE exceptions in x86-32 fegetexceptflag
2011-12-22 16:28:08 -05:00
Liubov Dmitrieva
2bd779ae3f
Fix overrun in strcpy destination buffer in x86-32/SSSE3 version
2011-12-22 14:22:00 -05:00
Ulrich Drepper
1d3e4b618a
Optimized wcschr and wcscpy for x86-64 and x86-32
2011-12-17 14:39:23 -05:00
Andreas Schwab
5583a0862c
Fix SSSE3/SSE4.2 strcasecmp[_l]/strncasecmp[_l] for non-PIC and -mno-tls-direct-seg-refs
2011-11-16 11:48:10 +01:00
Ulrich Drepper
6abf346582
Add SSE4.2 support for strcasecmp and strncasecmp on x86-32
2011-11-14 18:24:35 -05:00
Ulrich Drepper
76e3966e9e
SSSE3 optimized strcasecmp and strncasecmp for x86-32
2011-11-13 09:50:13 -05:00
Ulrich Drepper
e7f4b08ee9
Fix warnings in fallback C code of x86-32 wide memory functions
2011-11-12 00:50:26 -05:00
Ulrich Drepper
fe72eebd67
Remove unnecessary code from x86-32 SSSE3 strncmp
2011-11-08 07:50:20 -05:00
Andreas Schwab
0c92d8a87a
Fix some warning nits
2011-10-28 12:02:08 +02:00
Andreas Schwab
b43433460b
Move wide char related routines to wcsmbs subdir
2011-10-28 12:01:29 +02:00
Andreas Schwab
f6ce9294b0
Make math_force_eval accept non-addressable arguments
2011-10-26 11:44:08 +02:00
Ulrich Drepper
2fa2ae85ca
Fix strnlen change
2011-10-23 16:30:40 -04:00
Liubov Dmitrieva
fc2ee42abe
Add optimized wcslen and strnlen for x86-32
2011-10-23 15:17:23 -04:00
Michael Zolotukhin
979c70a3b1
Improve x86-32 SSSE3 memcpy
2011-10-23 14:28:26 -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
ed72b6545f
Check for FMA4 support and generate appropriate fma functions
2011-10-20 22:43:15 -04:00
Ulrich Drepper
79b195b55a
No need for boundary case handling in x86-32 __ieee_log
2011-10-15 22:21:53 -04:00
Ulrich Drepper
bcf01e6d80
Optimize exp
...
Add __exp*_finite optimizations and rewrite some wrappers.
2011-10-15 20:22:59 -04:00
Ulrich Drepper
ba1a0d5938
No need for boundary case handling in x86-32 __ieee_logf
2011-10-15 18:09:12 -04:00
Liubov Dmitrieva
be13f7bff6
Optimized memcmp and wmemcmp for x86-64 and x86-32
2011-10-15 11:10:08 -04:00
Ulrich Drepper
38ad40ceca
Optimize x86-32 log
2011-10-14 23:41:47 -04:00
Ulrich Drepper
f9e123204e
Fix whitespaces
2011-10-12 11:42:57 -04:00
Liubov Dmitrieva
951fbcec70
Optimized memchr, memrchr, rawmemchr for x86-32
2011-10-12 11:42:04 -04:00
Ulrich Drepper
0ac5ae2335
Optimize libm
...
libm is now somewhat integrated with gcc's -ffinite-math-only option
and lots of the wrapper functions have been optimized.
2011-10-12 11:27:51 -04:00
Andreas Schwab
3a62d00d40
Don't call ifunc functions in trace mode
2011-10-05 14:35:40 +02:00
Andreas Schwab
e529793b50
Avoid macro clash between <sys/select.h> and <linux/posix_types.h>
2011-09-13 15:16:38 +02:00
Ulrich Drepper
83cd142045
Remove --wth-tls option, TLS support is required
2011-09-11 15:02:01 -04:00
Ulrich Drepper
d063d16433
Remove support for !USE___THREAD
2011-09-10 16:50:28 -04:00
Petr Baudis
1248c1c415
Fix jn precision
2011-09-09 22:16:10 -04:00
Liubov Dmitrieva
48882a1abe
Fix up x86-32 section names for Atom code
2011-09-07 22:28:44 -04:00
Ulrich Drepper
ceaa0c5dc3
Move Atom-optimized code out of the way and together
2011-09-06 21:53:03 -04:00
Ulrich Drepper
b0fc1ff04e
Fix whitespaces
2011-09-05 17:12:27 -04:00
Liubov Dmitrieva
693fb94884
Optimized strchr and strrchr with SSE2 on x86-32
2011-09-05 17:11:11 -04:00
Ulrich Drepper
5fc11f0d64
Fix whitespaces
2011-09-05 13:54:51 -04:00
Ulrich Drepper
1b48c53782
Add x86-32 optimized wcscmp
2011-09-05 13:53:27 -04:00
Jiri Olsa
fbeb5f4db1
rtld, i386: Fix cfi directive in audit trampoline code
...
_dl_runtime_profile function has wrong cfi directive when
rewinding stack back for the pltexit path.
Only 8 bytes - 2 'pop edx' instructions from the pltentry-only
code should be rewinded back.
With attached patch, I'm able to rewind stack correctly
throught the rtld code from audit library callback.
2011-08-29 09:14:51 -04:00
Andreas Schwab
2cae499541
Fix spurious nop at start of __strspn_ia32
2011-08-23 15:53:51 +02:00
Roland McGrath
85ae058936
More warning patrol, in dead code (sigh).
2011-08-14 19:26:36 -07:00
Ulrich Drepper
b969a69b2e
Fix whitespaces
2011-08-04 15:38:35 -04:00
Liubov Dmitrieva
5fa16e9b01
Improve x86-32 strcat functions with SSE2/SSSE3
2011-08-04 15:33:38 -04:00
Andreas Schwab
8c1a459f9a
Fix inline strncat/strncmp on x86
2011-08-04 14:59:25 -04:00
Roland McGrath
db290cf592
Never use -mpreferred-stack-boundary=2 on i386, now disallowed by GCC.
2011-07-16 03:10:06 -07:00
Roland McGrath
661607b3dd
Quash a warning in strstr-c.c built for static.
2011-07-14 20:47:54 -07:00
H.J. Lu
acb0d739c5
Fix unwind info in 32bit SSE2/SSSE3 strncpy
2011-06-25 01:32:27 -04:00
H.J. Lu
0b1cbaaef5
Optimized st{r,p}{,n}cpy for SSE2/SSSE3 on x86-32
2011-06-24 14:15:32 -04:00
David S. Miller
42675c6ff0
Add an elf_ifunc_invoke interface so that architectures can implement
...
the ifunc resolver calls however they wish.
2011-06-20 19:56:40 -07:00
Jim Meyering
ded5b9b7c7
Remove doubled words.
2011-04-22 21:34:32 -04:00
Mike Frysinger
4c559bcdf3
Fix static linking with checking x86/x86-64 memcpy.
2011-04-17 22:20:47 -04:00
Ulrich Drepper
e6c6149412
Fix memory leak in TLS of loaded objects.
2011-04-10 22:43:01 -04:00
Ulrich Drepper
908ea63341
Regenerate.
2011-03-10 05:27:54 -05:00
H.J. Lu
435b95ebd0
AVX audit test failures with gcc 4.6
2011-02-02 19:28:44 -05:00
Ulrich Drepper
5e49c52efd
Fix alignment in x86 destructor calls.
2011-01-12 20:59:32 -05:00
Ulrich Drepper
f257bbd77d
Clean up some bits/select.h headers.
2011-01-09 16:49:17 -05:00
H.J. Lu
4a531bb0b3
Remove .ctors' and
.dtors' output sections
2010-12-24 20:14:37 -05:00
Ryan S. Arnold
30950a5fd2
Make PowerPC64 default to nonexecutable stack
2010-12-19 22:49:01 -05:00
Ulrich Drepper
283007197c
Undo accidental checkin.
2010-12-14 13:09:28 -05:00
Jakub Jelinek
42acbb92c8
Fix -D_FORTIFY_SOURCE memmove and bcop
2010-12-09 10:38:18 -05:00
H.J. Lu
3a4a2499ec
Remove dead code from x86-32 SSSE3 strncmp.
2010-12-01 22:18:31 -05:00
Ulrich Drepper
1e24cf6e6e
Relax libm tests for x86-32.
2010-11-30 14:57:57 -05:00
Ulrich Drepper
69da074d7a
Fix warnings in __bswap_16.
2010-11-10 02:38:35 -05:00
Ulrich Drepper
c0dde15b5d
32bit memset-sse2.S fails with uneven cache size
...
32bit memset-sse2.S assumes cache size is multiple of 128 bytes. If
it isn't true, memset-sse2.S will fail. For example, a processor can
have 24576 KB L3 cache and 20 cores. That is 2516582 byte per core. Half
of it is 1258291, which isn't helpful for vector instructions. This
patch rounds cache sizes to multiple of 256 bytes and adds "raw" cache
sizes.
2010-11-05 07:57:46 -04:00
Ulrich Drepper
18edac4857
Provide FP_FAST_FMA{,F,L} definitions for x86/x86-64.
2010-10-19 12:56:42 -04:00
Jakub Jelinek
3e692e0518
Implement fmal, some fma bugfixes
2010-10-15 15:26:06 -04:00
Jakub Jelinek
5e908464b9
Implement accurate fma.
2010-10-13 22:27:03 -04:00
Jakub Jelinek
9ff8d36f27
Correct implementation of fmaf.
2010-10-11 09:27:05 -04:00
Roland McGrath
6d34eb5b45
Add missing i686/multiarch/Makefile bit for shared x86_64 code.
2010-08-27 17:11:38 -07:00
Ulrich Drepper
c96d23fcaa
Fixup x86 after x86-64 varshift change.
2010-08-27 12:10:11 -07:00
H.J. Lu
e73015f2d6
Unroll 32bit SSE strlen and handle slow bsf
2010-08-25 10:07:37 -07:00
Richard Henderson
73f27d5e72
Clean up SSE variable shifts
2010-08-24 11:35:01 -07:00
Andreas Schwab
bdaa77bc20
Fix ifunc thunk for strspn on x86 in static libc
2010-08-19 07:42:16 -07:00
H.J. Lu
f8392f4004
Add -fno-asynchronous-unwind-tables to initfini.s for i386
2010-08-15 20:09:23 -07:00
Andi Kleen
d22e4cc939
x86: Add support for frame pointer less mcount
2010-08-07 21:24:05 -07:00
Andreas Schwab
b8934257ec
Add missing file from last commit.
2010-07-21 08:44:35 -07:00
Andreas Schwab
f6a31e0eb6
Add strcasestr-nonascii to i386 build
2010-07-21 07:26:18 -07:00
H.J. Lu
6cc2b8a6df
Fix bugs in x86-32 strcmp-sse4.S and strcmp-ssse3.S
2010-04-15 07:49:30 -07:00
H.J. Lu
a11ec63713
Add x86-32 FMA support
2010-04-14 22:27:59 -07:00
H.J. Lu
b170ff0f8f
Fix sysdeps/i386/i686/multiarch/memcmp-ssse3.S
2010-03-18 11:40:46 -07:00
H.J. Lu
01f1f5ee8b
Pass -mtune=i686 to assembler when compiling for i686
2010-03-04 21:30:17 -08:00
H.J. Lu
dc21aae6c1
Fix unwind info in x86 strcmp-sse4.S
2010-02-26 19:54:50 -08:00
H.J. Lu
3093e0c713
Fix issues in x86 memcpy-ssse3-rep.S
2010-02-24 18:26:30 -08:00
H.J. Lu
a0ac24d98a
Fix issues in x86 memcpy-ssse3.S
2010-02-24 18:20:57 -08:00
H.J. Lu
cc50f1a4b4
Fix issues in x86 memset-sse2.S/memset-sse2-rep.S
2010-02-24 18:11:35 -08:00
H.J. Lu
039c8ae6d5
Use CPUID_OFFSET instead of FEATURE_OFFSET
2010-02-18 23:11:21 -08:00
H.J. Lu
020ecba7fc
Align x86 memcmp-sse4.S and fix unwind info.
2010-02-17 23:01:55 -08:00
H.J. Lu
c60bce2cdd
Fix unwind info in x86 memcmp-ssse3.
2010-02-17 22:35:18 -08:00
H.J. Lu
28be6098c3
Simplify x86 strcmp-sse4 unwind info.
2010-02-17 22:27:41 -08:00
Ulrich Drepper
82abe82ad7
Fix and cleanup unwind info in x86 strcmp-ssse<F3>.
2010-02-17 22:13:55 -08:00
Ulrich Drepper
d22ae6cf50
Remove commented-out code.
2010-02-15 18:47:02 -08:00
Ulrich Drepper
6bb74d9f86
Fix up new x86 string functions.
2010-02-15 13:04:54 -08:00
H.J. Lu
904057bc17
32bit memcmp/strcmp/strncmp optimized for SSSE3/SSS4.2
2010-02-15 11:17:50 -08:00
Ulrich Drepper
0ee5660b7c
More compact unwind info.
2010-02-09 22:59:11 -08:00
Ulrich Drepper
1d7223f31a
Fix i386 __mpn_lshift unwind info
2010-02-09 22:54:36 -08:00
Andreas Schwab
7eb22e757e
Avoid PLT call to fegetenv on s390
2010-02-09 22:34:17 -08:00
H.J. Lu
cff0be8849
Support __memmove_ssse3_rep when SHARED isn't defined.
2010-01-19 12:20:57 -08:00
Ulrich Drepper
f9a97ddaff
Fix whitespace problems.
2010-01-12 11:28:17 -08:00
H.J. Lu
3af48cbdfa
Optimize 32bit memset/memcpy with SSE2/SSSE3.
2010-01-12 11:22:03 -08:00
H.J. Lu
2510d01ddb
Define bit_SSE2 and index_SSE2.
2009-12-13 15:23:02 -08:00
Andreas Schwab
b7805d0ba8
Correct errno handling in expm1.
2009-10-19 21:23:15 -07:00
Roland McGrath
7967983fd4
configure tweaks, support $libc_add_on_config_subdirs
2009-09-15 14:14:42 -07:00
Ulrich Drepper
04ef416adc
Fix IA-32 strstr in multiarch configuration as well.
2009-09-03 06:44:22 -07:00
H.J. Lu
5a4eb7282e
Remove ENABLE_SSSE3_ON_ATOM.
...
It turns that SSSE3 isn't slow on Atom. The problem is bsf. This patch
removes ENABLE_SSSE3_ON_ATOM.
2009-08-28 14:54:46 -07:00
Ulrich Drepper
7b943af6cf
Define math_errhandling is possible.
2009-08-24 10:33:57 -07:00
H.J. Lu
fc1870e6a4
Use PIC only if SHARED is defined.
...
For ia32, we can avoid PIC in IFUNC functions in static library.
2009-08-08 10:29:29 -07:00
Jim Meyering
a3d4298d83
Simplify cpuid.h configure test.
2009-08-08 10:25:58 -07:00
Ulrich Drepper
2d2f482e48
Fix whitespace in last patch.
2009-08-07 10:41:54 -07:00
H.J. Lu
0eca608d05
Add the missing "; \".
2009-08-07 10:40:45 -07:00
Ulrich Drepper
2c709c6f05
Add x86 SSE strlen.
2009-08-04 18:15:02 -07:00
H.J. Lu
02cea47161
Add x86 32-bit SSE4.2 string functions.
...
This patch adds 32bit SSE4.2 string functions. It uses -16L instead of
0xfffffffffffffff0L, which works for both 32bit and 64bit long. Tested
on 32bit Core i7 and Core 2.
2009-08-04 12:13:43 -07:00
Ulrich Drepper
5192104773
x86/x86-64 now needs <cpuid.h> from gcc.
2009-08-02 10:38:44 -07:00
H.J. Lu
6f6f1215f6
Support multiarch for i686.
...
This patch adds multiarch support when configured for i686. I modified
some x86-64 functions to support 32bit. I will contribute 32bit SSE string
and memory functions later.
2009-07-31 11:53:35 -07:00
Ulrich Drepper
5b938b2543
Remove CHEC_ESP handling from i386 __longjmp.
2009-07-31 07:20:45 -07:00
Ulrich Drepper
da97dfdcfa
Add sigstack handling to Linux ____longjmp_chk on i386.
...
All other i386 ports need to provide their own versions.
2009-07-30 21:50:14 -07:00
H.J. Lu
06e51c8f3d
Add SSE4.2 support for strcspn, strpbrk, and strspn on x86-64.
2009-07-03 02:48:56 -07:00
Jakub Jelinek
0212596218
libc part of prelink IFUNC support.
...
The dl-lookup.c changes are needed for prelink (support in prelink
checked into SVN, tested for both i?86 and x86-64), dl-irel.h just
something I discovered by code inspection.
2009-06-15 07:46:53 -07:00
Ulrich Drepper
fd96f06208
Small optimization of STT_GNU_IFUNC handling.
...
The test to call the indirect function now includes a subtest to
checked whether the symbol is defined. When coming to that point
this is almost always the case. The test for STT_GNU_IFUNC on the
other hand rarely is true. Move it to the front means we don't have
to perform the second test unless really necessary.
2009-06-01 11:49:05 -07:00
Ulrich Drepper
b7629ee33f
Better error message for invalid relocatio in static binary.
2009-06-01 11:39:24 -07:00
Ulrich Drepper
7441470835
Finish IFUNC support for x86 and x86-64.
...
Add support for the IRELAIVE relocation and IFUNC in static executables.
2009-05-31 23:45:33 -07:00
H.J. Lu
e7535de78f
Add missing .text directives.
...
The ____longjmp_chk functions on x86 and x86-64 were placed in .rodata.str1.1.
2009-05-21 18:38:11 -07:00
Ulrich Drepper
b50f8e42ba
Check for valid stack frame in longjmp.
...
If longjmp restores the stack frame to an address which is beyond
the stack frame at the time of the longjmp call it would install
an uninitialized stack frame. If compiled with _FORTIFY_SOURCE
defined, longjmp will now bail out in this situation.
2009-05-15 19:37:13 -07:00
Ulrich Drepper
337c270829
* sysdeps/i386/fpu/s_tan.S: Set errno for ±Inf.
...
* sysdeps/i386/fpu/s_tanf.S: Likewise.
* sysdeps/i386/fpu/s_tanl.S: Likewise.
* sysdeps/ieee754/dbl-64/s_tan.c: Likewise.
* sysdeps/ieee754/flt-32/s_tanf.c: Likewise.
* sysdeps/x86_64/fpu/s_tanl.S: Likewise.
* math/libm-test.inc: Add tests for errno after tan calls with
±Inf.
2009-04-26 05:42:49 +00:00
Ulrich Drepper
0c59a1963e
* sysdeps/i386/fpu/s_cos.S: Set errno for ±Inf.
...
* sysdeps/i386/fpu/s_cosf.S: Likewise.
* sysdeps/i386/fpu/s_cosl.S: Likewise.
* sysdeps/i386/fpu/s_sin.S: Likewise.
* sysdeps/i386/fpu/s_sinf.S: Likewise.
* sysdeps/i386/fpu/s_sinl.S: Likewise.
* sysdeps/ieee754/dbl-64/s_sin.c: Likewise.
* sysdeps/ieee754/flt-32/s_cosf.c: Likewise.
* sysdeps/ieee754/flt-32/s_sinf.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_cosl.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_sinl.c: Likewise.
* sysdeps/x86_64/fpu/s_cosl.S: Likewise.
* sysdeps/x86_64/fpu/s_sinl.S: Likewise.
* math/libm-test.inc: Add tests for errno after sin/cos calls with
±Inf.
2009-04-26 01:04:54 +00:00
Ulrich Drepper
f81ce2888d
* sysdeps/i386/dl-machine.h (elf_machine_rel): Implement
...
STT_GNU_IFUNC handling.
(elf_machine_rela): Likewise.
2009-03-14 15:54:49 +00:00
Jakub Jelinek
d82a27f841
* stdlib/monetary.h: Uglify function parameter names.
...
* sunrpc/rpc/pmap_clnt.h: Likewise.
* sunrpc/rpc/svc.h: Likewise.
* sunrpc/rpc/xdr.h: Likewise.
* sunrpc/rpc/clnt.h: Likewise.
* resolv/netdb.h: Likewise.
* resolv/arpa/nameser.h: Likewise.
* resolv/resolv.h: Likewise.
* argp/argp.h: Likewise.
* locale/langinfo.h: Likewise.
* io/sys/stat.h: Likewise.
* posix/spawn.h: Likewise.
* nis/rpcsvc/nislib.h: Likewise.
* malloc/obstack.h: Likewise.
* sysdeps/ia64/bits/link.h: Likewise.
* sysdeps/i386/bits/link.h: Likewise.
* sysdeps/s390/bits/link.h: Likewise.
* sysdeps/powerpc/bits/link.h: Likewise.
* sysdeps/x86_64/bits/link.h: Likewise.
* sysdeps/sparc/bits/link.h: Likewise.
* sysdeps/sh/bits/link.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise.
* sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.
2009-02-16 Jakub Jelinek <jakub@redhat.com>
* stdlib/monetary.h: Uglify function parameter names.
* sunrpc/rpc/pmap_clnt.h: Likewise.
* sunrpc/rpc/svc.h: Likewise.
* sunrpc/rpc/xdr.h: Likewise.
* sunrpc/rpc/clnt.h: Likewise.
* resolv/netdb.h: Likewise.
* resolv/arpa/nameser.h: Likewise.
* resolv/resolv.h: Likewise.
* argp/argp.h: Likewise.
* locale/langinfo.h: Likewise.
* io/sys/stat.h: Likewise.
* posix/spawn.h: Likewise.
* nis/rpcsvc/nislib.h: Likewise.
* malloc/obstack.h: Likewise.
* sysdeps/ia64/bits/link.h: Likewise.
* sysdeps/i386/bits/link.h: Likewise.
* sysdeps/s390/bits/link.h: Likewise.
* sysdeps/powerpc/bits/link.h: Likewise.
* sysdeps/x86_64/bits/link.h: Likewise.
* sysdeps/sparc/bits/link.h: Likewise.
* sysdeps/sh/bits/link.h: Likewise.
* sysdeps/unix/sysv/linux/i386/sys/io.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sys/io.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sys/eventfd.h: Likewise.
* sysdeps/unix/sysv/linux/sys/eventfd.h: Likewise.
2009-02-16 21:00:15 +00:00
Ulrich Drepper
6c03cd11e9
* include/atomic.h: Define catomic_and if not already defined.
...
* sysdeps/x86_64/bits/atomic.h: Define catomic_and.
* sysdeps/i386/i486/bits/atomic.h: Likewise.
2009-02-08 23:50:23 +00:00
Ulrich Drepper
647925b260
* sysdeps/i386/stackinfo.h (stackinfo_get_sp): Define.
...
(stackinfo_sub_sp): Define.
2009-01-29 15:36:26 +00:00