external/glibc.git
15 years agoRemove leftover code from Linux/x86 ____longjmp_chk.
Ulrich Drepper [Mon, 3 Aug 2009 04:51:37 +0000 (21:51 -0700)]
Remove leftover code from Linux/x86 ____longjmp_chk.

15 years agox86/x86-64 now needs <cpuid.h> from gcc.
Ulrich Drepper [Sun, 2 Aug 2009 17:38:44 +0000 (10:38 -0700)]
x86/x86-64 now needs <cpuid.h> from gcc.

15 years agoRemove last trace of bounded pointer handling from ____longjmp_chk on x86-64.
Ulrich Drepper [Sat, 1 Aug 2009 21:18:58 +0000 (14:18 -0700)]
Remove last trace of bounded pointer handling from ____longjmp_chk on x86-64.

15 years agoMacro cleanup.
Ulrich Drepper [Sat, 1 Aug 2009 05:30:30 +0000 (22:30 -0700)]
Macro cleanup.

Better definition of the *_NITSET macros.

15 years agoMerge branch 'master' of file:///net/myware66/home/drepper/gnu/libc
Ulrich Drepper [Sat, 1 Aug 2009 04:50:00 +0000 (21:50 -0700)]
Merge branch 'master' of file:///net/myware66/home/drepper/gnu/libc

15 years agoRegenerated.
Ulrich Drepper [Sat, 1 Aug 2009 04:48:59 +0000 (21:48 -0700)]
Regenerated.

15 years agoOptimize x86 and x86-64 ____longjmp_chk for Linux.
Ulrich Drepper [Sat, 1 Aug 2009 00:27:38 +0000 (17:27 -0700)]
Optimize x86 and x86-64 ____longjmp_chk for Linux.

15 years agoFix ____longjmp_chk on x86-64.
Ulrich Drepper [Fri, 31 Jul 2009 19:57:45 +0000 (12:57 -0700)]
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.

15 years agoSupport multiarch for i686.
H.J. Lu [Fri, 31 Jul 2009 18:53:35 +0000 (11:53 -0700)]
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.

15 years agoFix obstack* on i?86
Jakub Jelinek [Fri, 31 Jul 2009 14:26:36 +0000 (07:26 -0700)]
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.

15 years agoRemove CHEC_ESP handling from i386 __longjmp.
Ulrich Drepper [Fri, 31 Jul 2009 14:20:45 +0000 (07:20 -0700)]
Remove CHEC_ESP handling from i386 __longjmp.

15 years agoWhitespace cleanup.
Ulrich Drepper [Fri, 31 Jul 2009 04:51:56 +0000 (21:51 -0700)]
Whitespace cleanup.

15 years agoAdd sigstack handling to Linux ____longjmp_chk on i386.
Ulrich Drepper [Fri, 31 Jul 2009 04:50:14 +0000 (21:50 -0700)]
Add sigstack handling to Linux ____longjmp_chk on i386.

All other i386 ports need to provide their own versions.

15 years ago____longjmp_chk is now OS-specific.
Ulrich Drepper [Fri, 31 Jul 2009 04:42:27 +0000 (21:42 -0700)]
____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.

15 years agoChange code a bit to correct CFI.
Ulrich Drepper [Fri, 31 Jul 2009 04:29:27 +0000 (21:29 -0700)]
Change code a bit to correct CFI.

15 years agoOptimize ____longjmp_chk for x86-64 a bit.
Ulrich Drepper [Fri, 31 Jul 2009 03:09:30 +0000 (20:09 -0700)]
Optimize ____longjmp_chk for x86-64 a bit.

15 years agoAdd CFLAGS definition missing from last patch.
Ulrich Drepper [Fri, 31 Jul 2009 02:46:46 +0000 (19:46 -0700)]
Add CFLAGS definition missing from last patch.

15 years agoAdd test case for ____longjmp_chk vs signal stacks.
Ulrich Drepper [Fri, 31 Jul 2009 00:48:58 +0000 (17:48 -0700)]
Add test case for ____longjmp_chk vs signal stacks.

