Commit Graph

958 Commits

Author SHA1 Message Date
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