Commit Graph

12053 Commits

Author SHA1 Message Date
Joseph S. Myers
3ad3a4d059 Readd definition of __expl in ldbl-128 2009-10-28 11:14:56 +01:00
Jakub Jelinek
98363ded87 Fix range checks in coshl. 2009-10-27 13:46:08 -07:00
H.J. Lu
001659f4d5 Implement SSE4.2 optimized strchr and strrchr. 2009-10-22 22:47:12 -07:00
Andreas Schwab
bc5e846218 Handle IFUNC symbols in dlsym. 2009-10-21 06:23:42 -07:00
Andreas Schwab
b7805d0ba8 Correct errno handling in expm1. 2009-10-19 21:23:15 -07:00
David S. Miller
a0902db9fe Add ____longjmp_chk for sparc
tst-longjmp_chk passes, tst-longjmp_chk2 fails but that is because
of some limitations of kernel signal delivery on sparc that I need
to fix, it has nothing to do with the longjmp_chk implementation.

(The problem with tst-longjmp_chk2 is that it tries to do a stack
 fault SIGSEGV within a stack fault SIGSEGV , and the Linux kernel
 will refuse to setup the signal stack and deliver the signal if the
 register windows can't be written out to the stack first)
2009-10-14 14:57:16 +02:00
Andreas Schwab
4bb04b1fb6 Fix USE_MULTIARCH conditional 2009-10-13 16:12:47 +02:00
Ulrich Drepper
1abedcdad2 Remove duplicate __set_errno call in random_r.c. 2009-10-08 13:46:47 -07:00
Ulrich Drepper
1219ddfe54 Typo fix. 2009-10-08 13:39:00 -07:00
Ulrich Drepper
b68053cf7d New Czech translation. 2009-10-08 13:11:13 -07:00
Andreas Schwab
96961bf71d Fix descriptor leak when calling dlopen with RTLD_NOLOAD 2009-10-07 10:25:38 +02:00
Roland McGrath
b0f3a2e43f Clean up unnecessary libc_hidden_builtin_def fiddling in x86 multiarch definitions. 2009-10-06 20:01:23 -07:00
Roland McGrath
9d6982d5d2 Clean up x86 multiarch HAS_FOO macros. 2009-10-06 19:59:03 -07:00
Andreas Schwab
930799d555 Fix week-1stday in C locale 2009-10-05 10:52:22 +02:00
Ulrich Drepper
78aa397939 Define F_SETOWN_EX and F_GETOWN_EX in Linux headers. 2009-10-01 01:18:41 -07:00
Ulrich Drepper
f8d7c1eadd Merge branch 'master' of ssh://sources.redhat.com/git/glibc
Conflicts:
	ChangeLog
2009-09-29 06:13:11 -07:00
Andreas Schwab
199eb0de8d Check for integer overflows in formatting functions 2009-09-29 06:11:59 -07:00
Samuel Thibault
ff28353181 Fix Hurd mkdirat. 2009-09-28 11:37:20 -07:00
Ulrich Drepper
9d076f21cd Fix locale program error handling
If an unknown name is passed to locale, report it and fail.
2009-09-28 10:35:41 -07:00
H.J. Lu
f450806e22 Handle future binutils versions correctly. 2009-09-28 04:18:09 -07:00
Ulrich Drepper
4fd894620f Fix missing reloc dependency
When DL_LOOKUP_ADD_DEPENDENCY was introduced a few callers of
_dl_lookup_versioned_symbol were not properly adjusted.  One of them
survived until now.
2009-09-28 03:19:58 -07:00
Samuel Thibault
0d1804061a Fix IXANY feature macro conditions. 2009-09-27 16:26:59 -07:00
Andreas Schwab
ae0f0dbd0e Fix typo in is646 gconv module 2009-09-20 09:42:48 +02:00
Ulrich Drepper
fc0c556c5f Hungarian and Vietnamese translation update. 2009-09-20 00:21:30 -07:00
Roland McGrath
487a6d7735 Remove some unused variables. 2009-09-19 17:19:41 -07:00
Roland McGrath
7967983fd4 configure tweaks, support $libc_add_on_config_subdirs 2009-09-15 14:14:42 -07:00
Ulrich Drepper
02bf610ca8 Handle -- on getconf command line. 2009-09-09 22:15:27 -07:00
H.J. Lu
0549ce8ec1 Support binutils 2.100 and 3.0. 2009-09-08 16:04:30 -07:00
Jakub Jelinek
6dfeb5245b Fix __longjmp_chk on s390/s390x.
s390/s390x hasn't been updated to handle alternate stacks properly.
2009-09-08 16:00:25 -07:00
Ulrich Drepper
7a7e49c020 Fix endless loop in localedef.
localedef got into an endless loop in case order_start was used for
the unnamed_section twice and the first use didn't actually result
into any definition.
2009-09-07 02:32:29 -07:00
Ulrich Drepper
d76da20f7f Handle POSIX2_LINE_MAX in getconf. 2009-09-07 00:18:06 -07:00
H.J. Lu
4c14c8c348 Support binutils 2.20. 2009-09-05 07:06:19 -07:00
Ulrich Drepper
04ef416adc Fix IA-32 strstr in multiarch configuration as well. 2009-09-03 06:44:22 -07:00
Andreas Schwab
2eeb9a5d73 Fix lookup of group names in hesiod initgroups.
Resolving names from a grplist entry actually never worked.
2009-09-02 19:48:39 -07:00
Andreas Schwab
5d2e69766a Fix fsetpos on wide stream. 2009-09-02 19:45:33 -07:00
Jakub Jelinek
22bb992d51 Fix strstr/strcasestr/fma/fmaf on x86_64. 2009-09-02 19:43:04 -07:00
Andreas Schwab
d840539e12 Cleanup _IO_wfile_seekoff.
This reformulates the in-buffer optimisation check to match the code in
_IO_new_file_seekoff.  No functional changes, but easier to understand.
2009-09-01 15:36:22 -07:00
Joshua W. Boyer
a050d2a5e7 Fix use of 64-bit insn in 32-bit memcpy for POWER6. 2009-09-01 15:35:35 -07:00
Andreas Schwab
5182cbc5ab Add hidden alias for fflush. 2009-09-01 15:31:09 -07:00
Jakub Jelinek
240441038f Fix x86_64 bits/mathinline.h for -m32 compilation. 2009-09-01 15:30:12 -07:00
Andreas Schwab
c2735e958a Fix parse error in bits/mathinline.h with --std=c99 2009-08-31 17:26:14 +02:00
Ulrich Drepper
b5c03e105c Fix problems with memory allocation in assert.
In case the allocator is corrupted and an assert triggers, we shouldn't
allocate any more memory.  Use a private assert definition which doesn't
use malloc.
2009-08-31 04:56:07 -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
d444ac573c More strto{,u}l{,l} tests. 2009-08-28 13:45:28 -07:00
Ulrich Drepper
2df4be8c35 Add isinf optimized for 64-bit. 2009-08-26 00:51:45 -07:00
Ulrich Drepper
15e7f0a44d Optimized isnan for 64-bit machines. 2009-08-26 00:12:58 -07:00
Ulrich Drepper
deb13bcda9 Make llround an alias for lround on 64-bit machines. 2009-08-25 23:53:23 -07:00
Ulrich Drepper
77a1e0873f Optimized nearbyint for 64-bit. 2009-08-25 23:26:16 -07:00
Ulrich Drepper
e6fd9b2490 Optimized rint implementation for x86-64. 2009-08-25 22:44:34 -07:00
Ulrich Drepper
8405789520 Add 64-bit optimized s_round. 2009-08-25 17:28:50 -07:00
Ulrich Drepper
65b14bcee2 Optimize out duplicated scalbln code for x86-64. 2009-08-25 16:46:34 -07:00
Joseph Myers
e9f145cba8 Fix generic fdiml. 2009-08-25 15:48:06 -07:00
Ulrich Drepper
5001998a12 Add 64-bit optimized scalbln. 2009-08-25 15:42:41 -07:00
Ulrich Drepper
7423a3456a Optimized signbit{,f} for x86-64. 2009-08-25 14:54:12 -07:00
Ulrich Drepper
d5cb714bb8 Add 64-bit optimized version lround. 2009-08-25 14:12:41 -07:00
Ulrich Drepper
8392ff2dc7 64-bit optimized implementation of trunc. 2009-08-25 12:02:13 -07:00
Ulrich Drepper
84088310ce Handle AVX saving on x86-64 in interrupted smbol lookups.
If a signal arrived during a symbol lookup and the signal handler also
required a symbol lookup, the end of the lookup in the signal handler reset
the flag whether restoring AVX/SSE registers is needed.  Resetting means
in this case that the tail part of the outer lookup code will try to
restore the registers and this can fail miserably.  We now restore to the
previous value which makes nesting calls possible.
2009-08-25 10:42:30 -07:00
Ulrich Drepper
cf00cc00bc Add ceil implementation for 64-bit machines.
On 64-bit machines we should not split doubles into two 32 bit
integer and handle the words separately.  We have wide registers.
This patch implements a 64-bit ceil version.  Ideally all other
functions will be converted over time.
2009-08-24 18:05:48 -07:00
Ulrich Drepper
9a1ea1525e Optimize float construction/extraction on x86-64. 2009-08-24 14:52:49 -07:00
Ulrich Drepper
4a8f61a797 Merge branch 'master' of ssh://sources.redhat.com/git/glibc 2009-08-24 12:07:27 -07:00
Ulrich Drepper
f0c281e072 Fix overflow handling in fdim. 2009-08-24 12:06:55 -07:00
Roland McGrath
036e46b655 Add sysdeps/unix/syscall-template.S; build syscall stubs with deps and -g pointing to it. 2009-08-24 11:40:15 -07:00
Ulrich Drepper
7b943af6cf Define math_errhandling is possible. 2009-08-24 10:33:57 -07:00
Ulrich Drepper
ef72d5f1b9 Optimize x86-64 signbit{,f} a bit. 2009-08-24 10:20:58 -07:00
Ulrich Drepper
8a7cea0199 Add test case for last fixed regex bug. 2009-08-23 15:33:40 -07:00
Ulrich Drepper
52db8039f5 Recognize ill-formed { } expressions in regcomp. 2009-08-23 15:22:00 -07:00
Ulrich Drepper
bdc7f5d76b Also correct _POSIX2_* constants in case older standards are selected. 2009-08-23 14:55:51 -07:00
Ulrich Drepper
c6b6723e6b Define _POSIX_VERSION correctly when older POSIX versions are selected. 2009-08-23 12:27:09 -07:00
Ulrich Drepper
003c9895a8 Print sign of NaN values. 2009-08-23 11:57:52 -07:00
Ulrich Drepper
659a63fb7b Thread-local locale handling part of XPG7.
I incorrectly enabled the definitions for XPG6.
2009-08-23 10:56:08 -07:00
Andreas Schwab
15efafdf07 Add sigstack handling to Linux ____longjmp_chk on powerpc. 2009-08-22 02:01:51 -07:00
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
SUGIOKA Toshinobu
78fd882a7b SH: fix clobber list in stdlib/longlong.h 2009-08-10 08:12:49 -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
8e436522e1 Move SSE4.2 functions together. 2009-08-08 09:38:32 -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
57b378ac89 Avoid warning through fake initialization. 2009-08-07 16:19: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
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
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
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
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
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
Ulrich Drepper
586fa886ad Fix x86-64 TCB alignment for future processor versions. 2009-07-29 09:01:04 -07:00
Ulrich Drepper
649bf13320 Improve CFI in x86-64 ld.so trampoline code. 2009-07-29 08:50:03 -07:00
H.J. Lu
09e0389eb1 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.
2009-07-29 08:40:54 -07:00
Ulrich Drepper
b48a267b8f 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.
2009-07-29 08:33:03 -07:00
Ulrich Drepper
9655389317 Fix bookkeeping of static TLS block for TLS_TCB_AT_TP architectures. 2009-07-28 21:58:32 -07:00
Ulrich Drepper
e83c1a8a72 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.
2009-07-27 13:40:27 -07:00
Adam Tkac
2d0671cbbd Define and implement RES_USE_DNSSEC option in resolver. 2009-07-27 07:33:48 -07:00
Jakub Jelinek
09cd1f5754 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.
2009-07-27 07:25:57 -07:00
Ulrich Drepper
009a69f0bc No need for special strcmp for rtld. 2009-07-27 06:55:04 -07:00
Ulrich Drepper
16d2ea4c82 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.
2009-07-26 16:10:00 -07:00
Ulrich Drepper
dc8e5eb6ed Add missing ChangeLog entry for last checkin. 2009-07-26 13:37:45 -07:00
Ulrich Drepper
aa7492d20e Compatibility of signalfd/eventfd with older kernels. 2009-07-26 12:55:03 -07:00
Ulrich Drepper
e28b969b49 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.
2009-07-26 12:16:24 -07:00
Ulrich Drepper
889f847e4a Define NT_GNU_GOLD_VERSION. 2009-07-26 08:26:43 -07:00
H.J. Lu
4e5b5821bf Some some optimizations for x86-64 strcmp. 2009-07-25 19:15:14 -07:00
Ulrich Drepper
657317537c 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.
2009-07-25 12:29:04 -07:00
Ulrich Drepper
29e92fa5cd Optimize x86-64 SSE4.2 strcmp.
The file contained some code which was never used.  Don't compile it
in.
2009-07-25 12:02:47 -07:00
Ulrich Drepper
da331e8e14 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.
2009-07-24 13:01:17 -07:00
Andreas Krebbel
f957edded8 S/390: Hardware iconv modules. 2009-07-24 08:29:06 -07:00
Ulrich Drepper
b2509a1e38 Avoid cpuid instructions in cache info discovery.
When multiarch is enabled we have this information stored.  Use it.
2009-07-23 14:03:53 -07:00
Ulrich Drepper
3e9099b4f6 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.
2009-07-23 13:42:46 -07:00
Ulrich Drepper
d28797e426 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.
2009-07-23 13:15:17 -07:00
Ulrich Drepper
666a9871f7 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.
2009-07-23 12:53:50 -07:00
Duncan Simpson
30a2dfd518 Make include/unistd.h suitable for C++ test cases. 2009-07-23 12:39:17 -07:00
Ulrich Drepper
9b6bf8a302 Preserve stack alignment in i386 makecontext. 2009-07-23 08:02:07 -07:00
Ulrich Drepper
077e7700b3 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.
2009-07-23 07:36:34 -07:00
Ulrich Drepper
802fe9a1ca Handle unloading of DSO with a unique symbol definition. 2009-07-23 07:07:53 -07:00
Ulrich Drepper
ae612b04cc Minor cleanups in x86-64 strstr. 2009-07-21 07:52:12 -07:00
Ulrich Drepper
a8f895ebe1 Better check for optimization in new x86-64 strstr/strcasestr. 2009-07-20 21:18:28 -07:00
H.J. Lu
2b7a8664fa SSE4.2 strstr/strcasestr for x86-64.
This patch implements SSE4.2 strstr/strcasestr, using Knuth-Morris-Pratt
string searching algorithm.
2009-07-20 21:06:50 -07:00
Ulrich Drepper
8a4494506d 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.
2009-07-20 20:04:42 -07:00
Ulrich Drepper
63601ccd16 Replace hand-coded unwind tables from x86-64 pthread_once. 2009-07-17 14:45:08 -07:00
Ulrich Drepper
00ebd7ed58 Revert "Fix lock handling in memory hander of nscd."
This reverts commit 137028b4d7.

Conflicts:

	ChangeLog
2009-07-17 07:49:16 -07:00
Ulrich Drepper
09f97a8fbf Add missing BZ number in ChangeLog. 2009-07-17 05:58:12 -07:00
Ulrich Drepper
1c0ab5bd34 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.
2009-07-16 23:37:50 -07:00
Petr Baudis
137028b4d7 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.
2009-07-16 10:10:10 -07:00
Andreas Schwab
50158f9552 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.
2009-07-16 09:57:32 -07:00
Ulrich Drepper
bec466d922 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.
2009-07-16 09:54:34 -07:00
Jakub Jelinek
bea0ac1d87 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.
2009-07-16 07:24:50 -07:00
Ulrich Drepper
55c4ce6885 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.
2009-07-16 07:18:53 -07:00
Ulrich Drepper
c8027cced1 Optimize restoring of ymm registers on x86-64.
The patch mainly reduces the code size but also avoids some jumps.
2009-07-16 07:15:15 -07:00
H.J. Lu
e26c9b8415 memcmp implementation for x86-64 using SSE2. 2009-07-16 07:00:34 -07:00
Ulrich Drepper
d7bd7a8ae8 Secure AVX changes for auditing code.
The original AVX patch used a function pointer to handle the difference
between machines with and without AVX support.  This is insecure.  A
well-placed memory exploit could lead to redirection of the execution.
Using a variable and several tests is a bit slower but cannot be
exploited in this way.
2009-07-15 17:41:36 -07:00
Ulrich Drepper
59cbcac015 Fix build issue with modules for audit test on machines != x86-64. 2009-07-15 08:27:19 -07:00
H.J. Lu
b0ecde3a63 Add AVX support to ld.so auditing for x86-64. 2009-07-10 12:04:14 -07:00
Ulrich Drepper
786b74f41a Remove do-lookup.h.
It is not necessary/useful anymore to have the content separate
from dl-lookup.c.
2009-07-10 08:50:33 -07:00
Ulrich Drepper
339717d5f1 Fix comment in Linux's <sys/epoll.h>. 2009-07-10 06:14:25 -07:00
Ulrich Drepper
415ac3df9b Implement STB_GNU_UNIQUE handling.
Some symbols have to be identified process-wide by their name.  This is
particularly important for some C++ features (e.g., class local static data
and static variables in inline functions).  This cannot completely be
implemented with ELF functionality so far.  The STB_GNU_UNIQUE binding
helps by ensuring the dynamic linker will always use the same definition for
all symbols with the same name and this binding.
2009-07-09 23:52:22 -07:00
Ulrich Drepper
b4f55afd03 Define STB_GNU_UNIQUE. 2009-07-07 09:53:01 -07:00
Ulrich Drepper
eba0994e75 Clean up code for hash table handling in ld.so. 2009-07-07 09:49:55 -07:00
Ulrich Drepper
a38862a589 Optimize test for valid ELF symbol types in lookup function. 2009-07-06 06:55:57 -07:00
Andreas Schwab
2123d5815e Fix wrong PPC_FEATURE_* values.
Nothing uses these wrong values yet, but it fixes a warning due to
conflicting definitions in <asm/cputable.h>.
2009-07-05 23:46:03 -07:00
Ulrich Drepper
cea4329592 Minor cleanups in recently added files. 2009-07-03 03:23:01 -07:00
Ulrich Drepper
d6485c981b Align functions to 16-byte boundary.
Some of the new multi-arch string functions for x86-64 were
not aligned to 16 byte boundarie,s possibly creating unnecessary
cache line misses and delays.
2009-07-03 03:01:57 -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
H.J. Lu
167d5ed5de Fix handling of xmm6 in ld.so audit hooks on x86-64. 2009-07-02 04:33:12 -07:00
H.J. Lu
ab6a873fe0 SSSE3 strcpy/stpcpy for x86-64
This patch adds SSSE3 strcpy/stpcpy. I got up to 4X speed up on Core 2
and Core i7.  I disabled it on Atom since SSSE3 version is slower for
shorter (<64byte) data.
2009-07-02 03:39:03 -07:00
Ulrich Drepper
6cbbaa50aa Fix possible race when freeing object in fast bin list. 2009-07-02 03:30:55 -07:00
Ulrich Drepper
2fd0cd8b52 Fix NIS and NIS+ getnetbyaddr backends.
The addresses were interpreted as class-based network addresses.
2009-07-01 03:41:30 -07:00
Ulrich Drepper
5cd1f906c3 Fix getent networks lookup and resulting incorrect NSS change.
I changed the files NSS backend for networks because I thought the
getent use of getnetbyaddr is correct.  But it isn't.  Undo parts
of the last change and fix getent.
2009-07-01 03:33:26 -07:00
Ulrich Drepper
29ba9812bb Fix getnetbyaddr implementation.
There were two problems in the getnetbyaddr implementation.  The type
argument is pretty much useless since (almost) no input file contains
this information and the NSS backends make up the value they fill in
for the n_addrtype field.  Therefore we now declare that passing AF_UNSPEC
is always recognized.  Secondly, the files backend didn't compare the network
numbers with the correct endianess.

Also change getent to take advantage of the type parameter change.
2009-07-01 02:42:59 -07:00
H.J. Lu
0181291385 Determine and store processor family and model on x86-64. 2009-06-30 04:39:09 -07:00
Ulrich Drepper
44d20bca52 Implement second fallback mode for DNS requests.
There is some more shardware/software out there which has problems
if two DNS requests are sent using the same tuple

  (source addr, source port, dest addr, dest port)

This can range from firewalls to load balancers.  Some of the vendors
already fixed it in response to this problem.  Still, we need a way
to make glibc work with broken environments.  The single-request-reopen
flag can be used or we fall back automatically to this mode.
2009-06-26 03:47:47 -07:00
Ulrich Drepper
54c99aabdb Whitespace fix. 2009-06-25 08:57:44 -07:00
Andreas Schwab
80a98966c8 Fix text relocation on ppc32.
The ____longjmp_chk implementation didn't load from memory the
right way.
2009-06-25 08:56:20 -07:00
Andreas Schwab
3f241d7584 Fix cfa offset for saved registers in PPC sqrt implementations. 2009-06-24 11:36:57 -07:00
Andreas Schwab
7a7c2c2465 Handle empty TZ strings at the end of new-style timzeone files correctly. 2009-06-23 09:13:30 -07:00
Ulrich Drepper
58d60030df Update from translation team. 2009-06-22 22:53:20 -07:00
Ulrich Drepper
20a3ce8538 Update from translation team. 2009-06-22 21:55:15 -07:00
H.J. Lu
772f4e6a1b Add SSE4.2 support for strcmp and strncmp on x86-64. 2009-06-22 20:38:41 -07:00
H.J. Lu
3c30afc862 Add more IFUNC tests.
Mostly tests around not-exported IFUNC functions, IFUNC in statically
linked binaries and PIEs, etc.
2009-06-22 15:07:40 -07:00
Ulrich Drepper
ccab6d8f73 Fix broken up NIS groups for compat NSS module.
The check for the inclusion of a group in the result gave up too early
in case of broken-up NIS groups.  We now fall back automatically to
the slow mode of using getgrent_r.  As an optimization, if there is
not blacklist we need not perform the check in the first place and
therefore can just accept the results of the initgroups_dyn callback.
2009-06-20 20:39:19 -07:00
Ulrich Drepper
f6887a0d9a Add some more tests to malloc to detect corruptions. 2009-06-18 22:37:31 -07:00
Ulrich Drepper
d0a2af7106 Add 802.15.4 definitions to header files. 2009-06-18 07:52:38 -07:00
H.J. Lu
d8366b0970 Use +link-pie Makefile rule to link PIE ifunc tests. 2009-06-17 19:55:18 -07:00
Ulrich Drepper
f051ddfe22 Build pt_chown as PIE. 2009-06-16 20:46:42 -07:00
Andreas Schwab
f60ddf9bf7 Don't treat bug reporting message as a format string. 2009-06-16 20:34:55 -07:00
Ulrich Drepper
8a909c6430 Git didn't see the ChangeLog entry. 2009-06-16 15:59:35 -07:00
Ulrich Drepper
f793b62438 Extend pt_chown to drop privileges.
If libcap is available, use it to drop privileges in pt_chown before
starting the work to change the permissions and ownership of the
slave device.
2009-06-16 15:58:07 -07:00
Jakub Jelinek
fab8238de6 Fix x86-64 memchr for large lengths. 2009-06-16 10:23:31 -07:00
H.J. Lu
435aa54b3b Consolidate PIE linking Makefile rules. 2009-06-16 09:19:59 -07:00
Ryan S. Arnold
25bfbb9e0e Fix incorrect use of cmpldi in 32-bit PPC code.
The 32-bit PowerPC POWER6 memcpy uses the cmpldi insn when it should use a cmplwi.
BZ #10107
2009-06-16 08:29:04 -07:00
Ulrich Drepper
b34de9ea81 Fold Linux-specific grantpt code into Unix version. 2009-06-16 07:59:09 -07:00
Ulrich Drepper
eae3208e24 Run tst-fgetwc with necessary envvar. 2009-06-16 07:48:27 -07:00
Ulrich Drepper
837dea7cf5 Optimize pt_chown.
Don't call chown and chmod if not necessary.
2009-06-15 22:58:21 -07:00
Ulrich Drepper
292e3abebf Fix permission of slave device on devpts if necessary.
If devptr is misconfigured the slave device permission after grantpt
might not be 0620.  BZ #10166
2009-06-15 22:56:51 -07:00
Ulrich Drepper
395a37e379 When iterating over CPU bitmask, don't try more than CPU_SETSIZE. 2009-06-15 21:12:57 -07:00
Arnaud Ebalard
7ed520bd85 Fix type of nd_opt_home_agent_info_preference. 2009-06-15 20:33:39 -07:00
Aurelien Jarno
c518f9a4b4 Extend getent to handle the shadow database.
BZ #10207
2009-06-15 17:49:35 -07:00
Joe Landers
233a182b9e Fix memory leak when batch-reading large NIS password maps.
Not the whole was traversed in the function to free all buffers.
BZ #10203
2009-06-15 17:37:40 -07:00
Bruce Dubbs
4155d92633 (do_test): Use de_DE.UTF-8 as locale name. 2009-06-15 17:27:48 -07:00
Ulrich Drepper
48dcd0ba84 Preserve message printed before abort.
The terminal output etc is not visible in a core file.  The new
libc-internal variable __abort_msg will point to a string with the
message which has been printed before the abort in case abort is
called from inside libc.  BZ #10217
2009-06-15 16:17:09 -07:00
Ulrich Drepper
6355c99740 Fix computation of tzspec_len.
Without this it should never have worked that we can use the
embedded envvar in the timezone data files for dates after the last
matching rule.
2009-06-15 11:00:08 -07:00
Akinori Hattori
29143408ae Handle leap seconds even if no DST rule exists.
This fixes BZ #10211.
2009-06-15 10:54:26 -07:00
Ulrich Drepper
5fb55a68c1 Update from tzcode2009i. 2009-06-15 08:49:18 -07:00
Ulrich Drepper
a468a1d4a9 Update timezone data from tzdata2009i. 2009-06-15 08:39:40 -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
53c068910a Update from translation team. 2009-06-14 18:11:09 -07:00
Ulrich Drepper
eb0b6cb6e1 Fix warnings when using <sys/select.h>.
gcc 4.4 is more picky.  And the x86-64 version of <bits/select.h>
contained a now unnecessary asm optimization.  Remove it.
2009-06-14 16:09:42 -07:00
Ulrich Drepper
bfdb73e145 Implement pthread_sigqueue.
The kernel from 2.3.31 on supports the rt_tgsigqueueinfo syscall.
Use it to implement the non-standard extension which, like
sigqueue, can pass additional data to the receiving thread.
2009-06-12 08:34:02 -07:00
Ulrich Drepper
310647e980 Remember we switched to single-request mode.
This change prevents repetition in most later calls of the resolver
in case the DNS server or the network connection is broken.
2009-06-11 10:07:33 -07:00
J.H.M. Dassen
88ea382fda Remove comma at end of enum. 2009-06-09 07:58:02 -07:00