15 years agoFix x86-64 ____longjmp_chk to handle signal stacks.
Ulrich Drepper [Fri, 31 Jul 2009 00:31:48 +0000 (17:31 -0700)]
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.

15 years agoStop backtrace when we make no more progress.
Ulrich Drepper [Thu, 30 Jul 2009 23:53:52 +0000 (16:53 -0700)]
Stop backtrace when we make no more progress.

15 years agoAdd support for x86-64 fma instruction.
Ulrich Drepper [Wed, 29 Jul 2009 22:26:06 +0000 (15:26 -0700)]
Add support for x86-64 fma instruction.

Use it to implement fma and fmaf, if possible.

15 years agoPrepare use if IFUNC functions outside libc.so.
Ulrich Drepper [Wed, 29 Jul 2009 22:22:28 +0000 (15:22 -0700)]
Prepare use if IFUNC functions outside libc.so.

We use a callback function into libc.so to get access to the data
structure with the information and have special versions of the test
macros which automatically use this function.

15 years agoFix x86-64 TCB alignment for future processor versions.
Ulrich Drepper [Wed, 29 Jul 2009 16:01:04 +0000 (09:01 -0700)]
Fix x86-64 TCB alignment for future processor versions.

15 years agoImprove CFI in x86-64 ld.so trampoline code.
Ulrich Drepper [Wed, 29 Jul 2009 15:50:03 +0000 (08:50 -0700)]
Improve CFI in x86-64 ld.so trampoline code.

15 years agoProperly restore AVX registers on x86-64.
H.J. Lu [Wed, 29 Jul 2009 15:40:54 +0000 (08:40 -0700)]
Properly restore AVX registers on x86-64.

tst-audit4 and tst-audit5 fail under AVX emulator due to je instead of
jne. This patch fixes them.

15 years agoPreserve SSE registers in runtime relocations on x86-64.
Ulrich Drepper [Wed, 29 Jul 2009 15:33:03 +0000 (08:33 -0700)]
Preserve SSE registers in runtime relocations on x86-64.

SSE registers are used for passing parameters and must be preserved
in runtime relocations.  This is inside ld.so enforced through the
tests in tst-xmmymm.sh.  But the malloc routines used after startup
come from libc.so and can be arbitrarily complex.  It's overkill
to save the SSE registers all the time because of that.  These calls
are rare.  Instead we save them on demand.  The new infrastructure
put in place in this patch makes this possible and efficient.

15 years agoFix bookkeeping of static TLS block for TLS_TCB_AT_TP architectures.
Ulrich Drepper [Wed, 29 Jul 2009 04:58:32 +0000 (21:58 -0700)]
Fix bookkeeping of static TLS block for TLS_TCB_AT_TP architectures.

15 years agoFix bookkeeping in mutex when using requeue_pi.
Ulrich Drepper [Tue, 28 Jul 2009 16:40:39 +0000 (09:40 -0700)]
Fix bookkeeping in mutex when using requeue_pi.

15 years agopthread_mutex_unlock needs to use _rel semantics for atomic ops.
Ulrich Drepper [Mon, 27 Jul 2009 20:46:56 +0000 (13:46 -0700)]
pthread_mutex_unlock needs to use _rel semantics for atomic ops.

15 years agoRevert "Memory ordering in pthread_mutex_{,timed}lock."
Ulrich Drepper [Mon, 27 Jul 2009 20:43:01 +0000 (13:43 -0700)]
Revert "Memory ordering in pthread_mutex_{,timed}lock."

This reverts commit 7b7f43bed134db6a0da34282fffcbf0af10d4613.

15 years agoRefine testing for xmm/ymm register use in x86-64 ld.so.
Ulrich Drepper [Mon, 27 Jul 2009 20:40:27 +0000 (13:40 -0700)]
Refine testing for xmm/ymm register use in x86-64 ld.so.

The test now takes the callgraph into account.  Only code called
during runtime relocation is affected by the limitation.  We now
determine the affected object files as closely as possible from
the outside.  This allowed to remove some the specializations
for some of the string functions as they are only used in other
code paths.

