Commit graph

16832 commits

Author SHA1 Message Date
Roland McGrath 464dc022eb Improve backtrace_symbols{,_fd} output when missing symbols. 2009-08-20 15:31:08 -07:00
Ulrich Drepper 677760a307 Fix 64-bit platform handling in test cases for generated headers with constants. 2009-08-16 00:39:43 -07:00
Ulrich Drepper 85fda49b96 Improve test-skeleton.c to clean up after dead parent. 2009-08-14 00:42:51 -07:00
Ulrich Drepper ae0d545003 Add CFI directives to x86-64 pthread_rwlock_unlock. 2009-08-11 20:47:36 -07:00
Ulrich Drepper 1bc2b97ee4 Add CFI directives to x86-64 pthread_rwlock_{rd,wr)lock. 2009-08-10 11:26:16 -07:00
SUGIOKA Toshinobu 78fd882a7b SH: fix clobber list in stdlib/longlong.h 2009-08-10 08:12:49 -07:00
Andreas Schwab ec4922395b Fix check for PI mutex in x86-64 pthread_cond_signal
Register eax contains the syscall number, use a different one instead.
2009-08-10 08:10:11 -07:00
Ulrich Drepper efa0569d2b Optimize x86-64 version of sem_timedwait. 2009-08-08 17:48:09 -07:00
Ulrich Drepper 5d368296ea Remove duplicate NEWS entry. 2009-08-08 11:01:04 -07:00
Ulrich Drepper 4bc1b89611 Yet more news items. 2009-08-08 10:57:59 -07:00
H.J. Lu 4e1e2f4247 Support mixed SSE/AVX audit and check AVX only once.
This patch fixes mixed SSE/AVX audit and checks AVX only once in
_dl_runtime_profile. When an AVX or SSE register value in pltenter is
modified, we have to make sure that the SSE part value is the same in both
lr_xmm and lr_vector fields so that pltexit will get the correct value
from either lr_xmm or lr_vector fields. AVX-enabled pltenter should
update both lr_xmm and lr_vector fields to support stacked AVX/SSE
pltenter functions.
2009-08-08 10:54:42 -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 49eea97b00 Another minor optimization of x86-64 pthread_cond_wait. 2009-08-08 10:21:46 -07:00
Ulrich Drepper 8e436522e1 Move SSE4.2 functions together. 2009-08-08 09:38:32 -07:00
Ulrich Drepper 9d36a6c410 Add some news items. 2009-08-08 09:13:02 -07:00
Ulrich Drepper 0fda545d5f Add SSSE3-optimized implementation of str{,n}cmp for x86-64. 2009-08-07 22:51:02 -07:00
Ulrich Drepper 9083bcc5dc Small optimizations to cancellable x86-64 code. 2009-08-07 20:36:53 -07:00
Ulrich Drepper 57b378ac89 Avoid warning through fake initialization. 2009-08-07 16:19:54 -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
Andreas Schwab 7bc513cf18 Fix expanding STB_GNU_UNIQUE hash table.
An invalid symbol name pointer was entered into the hash table while
enlarging it.
2009-08-07 10:39:55 -07:00
Ulrich Drepper 3aa2588d4a Fix whitespaces in last checkin. 2009-08-07 09:47:12 -07:00
H.J. Lu a546baa9cd Properly count number of logical processors on Intel CPUs.
The meaning of the 25-14 bits in EAX returned from cpuid with EAX = 4
has been changed from "the maximum number of threads sharing the cache"
to "the maximum number of addressable IDs for logical processors sharing
the cache" if cpuid takes EAX = 11.  We need to use results from both
EAX = 4 and EAX = 11 to get the number of threads sharing the cache.

The 25-14 bits in EAX on Core i7 is 15 although the number of logical
processors is 8.  Here is a white paper on this:

http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/

This patch correctly counts number of logical processors on Intel CPUs
with EAX = 11 support on cpuid.  Tested on Dinnington, Core i7 and
Nehalem EX/EP.

