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
Ulrich Drepper [Fri, 17 Jul 2009 12:58:12 +0000 (05:58 -0700)]
Add missing BZ number in ChangeLog.
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.
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.
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.
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.
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.
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.
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.
Ulrich Drepper [Thu, 16 Jul 2009 14:02:27 +0000 (07:02 -0700)]
Fix up whitespaces in new memcmp for x86-64.
H.J. Lu [Thu, 16 Jul 2009 14:00:34 +0000 (07:00 -0700)]
memcmp implementation for x86-64 using SSE2.
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.
Ulrich Drepper [Thu, 16 Jul 2009 00:51:11 +0000 (17:51 -0700)]
Fix typo in last change.
Ulrich Drepper [Thu, 16 Jul 2009 00:41:36 +0000 (17:41 -0700)]
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.
Ulrich Drepper [Wed, 15 Jul 2009 15:27:19 +0000 (08:27 -0700)]
Fix build issue with modules for audit test on machines != x86-64.
H.J. Lu [Fri, 10 Jul 2009 19:04:14 +0000 (12:04 -0700)]
Add AVX support to ld.so auditing for x86-64.
Ulrich Drepper [Fri, 10 Jul 2009 15:50:33 +0000 (08:50 -0700)]
Remove do-lookup.h.
It is not necessary/useful anymore to have the content separate
from dl-lookup.c.
Ulrich Drepper [Fri, 10 Jul 2009 13:14:25 +0000 (06:14 -0700)]
Fix comment in Linux's <sys/epoll.h>.
Ulrich Drepper [Fri, 10 Jul 2009 06:52:22 +0000 (23:52 -0700)]
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.
Ulrich Drepper [Tue, 7 Jul 2009 16:53:01 +0000 (09:53 -0700)]
Define STB_GNU_UNIQUE.
Ulrich Drepper [Tue, 7 Jul 2009 16:49:55 +0000 (09:49 -0700)]
Clean up code for hash table handling in ld.so.
Ulrich Drepper [Mon, 6 Jul 2009 13:55:57 +0000 (06:55 -0700)]
Optimize test for valid ELF symbol types in lookup function.
Andreas Schwab [Mon, 6 Jul 2009 06:46:03 +0000 (23:46 -0700)]
Fix wrong PPC_FEATURE_* values.
Nothing uses these wrong values yet, but it fixes a warning due to
conflicting definitions in <asm/cputable.h>.
Ulrich Drepper [Fri, 3 Jul 2009 10:23:01 +0000 (03:23 -0700)]
Minor cleanups in recently added files.
Ulrich Drepper [Fri, 3 Jul 2009 10:01:57 +0000 (03:01 -0700)]
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.
H.J. Lu [Fri, 3 Jul 2009 09:48:56 +0000 (02:48 -0700)]
Add SSE4.2 support for strcspn, strpbrk, and strspn on x86-64.
Ulrich Drepper [Thu, 2 Jul 2009 11:34:35 +0000 (04:34 -0700)]
Fix whitespace in last patch.
H.J. Lu [Thu, 2 Jul 2009 11:33:12 +0000 (04:33 -0700)]
Fix handling of xmm6 in ld.so audit hooks on x86-64.
Ulrich Drepper [Thu, 2 Jul 2009 10:43:05 +0000 (03:43 -0700)]
Whitespace fixes in last patch.
H.J. Lu [Thu, 2 Jul 2009 10:39:03 +0000 (03:39 -0700)]
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.
Ulrich Drepper [Thu, 2 Jul 2009 10:30:55 +0000 (03:30 -0700)]
Fix possible race when freeing object in fast bin list.
Ulrich Drepper [Wed, 1 Jul 2009 10:41:30 +0000 (03:41 -0700)]
Fix NIS and NIS+ getnetbyaddr backends.
The addresses were interpreted as class-based network addresses.
Ulrich Drepper [Wed, 1 Jul 2009 10:33:26 +0000 (03:33 -0700)]
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.
Ulrich Drepper [Wed, 1 Jul 2009 09:42:59 +0000 (02:42 -0700)]
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.
Ulrich Drepper [Tue, 30 Jun 2009 12:33:52 +0000 (05:33 -0700)]
Regenerated.
Ulrich Drepper [Tue, 30 Jun 2009 11:41:38 +0000 (04:41 -0700)]
Fix little checkin problem in last patch.
H.J. Lu [Tue, 30 Jun 2009 11:39:09 +0000 (04:39 -0700)]
Determine and store processor family and model on x86-64.
Ulrich Drepper [Fri, 26 Jun 2009 10:47:47 +0000 (03:47 -0700)]
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.
Ulrich Drepper [Thu, 25 Jun 2009 15:57:44 +0000 (08:57 -0700)]
Whitespace fix.
Andreas Schwab [Thu, 25 Jun 2009 15:56:20 +0000 (08:56 -0700)]
Fix text relocation on ppc32.
The ____longjmp_chk implementation didn't load from memory the
right way.
Andreas Schwab [Wed, 24 Jun 2009 18:36:57 +0000 (11:36 -0700)]
Fix cfa offset for saved registers in PPC sqrt implementations.
Andreas Schwab [Tue, 23 Jun 2009 16:13:30 +0000 (09:13 -0700)]
Handle empty TZ strings at the end of new-style timzeone files correctly.
Ulrich Drepper [Tue, 23 Jun 2009 05:53:20 +0000 (22:53 -0700)]
Update from translation team.
Ulrich Drepper [Tue, 23 Jun 2009 04:55:15 +0000 (21:55 -0700)]
Update from translation team.
Ulrich Drepper [Tue, 23 Jun 2009 03:39:37 +0000 (20:39 -0700)]
Clean up whitespaces in last patch.
H.J. Lu [Tue, 23 Jun 2009 03:38:41 +0000 (20:38 -0700)]
Add SSE4.2 support for strcmp and strncmp on x86-64.
Ulrich Drepper [Mon, 22 Jun 2009 22:11:18 +0000 (15:11 -0700)]
More whitespace cleanups.
Ulrich Drepper [Mon, 22 Jun 2009 22:10:30 +0000 (15:10 -0700)]
Clean up whitespaces in last patch.
H.J. Lu [Mon, 22 Jun 2009 22:07:40 +0000 (15:07 -0700)]
Add more IFUNC tests.
Mostly tests around not-exported IFUNC functions, IFUNC in statically
linked binaries and PIEs, etc.
Ulrich Drepper [Sun, 21 Jun 2009 03:39:19 +0000 (20:39 -0700)]
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.
Ulrich Drepper [Fri, 19 Jun 2009 05:37:31 +0000 (22:37 -0700)]
Add some more tests to malloc to detect corruptions.
Ulrich Drepper [Thu, 18 Jun 2009 14:52:38 +0000 (07:52 -0700)]
Add 802.15.4 definitions to header files.
H.J. Lu [Thu, 18 Jun 2009 02:55:18 +0000 (19:55 -0700)]
Use +link-pie Makefile rule to link PIE ifunc tests.
Ulrich Drepper [Wed, 17 Jun 2009 03:46:42 +0000 (20:46 -0700)]
Build pt_chown as PIE.
Andreas Schwab [Wed, 17 Jun 2009 03:34:55 +0000 (20:34 -0700)]
Don't treat bug reporting message as a format string.
Ulrich Drepper [Tue, 16 Jun 2009 22:59:35 +0000 (15:59 -0700)]
Git didn't see the ChangeLog entry.
Ulrich Drepper [Tue, 16 Jun 2009 22:58:07 +0000 (15:58 -0700)]
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.
Jakub Jelinek [Tue, 16 Jun 2009 17:23:31 +0000 (10:23 -0700)]
Fix x86-64 memchr for large lengths.
H.J. Lu [Tue, 16 Jun 2009 16:19:59 +0000 (09:19 -0700)]
Consolidate PIE linking Makefile rules.
Ryan S. Arnold [Tue, 16 Jun 2009 15:29:04 +0000 (08:29 -0700)]
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
Ulrich Drepper [Tue, 16 Jun 2009 15:25:01 +0000 (08:25 -0700)]
Define week, first_weekday, first_workday in de_AT locale.
BZ #10011
Ulrich Drepper [Tue, 16 Jun 2009 15:00:10 +0000 (08:00 -0700)]
Add missing include.
Ulrich Drepper [Tue, 16 Jun 2009 14:59:09 +0000 (07:59 -0700)]
Fold Linux-specific grantpt code into Unix version.
Ulrich Drepper [Tue, 16 Jun 2009 14:48:27 +0000 (07:48 -0700)]
Run tst-fgetwc with necessary envvar.
Ulrich Drepper [Tue, 16 Jun 2009 05:58:21 +0000 (22:58 -0700)]
Optimize pt_chown.
Don't call chown and chmod if not necessary.
Ulrich Drepper [Tue, 16 Jun 2009 05:56:51 +0000 (22:56 -0700)]
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
Ulrich Drepper [Tue, 16 Jun 2009 04:12:57 +0000 (21:12 -0700)]
When iterating over CPU bitmask, don't try more than CPU_SETSIZE.
Arnaud Ebalard [Tue, 16 Jun 2009 03:33:39 +0000 (20:33 -0700)]
Fix type of nd_opt_home_agent_info_preference.
Aurelien Jarno [Tue, 16 Jun 2009 00:49:35 +0000 (17:49 -0700)]
Extend getent to handle the shadow database.
BZ #10207
Joe Landers [Tue, 16 Jun 2009 00:37:40 +0000 (17:37 -0700)]
Fix memory leak when batch-reading large NIS password maps.
Not the whole was traversed in the function to free all buffers.
BZ #10203
Bruce Dubbs [Tue, 16 Jun 2009 00:27:48 +0000 (17:27 -0700)]
(do_test): Use de_DE.UTF-8 as locale name.
Ulrich Drepper [Mon, 15 Jun 2009 23:17:09 +0000 (16:17 -0700)]
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
Ulrich Drepper [Mon, 15 Jun 2009 18:00:08 +0000 (11:00 -0700)]
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.
Akinori Hattori [Mon, 15 Jun 2009 17:54:26 +0000 (10:54 -0700)]
Handle leap seconds even if no DST rule exists.
This fixes BZ #10211.
Jim Meyering [Mon, 15 Jun 2009 16:03:56 +0000 (18:03 +0200)]
exempt timezone files from the no-bad-whitespace policy
* .gitattributes: New file. Exempt imported timezone files from
the no-bad-whitespace rules.
Ulrich Drepper [Mon, 15 Jun 2009 15:49:18 +0000 (08:49 -0700)]
Update from tzcode2009i.
Ulrich Drepper [Mon, 15 Jun 2009 15:39:40 +0000 (08:39 -0700)]
Update timezone data from tzdata2009i.
Jakub Jelinek [Mon, 15 Jun 2009 14:46:53 +0000 (07:46 -0700)]
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.
Ulrich Drepper [Mon, 15 Jun 2009 14:25:14 +0000 (07:25 -0700)]
Missing BZ number.
Sofwath [Mon, 15 Jun 2009 14:24:29 +0000 (07:24 -0700)]
Dhivehi language locale for Maldives.
Ulrich Drepper [Mon, 15 Jun 2009 01:11:09 +0000 (18:11 -0700)]
Update from translation team.
Ulrich Drepper [Sun, 14 Jun 2009 23:09:42 +0000 (16:09 -0700)]
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.
Ulrich Drepper [Fri, 12 Jun 2009 15:34:02 +0000 (08:34 -0700)]
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.
Bryan Kadzban [Thu, 11 Jun 2009 18:32:51 +0000 (11:32 -0700)]
Fix futex syscall parameter for x86 absolute timeout waits.
This affects only installations compiled for kernels older than 2.6.18.
Ulrich Drepper [Thu, 11 Jun 2009 17:07:33 +0000 (10:07 -0700)]
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.
J.H.M. Dassen [Tue, 9 Jun 2009 14:58:02 +0000 (07:58 -0700)]
Remove comma at end of enum.
Pravin Satpute [Tue, 9 Jun 2009 14:46:30 +0000 (07:46 -0700)]
Urdu language locale for India.
Ulrich Drepper [Tue, 9 Jun 2009 14:01:42 +0000 (07:01 -0700)]
Don't premature stop parsing mode string of fopen.
Ulrich Drepper [Tue, 9 Jun 2009 13:59:02 +0000 (06:59 -0700)]
(_IO_new_file_fopen): Don't prematurely stop parsing mode string.
Ulrich Drepper [Fri, 5 Jun 2009 23:54:50 +0000 (16:54 -0700)]
Add SSE4.2 optimized rawmemchr implementation for x86-64.
Ulrich Drepper [Fri, 5 Jun 2009 18:51:59 +0000 (11:51 -0700)]
Forgot some more cleanups for the SSE4.2 strlen on x86-64.
Ulrich Drepper [Fri, 5 Jun 2009 18:39:45 +0000 (11:39 -0700)]
Add missing cleanups from SSE4.2 x86-64 strlen.
Ulrich Drepper [Fri, 5 Jun 2009 18:32:00 +0000 (11:32 -0700)]
Optimize x86-64 strlen for SSE4.2.
The SSE4.2 implementation is used in the DSO only. The patch also adds
some infrastructure to be used in similar code later one.
Ulrich Drepper [Fri, 5 Jun 2009 16:42:32 +0000 (09:42 -0700)]
Fix build problems with old binutils.
Old binutils don't provide IFUNC and don't generate the section start/end
symbols we expect. At least for now only add the initializer code for
static IFUNC relocations if multi-arch support is requested.
Ulrich Drepper [Thu, 4 Jun 2009 23:45:35 +0000 (16:45 -0700)]
More small optimizations for x86-64 strlen.
Ulrich Drepper [Thu, 4 Jun 2009 17:54:29 +0000 (10:54 -0700)]
Tiny strlen for x86-64 optimization.
I didn't remove an instruction from a previous version in the final
version.
H.J. Lu [Wed, 3 Jun 2009 23:21:40 +0000 (16:21 -0700)]
Test for ELF IFUNC functionality.
Ulrich Drepper [Wed, 3 Jun 2009 15:30:35 +0000 (08:30 -0700)]
Terminate correct buffer.
Little typo could cause additional characters to be printed.
Ulrich Drepper [Tue, 2 Jun 2009 14:11:51 +0000 (07:11 -0700)]
Add missing __execvpe prototype.
Avoids warnings.
Ulrich Drepper [Tue, 2 Jun 2009 14:03:02 +0000 (07:03 -0700)]
Implement execvpe.
There is some existing practice in other OSes and it's trivial to
implement giving the existing code. Fixes BZ #10221.