Paolo Bonzini [Wed, 18 Nov 2009 00:23:24 +0000 (16:23 -0800)]
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.
Andreas Schwab [Tue, 10 Nov 2009 15:36:50 +0000 (07:36 -0800)]
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.
Andreas Schwab [Fri, 6 Nov 2009 17:29:24 +0000 (09:29 -0800)]
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.
Jakub Jelinek [Fri, 6 Nov 2009 17:27:41 +0000 (09:27 -0800)]
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).
Jakub Jelinek [Fri, 6 Nov 2009 17:26:31 +0000 (09:26 -0800)]
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.
Anders Johansson [Fri, 30 Oct 2009 05:18:26 +0000 (22:18 -0700)]
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.
Andreas Schwab [Thu, 29 Oct 2009 18:27:53 +0000 (11:27 -0700)]
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.
Ulrich Drepper [Thu, 29 Oct 2009 18:02:34 +0000 (11:02 -0700)]
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.
Ulrich Drepper [Thu, 29 Oct 2009 17:12:59 +0000 (10:12 -0700)]
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.
David S. Miller [Wed, 14 Oct 2009 12:52:42 +0000 (14:52 +0200)]
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)