It also fixed Pentium Ds workaround since EBX may not have the right
value returned from cpuid with EAX = 1.
2009-08-07 09:39:36 -07:00
Andreas Schwab 77c84aeb81 Fix sed expression in TAGS command.
The backslash-newline pair is interpreted as the beginning of an address
regex.
2009-08-07 10:41:30 +02:00
Andreas Schwab 0eb258d291 Ignore TAGS. 2009-08-06 13:29:14 +02: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 421665c40a Optimize x86-64 syscall cancellation handling.
The syscall wrappers had to save and restore the syscall parameter
values and return value when calling the functions to enable/disable
cancellation were called.  Not anymore.  The called functions are
special and don't modify any unexpected registers.
2009-08-04 11:03:46 -07:00
Ulrich Drepper 4a1377672c Remove leftover code from Linux/x86 ____longjmp_chk. 2009-08-02 21:51:37 -07:00
Ulrich Drepper 5192104773 x86/x86-64 now needs <cpuid.h> from gcc. 2009-08-02 10:38:44 -07:00
Ulrich Drepper 9663bb3e2c Remove last trace of bounded pointer handling from ____longjmp_chk on x86-64. 2009-08-01 14:18:58 -07:00
Ulrich Drepper bd03a1afa2 Macro cleanup.
Better definition of the *_NITSET macros.
2009-07-31 22:30:30 -07:00
Ulrich Drepper 52ec0eb3db Merge branch 'master' of file:///net/myware66/home/drepper/gnu/libc 2009-07-31 21:50:00 -07:00
Ulrich Drepper 22d94a7bc9 Regenerated. 2009-07-31 21:48:59 -07:00
Ulrich Drepper e4143e7a06 Optimize x86 and x86-64 ____longjmp_chk for Linux. 2009-07-31 17:27:38 -07:00
Ulrich Drepper 66ae9e50a3 Fix ____longjmp_chk on x86-64.
After a recent change to fix CFI in ____longjmp_chk the test of the
ss_flags used the wrong memory location.
2009-07-31 12:57:45 -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
Jakub Jelinek 1877ea16ca Fix obstack* on i?86
obstack calls several callbacks, so on i?86 it'd better be compiled
without -mpreferred-stack-boundary=2, otherwise the callbacks are called
with misaligned stack.
2009-07-31 07:26:36 -07:00
Ulrich Drepper 5b938b2543 Remove CHEC_ESP handling from i386 __longjmp. 2009-07-31 07:20:45 -07:00
Ulrich Drepper 57dbdb9f07 Whitespace cleanup. 2009-07-30 21:51:56 -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
Ulrich Drepper 98b1e6c866 ____longjmp_chk is now OS-specific.
We use sigaltstack internally which on some systems is a syscall
and should be used as such.  Move the x86-64 version to the Linux
specific directory and create in its place a file which always
causes compile errors.
2009-07-30 21:42:27 -07:00
Ulrich Drepper 8e80581787 Change code a bit to correct CFI. 2009-07-30 21:29:27 -07:00
Ulrich Drepper 07df809969 Optimize ____longjmp_chk for x86-64 a bit. 2009-07-30 20:09:30 -07:00
Ulrich Drepper 85d9d2f3a0 Add CFLAGS definition missing from last patch. 2009-07-30 19:46:46 -07:00
Ulrich Drepper a9a0442081 Add test case for ____longjmp_chk vs signal stacks. 2009-07-30 17:48:58 -07:00
Ulrich Drepper 5ead9ce5c7 Fix x86-64 ____longjmp_chk to handle signal stacks.
The simple test previously used might trigger if the longjmp jumps
from the signal stack to the normal stack.  We now explicitly test
for this case.
2009-07-30 17:31:48 -07:00
Ulrich Drepper 2dec6007d1 Stop backtrace when we make no more progress. 2009-07-30 16:53:52 -07:00
Ulrich Drepper 78c4ef475d Add support for x86-64 fma instruction.
Use it to implement fma and fmaf, if possible.
2009-07-29 15:26:06 -07:00