Commit Graph

1043 Commits

Author SHA1 Message Date
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
Ulrich Drepper
9b1c750e81 * sysdeps/i386/fpu/libm-test-ulps: Adjust expm1 errors. 2009-01-09 08:38:54 +00:00
Ulrich Drepper
71885b7a91 * sysdeps/i386/dl-tlsdesc.S (_dl_tlsdesc_dynamic): Use LOAD_PIC_REG
instead of doing things manually.
2008-12-06 00:15:34 +00:00
Ulrich Drepper
9523fd2806 * sysdeps/i386/fpu/s_expm1l.S: Simply use exp implementation for large
parameters.
	* sysdeps/x86_64/fpu/s_expm1l.S: Likewise.
	Patch by Denys Vlasenko <dvlasenk@redhat.com>.

	* nscd/connections.c (nscd_init): Typo in preprocessor directive.
2008-08-05 22:08:42 +00:00
Ulrich Drepper
b41f1d14f2 * sysdeps/i386/i686/memcmp.S: Fix unwind information.
Reported by Paul Pluzhnikov <ppluzhnikov@google.com>.
2008-07-26 05:27:49 +00:00
Ulrich Drepper
2f9a1be867 [BZ #6442]
* string/endian.h: Add macros for fixed-size endian conversion.
	* bits/byteswap.h: Allow inclusion from <endian.h>.
	* sysdeps/i386/bits/byteswap.h: Likewise.
	* sysdeps/ia64/bits/byteswap.h: Likewise.
	* sysdeps/s390/bits/byteswap.h: Likewise.
	* sysdeps/x86_64/bits/byteswap.h: Likewise.
	* string/Makefile (tests): Add tst-endian.
	* string/tst-endian.c: New file.
2008-05-15 02:54:33 +00:00
Ulrich Drepper
f05ac8f503 * po/lt.po: New file. From Lituanian translation team.
sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	sysdep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
2008-05-13 22:49:03 +00:00
Ulrich Drepper
c9ff0187a6 Introduce TLS descriptors for i386 and x86_64.
* include/inline-hashtab.h: New file, copied from 2005's
	libiberty, with fix for memory leak imported afterwards by
	Glauber de Oliveira Costa.
	* elf/tlsdeschtab.h: New file.
	* elf/dl-reloc.c (_dl_try_allocate_static_tls): Extract from...
	(_dl_allocate_static_tls): ... here.  Rearrange failure path.
	(CHECK_STATIC_TLS): Move to...
	* elf/dynamic-link.h: ... this file.
	(TRY_STATIC_TLS): New macro.
	* elf/dl-conflict.c (CHECK_STATIC_TLS, TRY_STATIC_TLS): Override.
	* elf/elf.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL,
	R_386_TLS_DESC): Define.
	(R_X86_64_PC64, R_X86_GOTOFF64, R_X86_64_GOTPC32): Merge from
	binutils.
	(R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL,
	R_X86_64_TLSDESC): Define.
	(R_386_NUM, R_X86_64_NUM): Adjust.
	* sysdeps/i386/Makefile (sysdep-dl-routines, sysdep_routines,
	systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	(gen-as-const-headers): Add tlsdesc.sym to csu subdir.
	* sysdeps/i386/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
	release tlsdesc_table.
	* sysdeps/i386/dl-machine.h: Include dl-tlsdesc.h.
	(elf_machine_type_class): Mark R_386_TLS_DESC as PLT class.
	(elf_machine_rel): Handle R_386_TLS_DESC.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	(elf_machine_lazy_rela): Likewise.
	* sysdeps/i386/dl-tls.h (struct dl_tls_index): Name it.
	* sysdeps/i386/dl-tlsdesc.S: New file.
	* sysdeps/i386/dl-tlsdesc.h: New file.
	* sysdeps/i386/tlsdesc.c: New file.
	* sysdeps/i386/tlsdesc.sym: New file.
	* sysdeps/i386/bits/linkmap.h (struct link_map_machine): Add
	tlsdesc_table.
	* sysdeps/x86_64/Makefile (sysdep-dl-routines, sysdep_routines,
	systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir.
	(gen-as-const-headers): Add tlsdesc.sym to csu subdir.
	* sysdeps/x86_64/dl-lookupcfg.h: New file.  Introduce _dl_unmap to
	release tlsdesc_table.
	* sysdeps/x86_64/dl-machine.h: Include dl-tlsdesc.h.
	(elf_machine_runtime_setup): Set up lazy TLSDESC GOT entry.
	(elf_machine_type_class): Mark R_X86_64_TLSDESC as PLT class.
	(elf_machine_rel): Handle R_X86_64_TLSDESC.
	(elf_machine_rela): Likewise.
	(elf_machine_lazy_rel): Likewise.
	* sysdeps/x86_64/dl-tls.h (struct dl_tls_index): Name it.
	(__tls_get_addr): Do not declare for non-shared compiles.
	* sysdeps/x86_64/dl-tlsdesc.S: New file.
	* sysdeps/x86_64/dl-tlsdesc.h: New file.
	* sysdeps/x86_64/tlsdesc.c: New file.
	* sysdeps/x86_64/tlsdesc.sym: New file.
	* sysdeps/x86_64/bits/linkmap.h (struct link_map_machine): Add
	tlsdesc_table for both 32- and 64-bit structs.
2008-05-13 05:41:30 +00:00
Ulrich Drepper
cf3a8c7f42 * elf/tls-macros.h (__TLS_GET_ADDR): Define according to the ABI
in use.
	(TLS_LD): Use __TLS_GET_ADDR instead of .__tls_get_addr.
	(TLS_GD): Likewise.
2008-04-11 21:04:10 +00:00
Ulrich Drepper
2120860435 [BZ #4314]
* sysdeps/i386/i686/memcpy.S: Optimize copying of aligned buffers.
2008-04-09 20:01:52 +00:00
Ulrich Drepper
b4b166af4f * sysdeps/i386/fpu/ftestexcept.c (fetestexcept): Use short for fnstsw. 2008-01-22 18:58:31 +00:00
Ulrich Drepper
a78814a99a [BZ #5477]
2007-12-12  Jakub Jelinek  <jakub@redhat.com>
	* sysdeps/i386/i486/bits/string.h (memmove): Define as macro.
	(memmove): Rename to __memmove_g, with __asm__ ("memmove").
	* sysdeps/s390/bits/string.h (__strlen_g, __strcpy_g, __strncpy_g,
	__strcat_g, __strncat_g): Add __asm__.

2007-12-12  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5477]
	* io/fchmodat.c: Fix typo in stub_warning use.
	Patch by Petr Salinger.
2007-12-12 18:03:27 +00:00