15 years agoBreak out _dl_scope_free into its own file.
Ulrich Drepper [Mon, 27 Jul 2009 20:23:00 +0000 (13:23 -0700)]
Break out _dl_scope_free into its own file.

This reduces the coarse static callgraph that can be discovered by
looking at the object files.

15 years agoDefine and implement RES_USE_DNSSEC option in resolver.
Adam Tkac [Mon, 27 Jul 2009 14:33:48 +0000 (07:33 -0700)]
Define and implement RES_USE_DNSSEC option in resolver.

15 years agoFix STB_GNU_UNIQUE handling for > 30 unique symbols.
Jakub Jelinek [Mon, 27 Jul 2009 14:25:57 +0000 (07:25 -0700)]
Fix STB_GNU_UNIQUE handling for > 30 unique symbols.

There were several issues when the initial 31 entries hashtab filled up.
size * 3 <= tab->n_elements is always false, table can't have more elements
than its size.  I assume from libiberty/hashtab.c this meant to be check for
3/4 full.  Even after fixing that, _dl_higher_prime_number (31) apparently
returns 31, only _dl_higher_prime_number (32) returns 61.  And, size
variable wasn't updated during reallocation, which means during reallocation
the insertion of the new entry was done into a wrong spot.

All this lead to a hang in ld.so, because a search with n_elements 31 size
31 wouldn't ever terminate.

15 years agoNo need for special strcmp for rtld.
Ulrich Drepper [Mon, 27 Jul 2009 13:55:04 +0000 (06:55 -0700)]
No need for special strcmp for rtld.

15 years agoMake sure no code in ld.so uses xmm/ymm registers on x86-64.
Ulrich Drepper [Sun, 26 Jul 2009 23:10:00 +0000 (16:10 -0700)]
Make sure no code in ld.so uses xmm/ymm registers on x86-64.

This patch introduces a test to make sure no function modifies the
xmm/ymm registers.  With the exception of the auditing functions.

The test is probably too pessimistic.  All code linked into ld.so
is checked.  Perhaps at some point the callgraph starting from
_dl_fixup and _dl_profile_fixup is checked and we can start using
faster SSE-using functions in parts of ld.so.

15 years agoAdd missing ChangeLog entry for last checkin.
Ulrich Drepper [Sun, 26 Jul 2009 20:37:45 +0000 (13:37 -0700)]
Add missing ChangeLog entry for last checkin.

15 years agoAdd SSE2 support to str{,n}cmp for x86-64.
H.J. Lu [Sun, 26 Jul 2009 20:32:28 +0000 (13:32 -0700)]
Add SSE2 support to str{,n}cmp for x86-64.

15 years agoMemory ordering in pthread_mutex_{,timed}lock.
Ulrich Drepper [Sun, 26 Jul 2009 20:00:04 +0000 (13:00 -0700)]
Memory ordering in pthread_mutex_{,timed}lock.

All commits should have happened before the mutex lock is taken.
Therefore use the _rel variant of the cmpxchg atomic op.

15 years agoCompatibility of signalfd/eventfd with older kernels.
Ulrich Drepper [Sun, 26 Jul 2009 19:55:03 +0000 (12:55 -0700)]
Compatibility of signalfd/eventfd with older kernels.

15 years agoHandle SERVFAIL, NOTIMP, REFUSED replies from DNS server better.
Ulrich Drepper [Sun, 26 Jul 2009 19:16:24 +0000 (12:16 -0700)]
Handle SERVFAIL, NOTIMP, REFUSED replies from DNS server better.

When doing IPv4+6 lookups we have to pass up the error record from
send_dg.

15 years agoDefine NT_GNU_GOLD_VERSION.
Ulrich Drepper [Sun, 26 Jul 2009 15:26:43 +0000 (08:26 -0700)]
Define NT_GNU_GOLD_VERSION.

15 years agoSome some optimizations for x86-64 strcmp.
H.J. Lu [Sun, 26 Jul 2009 02:15:14 +0000 (19:15 -0700)]
Some some optimizations for x86-64 strcmp.

