Commit Graph

12110 Commits

Author SHA1 Message Date
Ulrich Drepper
424bea69fb Change misleading names of parameters of sync_file_range. 2009-11-17 18:10:56 -08:00
Jakub Jelinek
8ad81b316b Fix sync_file_range on ppc/ppc64.
I've noticed that sync_file_range is a stub on ppc/ppc64.
The kernel on these arches provides sync_file_range2 syscall with swapped
parameters.
The following completely untested patch ought to fix this.
2009-11-17 18:04:51 -08:00
Paolo Bonzini
815d8147a3 Fix ranges with multibyte characters as endpoints.
This is another bug in computing the fastmap.  It was reported by a user
of sed because it usually does not happen with !_LIBC.  However, it is
there in that case too.

The bug is that whenever we have a range at the beginning of the regex,
the regex must be tested on any possible multibyte character.  The reason
why _LIBC masks it, is that in general there is a collation symbol for
each possible multibyte-character lead byte, so all the lead bytes are
in general already part of the fastmap.

The tests use cyrillic characters as an example.  With _LIBC, they pass
without the patch too, but you can make them fail by removing collation
symbols handling.
2009-11-17 16:23:24 -08:00
Ulrich Drepper
7443244740 Handle LC_GLOBAL_LOCALE in duplocale. 2009-11-17 09:37:31 -08:00
Ulrich Drepper
4fb9241e4e Fix _NC_LOCALE_NAME definition. 2009-11-17 09:18:11 -08:00
Ulrich Drepper
2866eeb1b7 Add missing Linux MADV_* definitions. 2009-11-17 06:43:39 -08:00
H.J. Lu
65a1148bdd Use a simple loop on data shorter than software pipeline.
When data is shorter than software pipeline, recovery may fail. This
patch avoids it by using a simple loop on data shorter than software
pipeline.
2009-11-14 19:20:19 -08:00
Mike Frsyinger
fabe43aba8 Missing CL. 2009-11-14 19:16:49 -08:00
Mike Frsyinger
5ec794b4b5 Add missing stdio.h include. 2009-11-14 19:11:44 -08:00
Ulrich Drepper
0079dd2382 Add support for new Linux error ERFKILL. 2009-11-14 10:20:25 -08:00
Ulrich Drepper
8964681064 Fix F_SETOWN_EX and F_GETOWN_EX definitions. 2009-11-14 08:28:40 -08:00
Ulrich Drepper
24c0bf7a76 Start 2.12 development. 2009-11-12 08:46:19 -08:00
Andreas Schwab
51e4196f16 Handle running out of buffer space with IPv6 mapping enabled.
With big DNS answers like the one you get for goodtimesdot.com you can
get a truncated address list if IPv6 mapping is enabled.  Instead tell
the caller to resize the buffer.
2009-11-10 07:36:50 -08:00
Caolan McNamara
6515a01fc1 Avoid memset warning in one case. 2009-11-10 06:29:13 -08:00
Philippe De Muyter
868f7a4053 Fix spelling of (Newton-)Raphson 2009-11-06 09:33:27 -08:00
Holger Hans Peter Freyther
685cb08356 Fix spelling in memusagestat.c 2009-11-06 09:32:06 -08:00
H.J. Lu
8608ae1f7b Properly handle STT_GNU_IFUNC symbols in do_sym.
do_sym should use DL_FIXUP_VALUE_XXX macros to call IFUNC function.
Otherwise, it won't compile on ia64. This patch fixes it and adds
a test.
2009-11-06 09:30:56 -08:00
Andreas Schwab
5b55d23611 Correct readahead syscall wrapper on powerpc32.
Due to alignment of 64bit parameters there is a dummy second argument.
But other than that the syscall arguments are directly mapped to the
function arguments.
2009-11-06 09:29:24 -08:00
Jakub Jelinek
872873d48d Fix R_PPC64_{JMP_IREL,IRELATIVE} handling in dl-conflict.c.
I've just committed STT_GNU_IFUNC ppc/ppc64 support into prelink,
and this patch is needed on the glibc side.  Without it ld.so segfaults,
as in dl-conflict.c sym_map is always NULL.  While dl-machine.h could use
RESOLVE_CONFLICT_FIND_MAP macro to compute it, it doesn't make sense,
because with prelink we know it is already properly relocated (all relative
relocations are applied by prelink).
2009-11-06 09:27:41 -08:00
Jakub Jelinek
34df851b33 Fix preadv, pwritev and fallocate for -D_FILE_OFFSET_BITS=64.
As reported in http://bugzilla.redhat.com/533063 , preadv/pwritev prototypes
are wrong on 32-bit arches with -D_FILE_OFFSET_BITS=64 and as I've just
found, fallocate is wrong too.
The problem is that only off_t is remapped to the 64-bit type transparently,
__off_t is not.
2009-11-06 09:26:31 -08:00
Andreas Schwab
13f6812ffb Make name of libgcc_s library configurable 2009-11-03 23:52:01 +01:00
Ulrich Drepper
cc49a5a883 Restore locking in free_check.
This code is only used when MALLOC_CHECK_ is used.  Then some bogus
crashes and/or assert could result from the locking changes.  The code
ain't fast.
2009-11-01 07:27:00 -08:00
Ulrich Drepper
7f9cd6ed20 2.11 release. 2009-10-30 10:17:08 -07:00
Ulrich Drepper
3005703bb9 Add cast in tst-execstack to avoid warning. 2009-10-30 09:26:00 -07:00
Ulrich Drepper
1c52a97a1e Avoid warning in scanf test. 2009-10-30 09:23:24 -07:00
Ulrich Drepper
08c7ad975c Avoid two warnings in strtol{,l} tests. 2009-10-30 09:22:34 -07:00
Keith Stribley
3c2c4bf6f7 Implement Burmese language locale for Myanmar. 2009-10-30 08:14:02 -07:00
Ulrich Drepper
3a83202db6 Implement mkostemps and mkostemps64. 2009-10-30 08:02:30 -07:00
Andreas Schwab
2c5c07f5fc Add missing declarations. 2009-10-30 07:15:12 -07:00
Andreas Schwab
de2cc8095b Fix typo in readlinkat 2009-10-30 14:18:18 +01:00
Roland McGrath
6cfe8609b8 New simplified make dist using git archive. 2009-10-30 03:30:14 -07:00
Alan Modra
31c759bf37 Uglify IFUNC tests for PPC. 2009-10-30 00:48:54 -07:00
Alan Modra
77799d9d9b Implement IFUNC for PPC. 2009-10-30 00:39:38 -07:00
Ulrich Drepper
0d2f180dd0 Add a few defines to <netinet/udp.h>. 2009-10-30 00:27:27 -07:00
Ulrich Drepper
7f3146e789 Implement mkstemps and mkstemps64. 2009-10-30 00:11:07 -07:00
Ulrich Drepper
471d4931f8 Add sml entry to ISO 639 list. 2009-10-29 23:21:18 -07:00
Ulrich Drepper
75ded9bcdf Initialize local variable in resolver.
When the DNS server doesn't reply at all we possibly tested
an unitialized variable.
2009-10-29 23:01:58 -07:00
Ulrich Drepper
204fcca27c Fix IA-64 and S390 sigevent definitions. 2009-10-29 22:43:08 -07:00
Anders Johansson
ea547a1a6e Fix a few asserts and IO calls in nscd.
The nscd/*cache.c files contain assert()s, writeall() and sendfileall() calls
that invalidly use together &dataset->resp and total where either dataset or
dataset->head.recsize should be used instead one of the components. In the
writeall() and sendfileall() cases, it is unlikely to matter in practice, but
the assertions can fail sometimes without a proper reason.
2009-10-29 22:18:26 -07:00
Steve Langasek
5c53736b52 Fix nss_files if /etc/hosts is missing. 2009-10-29 22:04:58 -07:00
John Sullivan
ee6f35389c Fix typos in format strings of malloc_info. 2009-10-29 21:50:35 -07:00
Ulrich Drepper
5debe36313 Bump timeout for utmp operations to 10s. 2009-10-29 21:41:19 -07:00
Ulrich Drepper
801720e63b Fix compat handling in *at functions.
When passed an empty string for the filename, the compat code
using /proc in all *at functions did the wrong thing.
2009-10-29 21:33:26 -07:00
Ulrich Drepper
584715c3a9 Fix AIO when thread creation failed.
Several bugs fixed when we needed to create a thread to work on AIO
requests but failed and there is not one running.
2009-10-29 21:01:24 -07:00
Joe Landers
c240c3a58f Fix error handling in NIS.
A buffer was freed even though it wasn't allocated as expected.  Do
this only when !batch_read.
2009-10-29 19:59:59 -07:00
Joe Landers
1a9e411e2a Fix memory leak in NIS grp database handling. 2009-10-29 16:22:01 -07:00
Ulrich Drepper
cc88b371a5 Fix return value of puts for very long strings. 2009-10-29 16:03:07 -07:00
Ulrich Drepper
67854c131c Fix repairing of memusage trace files. 2009-10-29 14:19:33 -07:00
Ulrich Drepper
e0f471a118 Print timestamp in nscd debug messages. 2009-10-29 13:45:10 -07:00
Andreas Schwab
d79eccd6dd Fix errno handling in posix_openpt.
The implementation of posix_openpt on Linux can fail in a few extra
ways if the appropriate pseudo filesystems are not mounted etc.  In
some of these cases we have to explicitly set errno.
2009-10-29 11:27:53 -07:00
Andreas Schwab
22bc5239e1 Fix wrap-around in memusage. 2009-10-29 11:25:20 -07:00
Ulrich Drepper
d94760f944 Fix getttyname on Linux when called for different devices.
If a second call to ttyname is not for the same type of device (e.g.,
serial vs ptty) the prefix of the buffer was wrong.  Don't rely on
the previous content, always reinitialize it.
2009-10-29 11:02:34 -07:00
Philip Prindeville
8d55628106 Add macros for DSCP markings. 2009-10-29 10:40:55 -07:00
Ulrich Drepper
81c84bd902 Fix F_GETOWN on some Linux archs.
The syscall conventions on some Linux archs prevented F_GETOWN from working
correctly in some situations.  This can be rectified when using the new
F_GETOWN_EX command.
2009-10-29 10:12:59 -07:00
Ulrich Drepper
d9e8f9ec55 Define F_OWNER_* and f_owner_ex for Linux targets. 2009-10-29 08:48:17 -07:00
Ulrich Drepper
92934e8b84 Allow compat handling of getutmp. 2009-10-29 08:33:12 -07:00
Petar Bogdanovic
3a85895fa3 Fix mixing IPv4 and IPv6 name server in resolv.conf. 2009-10-29 08:17:48 -07:00
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