15 years agoHandle missing NSS modules and those without callbacks.
Ulrich Drepper [Sat, 25 Jul 2009 19:29:04 +0000 (12:29 -0700)]
Handle missing NSS modules and those without callbacks.

getaddrinfo didn't update the status variable in that round of the
loop if no callback was used.

15 years agoOptimize x86-64 SSE4.2 strcmp.
Ulrich Drepper [Sat, 25 Jul 2009 19:02:47 +0000 (12:02 -0700)]
Optimize x86-64 SSE4.2 strcmp.

The file contained some code which was never used.  Don't compile it
in.

15 years agoDon't automatically use /lib/modules/* headers.
Ulrich Drepper [Fri, 24 Jul 2009 20:01:17 +0000 (13:01 -0700)]
Don't automatically use /lib/modules/* headers.

Ever since the /usr/include/linux headers got cleaned up this isn't
necessary.  Meanwhile everybody should have these cleanups.

15 years agoMore white space fixes.
Ulrich Drepper [Fri, 24 Jul 2009 15:34:47 +0000 (08:34 -0700)]
More white space fixes.

15 years agoWhite space fixes in last checkin.
Ulrich Drepper [Fri, 24 Jul 2009 15:32:47 +0000 (08:32 -0700)]
White space fixes in last checkin.

15 years agoS/390: Hardware iconv modules.
Andreas Krebbel [Fri, 24 Jul 2009 15:29:06 +0000 (08:29 -0700)]
S/390: Hardware iconv modules.

15 years agoCheck for .cfi_{personality,lsda} on x86-64.
Ulrich Drepper [Fri, 24 Jul 2009 00:15:56 +0000 (17:15 -0700)]
Check for .cfi_{personality,lsda} on x86-64.

We need this support in NPTL now to avoid the hand-coded tables.

15 years agoFix pthread_cond_timedwait error handling on old kernels.
Ulrich Drepper [Thu, 23 Jul 2009 23:39:06 +0000 (16:39 -0700)]
Fix pthread_cond_timedwait error handling on old kernels.

15 years agoAvoid cpuid instructions in cache info discovery.
Ulrich Drepper [Thu, 23 Jul 2009 21:03:53 +0000 (14:03 -0700)]
Avoid cpuid instructions in cache info discovery.

When multiarch is enabled we have this information stored.  Use it.

15 years agoAdd more cache descriptors for L3 caches on x86 and x86-64.
Ulrich Drepper [Thu, 23 Jul 2009 20:42:46 +0000 (13:42 -0700)]
Add more cache descriptors for L3 caches on x86 and x86-64.

The most recent AP 485 describes a few more cache descriptors for
L3 caches with 24-way associativity.

15 years agoPerform test for Arom x86-64 in central place and handle it.
Ulrich Drepper [Thu, 23 Jul 2009 20:15:17 +0000 (13:15 -0700)]
Perform test for Arom x86-64 in central place and handle it.

There will be more than one function which, in multiarch mode, wants
to use SSSE3.  We should not test in each of them for Atoms with
slow SSSE3.  Instead, disable the SSSE3 bit in the startup code for
such machines.

15 years agoAvoid warnings in test cases.
Ulrich Drepper [Thu, 23 Jul 2009 19:53:50 +0000 (12:53 -0700)]
Avoid warnings in test cases.

The posix/tst-rfc3484* test cases caused warnings in newer gccs
because the unused but copied sin_zero part of sockaddr_in wasn't
explicitly initialized.

15 years agoMake include/unistd.h suitable for C++ test cases.
Duncan Simpson [Thu, 23 Jul 2009 19:39:17 +0000 (12:39 -0700)]
Make include/unistd.h suitable for C++ test cases.

15 years agoPreserve stack alignment in i386 makecontext.
Ulrich Drepper [Thu, 23 Jul 2009 15:02:07 +0000 (08:02 -0700)]
Preserve stack alignment in i386 makecontext.

15 years agoMinor optimization of unloading prevention patch.
Ulrich Drepper [Thu, 23 Jul 2009 14:40:56 +0000 (07:40 -0700)]
Minor optimization of unloading prevention patch.

References to unique symbols from copy relocations can only come
from executables which cannot be unloaded anyway.  Optimize the
code to set the unload flag a bit.

15 years agoFix comment.
Ulrich Drepper [Thu, 23 Jul 2009 14:37:48 +0000 (07:37 -0700)]
Fix comment.

15 years agoSome more fixes for the unique symbol handling.
Ulrich Drepper [Thu, 23 Jul 2009 14:36:34 +0000 (07:36 -0700)]
Some more fixes for the unique symbol handling.

The hash value can be zero, so we need a different test for empty
slots.  And unify the way we prevent a DSO from being unloaded.

15 years agoHandle unloading of DSO with a unique symbol definition.
Ulrich Drepper [Thu, 23 Jul 2009 14:07:53 +0000 (07:07 -0700)]
Handle unloading of DSO with a unique symbol definition.

15 years agoAdd 2.11 news items.
Ulrich Drepper [Tue, 21 Jul 2009 15:32:54 +0000 (08:32 -0700)]
Add 2.11 news items.

15 years agoMinor cleanups in x86-64 strstr.
Ulrich Drepper [Tue, 21 Jul 2009 14:52:12 +0000 (07:52 -0700)]
Minor cleanups in x86-64 strstr.

15 years agoBetter check for optimization in new x86-64 strstr/strcasestr.
Ulrich Drepper [Tue, 21 Jul 2009 04:18:28 +0000 (21:18 -0700)]
Better check for optimization in new x86-64 strstr/strcasestr.

15 years agoSSE4.2 strstr/strcasestr for x86-64.
H.J. Lu [Tue, 21 Jul 2009 04:06:50 +0000 (21:06 -0700)]
SSE4.2 strstr/strcasestr for x86-64.

This patch implements SSE4.2 strstr/strcasestr, using Knuth-Morris-Pratt
string searching algorithm.

15 years agoUse correct index for _NL_CTYPE_NONASCII_CASE.
Ulrich Drepper [Tue, 21 Jul 2009 03:50:38 +0000 (20:50 -0700)]
Use correct index for _NL_CTYPE_NONASCII_CASE.

15 years agoCheck generated locale for non-ASCII 8-bit characters with case conversion.
Ulrich Drepper [Tue, 21 Jul 2009 03:04:42 +0000 (20:04 -0700)]
Check generated locale for non-ASCII 8-bit characters with case conversion.

If a locale does not have 8-bit characters with case conversion which
are different from the ASCII conversion (±0x20) then we can perform
some optimizations.  These will follow later.

15 years agoMinor optimizations of last x86-64 condvar changes.
Ulrich Drepper [Mon, 20 Jul 2009 15:39:47 +0000 (08:39 -0700)]
Minor optimizations of last x86-64 condvar changes.

15 years agoSupport requeueing for condvars using PI mutex. x86-64 only.
Ulrich Drepper [Mon, 20 Jul 2009 03:56:40 +0000 (20:56 -0700)]
Support requeueing for condvars using PI mutex.  x86-64 only.

Add support for the new FUTEX_WAIT_REQUEUE_PI and FUTEX_CMP_REQUEUE_PI
options of futex.

15 years agoMake x86-64 pthread_cond_timedwait more robust.
Ulrich Drepper [Sun, 19 Jul 2009 21:54:56 +0000 (14:54 -0700)]
Make x86-64 pthread_cond_timedwait more robust.

It just happens that __pthread_enable_asynccancel doesn't modify the $rdi
register.  But this isn't guaranteed.  Hence we reload the register after
the calls.

15 years agoExtend x86-64 __lll_robust_timedlock_wait to use futex syscall with absolute timeout.
Ulrich Drepper [Sun, 19 Jul 2009 07:00:17 +0000 (00:00 -0700)]
Extend x86-64 __lll_robust_timedlock_wait to use futex syscall with absolute timeout.

15 years agoAdd more sem_timedwait tests.
Ulrich Drepper [Sun, 19 Jul 2009 05:07:25 +0000 (22:07 -0700)]
Add more sem_timedwait tests.

15 years agoExtend x86-64 pthread_rwlock_timedrdlock to use futex syscall with absolute timeout.
Ulrich Drepper [Sun, 19 Jul 2009 04:53:26 +0000 (21:53 -0700)]
Extend x86-64 pthread_rwlock_timedrdlock to use futex syscall with absolute timeout.

15 years agoPretty printing last change.
Ulrich Drepper [Sun, 19 Jul 2009 04:41:52 +0000 (21:41 -0700)]
Pretty printing last change.

15 years agoExtend x86-64 pthread_rwlock_timedwrlock to use futex syscall with absolute timeout.
Ulrich Drepper [Sun, 19 Jul 2009 04:35:33 +0000 (21:35 -0700)]
Extend x86-64 pthread_rwlock_timedwrlock to use futex syscall with absolute timeout.

15 years agoRemove leftover cfi.
Ulrich Drepper [Sat, 18 Jul 2009 20:08:21 +0000 (13:08 -0700)]
Remove leftover cfi.

15 years agoExtend pthread_cond_timedwait tests.
Ulrich Drepper [Sat, 18 Jul 2009 19:45:27 +0000 (12:45 -0700)]
Extend pthread_cond_timedwait tests.

15 years agoExtend x86-64 pthread_cond_timedwait to use futex syscall with absolute timeout.
Ulrich Drepper [Sat, 18 Jul 2009 19:44:12 +0000 (12:44 -0700)]
Extend x86-64 pthread_cond_timedwait to use futex syscall with absolute timeout.

15 years agoOptimize x86-64 pthread_cond_timedwait.
Ulrich Drepper [Sat, 18 Jul 2009 15:53:18 +0000 (08:53 -0700)]
Optimize x86-64 pthread_cond_timedwait.

Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.

15 years agoOptimize x86-64 pthread_cond_wait.
Ulrich Drepper [Sat, 18 Jul 2009 15:09:39 +0000 (08:09 -0700)]
Optimize x86-64 pthread_cond_wait.

Instead of actively registering an unwind buffer we now use the
exception handling functionality of the gcc runtime.

15 years agoExtend x86-64 sem_timedwait to use futex syscall with absolute timeout.
Ulrich Drepper [Sat, 18 Jul 2009 02:08:54 +0000 (19:08 -0700)]
Extend x86-64 sem_timedwait to use futex syscall with absolute timeout.

15 years agoConsistently use symbolic constants.
Ulrich Drepper [Fri, 17 Jul 2009 23:39:27 +0000 (16:39 -0700)]
Consistently use symbolic constants.

15 years agoReplace hand-coded unwind tables from x86-64 sem_timedwait.
Ulrich Drepper [Fri, 17 Jul 2009 23:26:06 +0000 (16:26 -0700)]
Replace hand-coded unwind tables from x86-64 sem_timedwait.

15 years agoOptimize x86-64 sem_wait for uncontested semaphore.
Ulrich Drepper [Fri, 17 Jul 2009 22:50:23 +0000 (15:50 -0700)]
Optimize x86-64 sem_wait for uncontested semaphore.

15 years agoReplace hand-coded unwind tables from x86-64 sem_wait.
Ulrich Drepper [Fri, 17 Jul 2009 22:31:36 +0000 (15:31 -0700)]
Replace hand-coded unwind tables from x86-64 sem_wait.

15 years agoReplace hand-coded unwind tables from x86-64 pthread_once.
Ulrich Drepper [Fri, 17 Jul 2009 21:45:08 +0000 (14:45 -0700)]
Replace hand-coded unwind tables from x86-64 pthread_once.

15 years agoReplace hand-coded unwind tables from x86-64 pthread_cond_wait.
Ulrich Drepper [Fri, 17 Jul 2009 19:14:09 +0000 (12:14 -0700)]
Replace hand-coded unwind tables from x86-64 pthread_cond_wait.

15 years agoRevert "Fix lock handling in memory hander of nscd."
Ulrich Drepper [Fri, 17 Jul 2009 14:49:16 +0000 (07:49 -0700)]
Revert "Fix lock handling in memory hander of nscd."

This reverts commit 137028b4d7e50f71906c1656c27079eac5a1d085.

Conflicts:

ChangeLog

15 years agoAdd missing BZ number in ChangeLog.
Ulrich Drepper [Fri, 17 Jul 2009 12:58:12 +0000 (05:58 -0700)]
Add missing BZ number in ChangeLog.

15 years agoHandle overly large answer buffers in resolver.
Ulrich Drepper [Fri, 17 Jul 2009 06:37:50 +0000 (23:37 -0700)]
Handle overly large answer buffers in resolver.

In EDNS0 records the maximum result size is transmitted in a 16
bit value.  Large buffer sizes were handled incorrectly by using
only the low 16 bits.  Fix this by limiting the size to 0xffff.

15 years agoFix lock handling in memory hander of nscd.
Petr Baudis [Thu, 16 Jul 2009 17:10:10 +0000 (10:10 -0700)]
Fix lock handling in memory hander of nscd.

The commit 20e498bd removes the pthread_mutex_rdlock() calls, but not the
corresponding pthread_mutex_unlock() calls. Also, the database lock is never
unlocked in one branch of the mempool_alloc() if.

I think unreproducible random assert(dh->usable) crashes in prune_cache() were
caused by this. But an easy way to make nscd threads hang with the broken
locking was.

15 years agoUse correct release semantic in list update.
Andreas Schwab [Thu, 16 Jul 2009 16:57:32 +0000 (09:57 -0700)]
Use correct release semantic in list update.

nscd uses lockfree lists and we need to ensure the correct release
semantics is used when adding to the list.

15 years agoFix race in corruption check.
Ulrich Drepper [Thu, 16 Jul 2009 16:54:34 +0000 (09:54 -0700)]
Fix race in corruption check.

With atomic fastbins the checks performed can race with concurrent
modifications of the arena.  If we detect a problem re-do the test
after getting the lock.

15 years agoUse rel semantics of cas instead of acq semantics with full barrier before it in...
Jakub Jelinek [Thu, 16 Jul 2009 14:24:50 +0000 (07:24 -0700)]
Use rel semantics of cas instead of acq semantics with full barrier before it in _int_free

The following patch fixes catomic_compare_and_exchange_*_rel definitions
(which were never used and weren't correct) and uses
catomic_compare_and_exchange_val_rel in _int_free.  Comparing to the
pre-2009-07-02 --enable-experimental-malloc state the generated code should
be identical on all arches other than ppc/ppc64 and on ppc/ppc64 should use
lwsync instead of isync barrier.

15 years agoRemove warning and little optimization.
Ulrich Drepper [Thu, 16 Jul 2009 14:18:53 +0000 (07:18 -0700)]
Remove warning and little optimization.

The prototype for _dl_higher_prime_number was missing.  While at it,
the function is now marked with internal_function.

15 years agoOptimize restoring of ymm registers on x86-64.
Ulrich Drepper [Thu, 16 Jul 2009 14:15:15 +0000 (07:15 -0700)]
Optimize restoring of ymm registers on x86-64.

The patch mainly reduces the code size but also avoids some jumps.

15 years agoFix up whitespaces in new memcmp for x86-64.
Ulrich Drepper [Thu, 16 Jul 2009 14:02:27 +0000 (07:02 -0700)]
Fix up whitespaces in new memcmp for x86-64.

15 years agomemcmp implementation for x86-64 using SSE2.
H.J. Lu [Thu, 16 Jul 2009 14:00:34 +0000 (07:00 -0700)]
memcmp implementation for x86-64 using SSE2.

15 years agoFix thinko in AVX audit patch.
Ulrich Drepper [Thu, 16 Jul 2009 00:59:14 +0000 (17:59 -0700)]
Fix thinko in AVX audit patch.

Don't use AVX instructions too often.

15 years agoFix typo in last change.
Ulrich Drepper [Thu, 16 Jul 2009 00:51:11 +0000 (17:51 -0700)]
Fix typo in last change.