Raspbian automatic forward porter [Fri, 4 Oct 2019 01:23:58 +0000 (02:23 +0100)]
Merge version 2.29-1+rpi1 and 2.29-2 to produce 2.29-2+rpi1
Aurelien Jarno [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Merge glibc (2.29-2) import into refs/heads/workingbranch
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-ld.so-cache-new-format
2018-09-16 Josh Triplett <josh@joshtriplett.org>
* elf/ldconfig.c: Default to the new format for ld.so.cache. glibc has
supported this format for 18+ years.
* elf/dl-cache.c (_dl_load_cache_lookup): Reorder conditionals to look
for the new format first.
Gbp-Pq: Topic any
Gbp-Pq: Name submitted-ld.so-cache-new-format.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
git-socket-constants
2019-07-24 Florian Weimer <fweimer@redhat.com>
[BZ #24532]
Linux: Use in-tree copy of SO_ constants for !__USE_MISC.
* sysdeps/unix/sysv/linux/Makefile [$(subdir) == socket]
(sysdep_headers): Add bits/socket-constants.h.
(tests-special): Add tst-socket-consts.out.
(tst-socket-consts.out): New target.
* sysdeps/unix/sysv/linux/bits/socket.h: Remove macro tracking
around <asm/unistd.h>.
[__USE_MISC]: Include <bits/types/time_t.h> before <asm/socket.h>.
[!__USE_MISC]: Include <sys/socket-constants.h> instead of
<asm/socket.h>.
* sysdeps/unix/sysv/linux/bits/tst-socket-consts.py: New file.
* sysdeps/unix/sysv/linux/bits/socket-constants.h: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/socket-constants.h: Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/socket-constants.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/socket-constants.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/socket-constants.h:
Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/socket-constants.h: Likewise.
Gbp-Pq: Topic any
Gbp-Pq: Name git-socket-constants.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
git-pexpect-pretty-printers
2019-02-14 Jan Kratochvil <jan.kratochvil@redhat.com>
* scripts/test_printers_common.py: Set TERM to a known harmless
value.
Gbp-Pq: Topic any
Gbp-Pq: Name git-pexpect-pretty-printers.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
git-libio-stdout-putc
2019-01-31 Paul Pluzhnikov <ppluzhnikov@google.com>
[BZ #24051]
* libio/ioputs.c (_IO_puts): Use stdout instead of _IO_stdout.
* libio/fileops.c (_IO_new_file_underflow): Likewise
* libio/wfileops.c (_IO_wfile_underflow): Likewise
* libio/putchar.c (putchar): Likewise.
* libio/putchar_u.c (putchar_unlocked): Likewise.
* libio/putwchar.c (putchar): Likewise.
* libio/putwchar_u.c (putwchar_unlocked): Likewise.
* libio/tst-bz24051.c: New test.
* libio/Makefile (tests): Add tst-bz24051
Gbp-Pq: Topic any
Gbp-Pq: Name git-libio-stdout-putc.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-cudacc-float128
Gbp-Pq: Topic any
Gbp-Pq: Name local-cudacc-float128.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-resolv-unaligned
Gbp-Pq: Topic any
Gbp-Pq: Name submitted-resolv-unaligned.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-bootstrap-headers
Taken from EGLIBC, r1484 + r1525
2018-03-09 Aurelien Jarno <aurelien@aurel32.net>
* Makefile (install-headers): Amend to install gnu/lib-names-$abi.h.
2014-07-30 Helmut Grohne <helmut@subdivi.de>
* With the advent of multilib gnu/stubs.h became a meta-header that
includes the correct stubs-$abi.h. So install gnu/stubs.h as usual
and install stubs-bootstrap.h as gnu/stubs-$abi.h
2007-02-20 Jim Blandy <jimb@codesourcery.com>
* Makefile (install-headers): Preserve old behavior: depend on
$(inst_includedir)/gnu/stubs.h only if install-bootstrap-headers
is set; otherwise, place gnu/stubs.h on the 'install-others' list.
2007-02-16 Jim Blandy <jimb@codesourcery.com>
* Makefile: Amend make install-headers to install everything
necessary for building a cross-compiler. Install gnu/stubs.h as
part of 'install-headers', not 'install-others'.
If install-bootstrap-headers is 'yes', install a dummy copy of
gnu/stubs.h, instead of computing the real thing.
* include/stubs-bootstrap.h: New file.
Gbp-Pq: Topic any
Gbp-Pq: Name local-bootstrap-headers.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-libpic
Gbp-Pq: Topic any
Gbp-Pq: Name local-libpic.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ldconfig-ignore-ld.so
Gbp-Pq: Topic any
Gbp-Pq: Name local-ldconfig-ignore-ld.so.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
unsubmitted-dlopen-static-crash
Gbp-Pq: Topic any
Gbp-Pq: Name unsubmitted-dlopen-static-crash.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
unsubmitted-ldso-machine-mismatch
Gbp-Pq: Topic any
Gbp-Pq: Name unsubmitted-ldso-machine-mismatch.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-tst-eintr1-eagain
2012-06-06 Jonathan Nieder <jrnieder@gmail.com>
* nptl/tst-eintr1.c (tf1): Tolerate EAGAIN from pthread_create.
Gbp-Pq: Topic any
Gbp-Pq: Name local-tst-eintr1-eagain.diff
Roland Mc Grath [Tue, 8 May 2012 15:44:57 +0000 (17:44 +0200)]
Warn if user requests __FORTIFY_SOURCE but it is disabled
X-Git-Tag: glibc-2.16-tps~448
X-Git-Url: http://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=
05c2c9618f583ea4acd69b3fe5ae2a2922dd2ddc
Warn if user requests __FORTIFY_SOURCE but it is disabled
[BZ #13979]
* include/features.h: Warn if user requests __FORTIFY_SOURCE
checking but the checks are disabled for any reason.
Gbp-Pq: Topic any
Gbp-Pq: Name local-revert-bz13979.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-disable-libnss-db
Disable libnss-db as the format is not compatible with the libnss-db package, and is
architecture dependent.
Gbp-Pq: Topic any
Gbp-Pq: Name local-disable-libnss-db.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ldconfig-multiarch
Gbp-Pq: Topic any
Gbp-Pq: Name local-ldconfig-multiarch.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-nptl-invalid-td
2010-02-27 Aurelien Jarno <aurelien@aurel32.net>
* pthreadP.h(INVALID_TD_P, INVALID_NOT_TERMINATED_TD_P): detect
NULL pointers.
Gbp-Pq: Topic any
Gbp-Pq: Name submitted-nptl-invalid-td.patch
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-bits-fcntl_h-at
2012-10-08 Wookey <wookey@wookware.org>
* include AT_* defines in sysdeps/unix/sysv/linux/aarch64/bits/fcntl.h
2009-11-19 Aurelien Jarno <aurelien@aurel32.net>
* io/fcntl.h: Move AT_* defines to...
* sysdeps/mach/hurd/bits/fcntl.h: ...here.
* sysdeps/unix/sysv/linux/powerpc/bits/fcntl.h: ...here.
* sysdeps/unix/sysv/linux/s390/bits/fcntl.h: ...here.
* sysdeps/unix/sysv/linux/sh/bits/fcntl.h: ...here.
* sysdeps/unix/sysv/linux/sparc/bits/fcntl.h: ...here.
* sysdeps/unix/sysv/linux/x86/bits/fcntl.h: ...here.
2009-11-19 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/unix/sysv/linux/alpha/bits/fcntl.h: Define AT_*
constants.
* sysdeps/unix/sysv/linux/arm/bits/fcntl.h: Define AT_*
constants.
* sysdeps/unix/sysv/linux/hppa/bits/fcntl.h: Define AT_*
constants.
* sysdeps/unix/sysv/linux/ia64/bits/fcntl.h: Define AT_*
constants.
* sysdeps/unix/sysv/linux/m68k/bits/fcntl.h: Define AT_*
constants.
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Define AT_*
constants.
Gbp-Pq: Topic any
Gbp-Pq: Name submitted-bits-fcntl_h-at.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-missing-etc-hosts
Gbp-Pq: Topic any
Gbp-Pq: Name submitted-missing-etc-hosts.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-nss-overflow
2009-01-12 Arthur Loiret <aloiret@debian.org>
nss/nss_files/files-parse.c: Include <limits.h>.
(INT_FIELD): Convert field to uintmax_t and check for 32-bit overflow.
(INT_FIELD_MAYBE_NULL): Likewise.
Gbp-Pq: Topic any
Gbp-Pq: Name local-nss-overflow.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-tcsetaddr
# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: tcsetattr sanity check on PARENB/CREAD/CSIZE for ptys
# DP: Related bugs: 218131
# DP: Author: Jeff Licquia <licquia@progeny.com>
# DP: Upstream status: [In CVS | Debian-Specific | Pending | Not submitted ]
# DP: Status Details:
# DP: Date: 2003-10-29
Gbp-Pq: Topic any
Gbp-Pq: Name local-tcsetaddr.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-stubs_h
Gbp-Pq: Topic any
Gbp-Pq: Name local-stubs_h.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-nss-upgrade
# DP: This patch makes future upgrades easier. It resolves problems with
# DP: running daemons having NSS modules upgraded out from under them.
Gbp-Pq: Topic any
Gbp-Pq: Name local-nss-upgrade.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ldconfig
# DP: Make it so that a missing /etc/ld.so.conf does not cause an error
# DP: message, unless --verbose is enabled. This keeps the debian
# DP: installer from barfing during bootstrap of the system.
# DP:
# DP: Updated by gotom, the previous one seems being wrong because it suppresses
# DP: _all_ warnings about "can't open configuration file". otoh, I introduce
# DP: newer patches. it should be checked using chroot and should be contacted
# DP: to the upstream.
# DP: Date: (Updated 2005-01-02 gotom)
# previous patch.
#--- elf/ldconfig.c 2003-07-08 23:26:27.
000000000 +0900
#+++ elf/ldconfig.c.debian 2003-07-08 23:29:43.
000000000 +0900
#@@ -920,26 +920,24 @@
# {
# FILE *file = NULL;
# char *line = NULL;
#- const char *canon;
#+ const char *canon = filename;
# size_t len = 0;
#+ int file_fd;
#
# if (opt_chroot)
# {
# canon = chroot_canon (opt_chroot, filename);
#- if (canon)
#- file = fopen (canon, "r");
#- else
#+ if (!canon)
# canon = filename;
# }
#- else
#- {
#- canon = filename;
#- file = fopen (filename, "r");
#- }
#+
#+ if ((file_fd = open(canon, O_RDONLY | O_EXCL, 0022)) != -1)
#+ file = fdopen (file_fd, "r");
#
# if (file == NULL)
# {
#- error (0, errno, _("Can't open configuration file %s"), canon);
#+ if (opt_verbose)
#+ error (0, errno, _("Can't open configuration file %s"), canon);
# if (canon != filename)
# free ((char *) canon);
# return;
2004-10-25 GOTO Masanori <gotom@debian.or.jp>
* elf/ldconfig.c: Don't print error when default ld.so.conf
is not existed.
Gbp-Pq: Topic any
Gbp-Pq: Name local-ldconfig.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ldso-disable-hwcap
# DP: Allow hwcap's to be disabled with the existence of a file. This
# DP: makes it easier to do upgrades with optimized (hwcap) library
# DP: packages.
# DP: Author: Rewritten by Daniel Jacobowitz <dan@debian.org>
# DP: Upstream status: Debian-Specific
# DP: Status Details: This isn't going to be acceptable upstream, we
# DP: only need it because we support in-place upgrades.
# DP: Date: 2003-10-28, (Updated 2005-01-02 gotom, 2007-05-20 aurel32)
Gbp-Pq: Topic any
Gbp-Pq: Name local-ldso-disable-hwcap.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ld-multiarch
2012-05-01 Aurelien Jarno <aurelien@aurel32.net>
* elf/Makefile(trusted-dirs.st): Fix DL_DST_LIB computation with
two level slibdir directories.
2009-09-08 Aurelien Jarno <aurelien@aurel32.net>
* Makeconfig: add support for multiarch compat directories.
Gbp-Pq: Topic any
Gbp-Pq: Name local-ld-multiarch.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-fhs-nscd
Gbp-Pq: Topic any
Gbp-Pq: Name local-fhs-nscd.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-fhs-linux-paths
# DP: Description: Correct linux paths for FHS
# DP: Author: Unknown
# DP: Upstream status: Debian-Specific
# DP: Status Details: GNU doesn't follow the FHS.
# DP: Date: Unknown
Gbp-Pq: Topic any
Gbp-Pq: Name local-fhs-linux-paths.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-bindresvport_blacklist
Patch from the OpenSUSE glibc
Gbp-Pq: Topic any
Gbp-Pq: Name local-bindresvport_blacklist.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-asserth-decls
# DP: Description: /usr/include/assert.h
# DP: One must be allowed to include <assert.h> multiple times with different
# DP: values for NDEBUG, so the file is not protected against multiple
# DP: inclusions. Unfortunately this means that the declarations for
# DP: __assert_fail() and the like may occur multiple times in a compilation
# DP: unit, causing gcc to issue a batch of warnings.
# DP: I believe this can be fixed by protecting the declarations (but only
# DP: those declarations) against repetition.
# DP: Author: Jeroen T. Vermeulen <jtv@xs4all.nl>
# DP: Upstream status: Not submitted
# DP: Status Details: Plan to submit
# DP: Date: 2003-01-01
Gbp-Pq: Topic any
Gbp-Pq: Name local-asserth-decls.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-rtlddir-cross
Gbp-Pq: Topic any
Gbp-Pq: Name local-rtlddir-cross.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-po-fr-fixes
2014-05-05 Aurelien Jarno <aurelien@aurel32.net>
* po/fr.po: Fix French translation of inappropriate.
Gbp-Pq: Topic all
Gbp-Pq: Name submitted-po-fr-fixes.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-nis-shadow
Gbp-Pq: Topic all
Gbp-Pq: Name local-nis-shadow.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ldd
2013-05-11 Aurelien Jarno <aurelien@aurel32.net>
* elf/ldd.bash.in: Verify the dynamic linker is working before
using it.
Gbp-Pq: Topic all
Gbp-Pq: Name local-ldd.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ru_RU
# DP: Description: Change default charset for 'russian' locale alias
# DP: Related bugs: #62586
# DP: Dpatch author: Ben Collins
# DP: Patch author: Alistair McKinstry
# DP: Upstream status: Submitted
# DP: Status Details: http://sources.redhat.com/bugzilla/show_bug.cgi?id=120
# DP: Date: 2002-03-10
Gbp-Pq: Topic all
Gbp-Pq: Name local-ru_RU.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-remove-manual
The GNU Libc Reference manual has to be removed for licensing reasons.
But some files have a dependency on manual/errno.texi; the easiest
solution is to drop those dependencies and make sure that MAKEINFO=:
so that no target depends on manual/*.texi files.
Gbp-Pq: Topic all
Gbp-Pq: Name local-remove-manual.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-alias-et_EE
Gbp-Pq: Topic all
Gbp-Pq: Name local-alias-et_EE.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-fpscr_values
Gbp-Pq: Topic sh4
Gbp-Pq: Name local-fpscr_values.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-powerpc8xx-dcbz
Gbp-Pq: Topic powerpc
Gbp-Pq: Name local-powerpc8xx-dcbz.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-rld_map
2010-05-20 Aurelien Jarno <aurelien@aurel32.net>
* sysdeps/mips/dl-machine.h (ELF_MACHINE_DEBUG_SETUP): test for
RLD_MAP pointer before using it.
Gbp-Pq: Topic mips
Gbp-Pq: Name submitted-rld_map.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-gcc34-seccomment
# DP: Description: Make glibc-2.3.5 compile with gcc-3.4/4.0 + binutils 2.16
# on m68k fixed by adding #APP.
# DP: Related bugs:
# DP: Dpatch author: GOTO Masanori <gotom@debian.org>
# DP: Patch author: Andreas Schwab <schwab@suse.de>
# DP: Upstream status: Pending
# DP: Status Details:
# DP: Date: 2005-08-03
From: Andreas Schwab <schwab@suse.de>
Gbp-Pq: Topic m68k
Gbp-Pq: Name submitted-gcc34-seccomment.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-reloc
# DP: Description: binutils bug workaround
# DP: Related bugs: #263601: m68k: workaround for binutils problem
# DP: Dpatch author: Roman Zippel <zippel@linux-m68k.org>
# DP: Patch author: Richard Zidlicky <rz@linux-m68k.org>
# DP: Upstream status: Debian-Specific
# DP: Status Details: Actual fix is to modify m68k binutils.
# DP: Date: 2004-08-09
Gbp-Pq: Topic m68k
Gbp-Pq: Name local-reloc.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-dwarf2-buildfix
# DP: Description: Adding empty m68k framestate.c not to build for dwarf2.
# DP: Related bugs:
# DP: Dpatch author: GOTO Masanori <gotom@debian.org>
# DP: Patch author: GOTO Masanori <gotom@debian.org>
# DP: Upstream status: Debian-Specific
# DP: Status Details: m68k uses sjlj exceptions, not dwarf2 unwind.
# DP: This patch adds empty framestate.c for m68k to avoid
# DP: dwarf2 build failure.
# DP: Date: 2003-07-19 (Update 2005-03-16 gotom)
2005-03-16 GOTO Masanori <gotom@debian.org>
* sysdeps/m68k/unwind-pe.c: Update to fix compilation failure.
2003-07-19 GOTO Masanori <gotom@debian.org>
* sysdeps/m68k/framestate.c: Add to fix compilation failure
with sjlj exception, suggested by Philip Blundell.
Gbp-Pq: Topic m68k
Gbp-Pq: Name local-dwarf2-buildfix.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-no-execfn
AT_EXECFN is Linux specific
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-no-execfn.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-getaddrinfo-freebsd-kernel
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-getaddrinfo-freebsd-kernel.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-scripts
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-scripts.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-fbtl-depends
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-fbtl-depends.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-fbtl
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-fbtl.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-sysdeps
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-sysdeps.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-grantpt
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-grantpt.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-config_h_in
2009-05-23 Aurelien Jarno <aurelien@aurel32.net>
* config.h.in (__KFREEBSD_KERNEL_VERSION): Add.
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name local-config_h_in.patch
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-auxv
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name submitted-auxv.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-waitid
Gbp-Pq: Topic kfreebsd
Gbp-Pq: Name submitted-waitid.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
unsubmitted-quiet-ldconfig
Gbp-Pq: Topic i386
Gbp-Pq: Name unsubmitted-quiet-ldconfig.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-biarch
# DP: Description: Allow ldconfig to work on i386/x86-64 biarch systems
# DP: Related bugs:
# DP: Dpatch author: Daniel Jacobowitz
# DP: Patch author: Daniel Jacobowitz
# DP: Upstream status: Debian-Specific
# DP: Status Details: based on Ubuntu change by Jeff Bailey
# DP: Date: 2005-10-13
Gbp-Pq: Topic i386
Gbp-Pq: Name local-biarch.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
git-renameat2
commit
1b2184177553ce4ef8458034927ef50854be2af6
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Wed Feb 27 07:53:13 2019 -0800
hurd: Add renameat2 support for RENAME_NOREPLACE
* include/stdio.h (__renameat2): New hidden prototype.
* stdio-common/renameat2.c (__renameat2): Add hidden definition.
* sysdeps/mach/hurd/renameat.c (__renameat): Move implementation to...
* sysdeps/mach/hurd/renameat2.c (__renameat2): ... new function, and
add support for RENAME_NOREPLACE.
* sysdeps/unix/sysv/linux/renameat2.c (__renameat2): Add hidden definition.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-renameat2.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Make F_RDLCK/F_WRLCK atomic
lockf(LOCK_EX) would for instance drop any existing shared lock before taking
the exclusive lock. F_RDLCK/F_WRLCK need atomic changes, so introduce and use
__LOCK_ATOM
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
* misc/sys/file.h (__LOCK_ATOMIC): New macro.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Use __LOCK_ATOMIC along LOCK_SH and
LOCK_EX.
XXX: Adding to misc/sys/file.h is questionable
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-WRLCK-upgrade.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-hurd_sigstate-PLT
===================================================================
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-hurd_sigstate-PLT.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Enable global signal distribution in htl
* sysdeps/mach/hurd/htl/pt-sigstate-init.c (__pthread_sigstate_init):
Call _hurd_sigstate_set_global_rcv().
* sysdeps/mach/hurd/htl/pt-sigstate-destroy.c
(__pthread_sigstate_destroy): Call _hurd_sigstate_delete().
* sysdeps/mach/hurd/htl/pt-sigstate.c: Include <hurd/msg.h>
(__pthread_sigstate): Use _hurd_sigstate_lock()/_hurd_sigstate_unlock()
and _hurd_sigstate_pending(). Call __msg_sig_post() to wake up thread
with pending signals.
* sysdeps/mach/hurd/Makefile (LDLIBS-pthread.so): Add
$(objdir)/hurd/libhurduser.so.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name libpthread_sigs.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-exec_filename
Keep compatibility with experimental implementation
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-exec_filename.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-no_unsupported_ioctls
These ioctls are not actually supported (and will probably not be in the
close future), and are not available on Linux either, so don't expose
them to application at the risk of them complaining that they don't work
(e.g. xterm using TIOCLSET).
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-no_unsupported_ioctls.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
XXX: make libc_rwlock recursive
Without making the rwlocks recursive, running fakeroot-tcp gets this:
#0 0x0106e91c in mach_msg_trap () at /usr/src/glibc-2.24/build-tree/hurd-i386-libc/mach/mach_msg_trap.S:2
#1 0x0106f090 in __mach_msg (msg=0x20034a0, option=3, send_size=64, rcv_size=32, rcv_name=421, timeout=0, notify=0) at msg.c:110
#2 0x0125a241 in __gsync_wait (task=1, addr=
19101080, val1=2, val2=0, msec=0, flags=0)
at /usr/src/glibc-2.24/build-tree/hurd-i386-libc/mach/RPC_gsync_wait.c:175
#3 0x010b0743 in __dcigettext (domainname=0x8050740 <_libc_intl_domainname@@GLIBC_2.2.6> "libc",
msgid1=0x8051d88 "undefined symbol: acl_get_fd", msgid2=0x0, plural=0, n=0, category=5) at dcigettext.c:527
#4 0x010af776 in __dcgettext (domainname=0x8050740 <_libc_intl_domainname@@GLIBC_2.2.6> "libc",
msgid=0x8051d88 "undefined symbol: acl_get_fd", category=5) at dcgettext.c:47
#5 0x0124e427 in __dlerror () at dlerror.c:94
#6 0x01035ae3 in load_library_symbols () from /usr/lib/i386-gnu/libfakeroot/libfakeroot-tcp.so
#7 0x01035cc3 in tmp___fxstat64 () from /usr/lib/i386-gnu/libfakeroot/libfakeroot-tcp.so
#8 0x01036cd6 in __fxstat64 () from /usr/lib/i386-gnu/libfakeroot/libfakeroot-tcp.so
#9 0x010ad831 in _nl_load_locale_from_archive (category=category@entry=0, namep=namep@entry=0x200399c) at loadarchive.c:211
#10 0x010ac45b in _nl_find_locale (locale_path=0x0, locale_path_len=0, category=category@entry=0, name=0x200399c) at findlocale.c:154
#11 0x010abde7 in setlocale (category=0, locale=0x804c2e4 "") at setlocale.c:417
#12 0x0804947f in main (argc=2, argv=0x2003ad4) at programs/locale.c:191
That's very unfortunate: libfakeroot gets initialized from a section
where __libc_setlocale_lock is already locked, and thus the dlerror()
call hangs inside __dcigettext. It happens that Linux doesn't have
the problem probably because pthread_rwlock_wrlock returns a EDEADLK
error instead of hanging, and then the first unlock unlocks, and the
second unlock probably returns an EINVAL. This is all very unsafe, but
that's fakeroot-tcp's matter (see http://bugs.debian.org/845930 for the
follow-up)...
We only use it when constructing the debian installer for -s -r options
anyway.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-libc_rwlock_recursive.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Fix SS_ONSTACK support
* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn2): New function,
unlocks SS and returns to the saved PC.
(__sigreturn): Do not unlock SS, and "return" into __sigreturn2 on the
thread stack instead of the saved PC.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-ONSTACK.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
tg-eintr
commit
230b85f414291ac955827aba15cfbd103ab6ebdd
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Thu Jun 9 01:15:10 2016 +0200
Fix pipe() call returning EINTR sometimes
because it uses a critical section
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-eintr.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-mach_print
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-mach_print.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
tg-bootstrap
This dependency is missing, but would pose problem on Darwin
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-bootstrap.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-bind_umask2
2014-08-27 Samuel Thibault <samuel.thibault@ens-lyon.org>
Fix bind when umask is e.g. 0777.
* sysdeps/mach/hurd/bind.c (__bind): Pass mode 0666 to __dir_mkfile
instead of final mode, so that call __ifsock_getsockaddr can always
succeed, before calling __file_chmod to fix the mode according to umask,
before calling __dir_link to show the file.
Part of the original fix was committed, the other hasn't been yet, see Roland's
"Harumph" reply to
https://sourceware.org/ml/libc-alpha/2014-08/msg00408.html
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name submitted-bind_umask2.diff
Richard Braun [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Hurd: make sigstates hold a reference on thread ports
This change is required in order to correctly release per-thread
resources. Directly reusing the threading library reference isn't
possible since the sigstate is also used early in the main thread,
before threading is initialized.
* hurd/hurd/signal.h (_hurd_self_sigstate): Drop thread reference after
calling _hurd_thread_sigstate.
(_hurd_critical_section_lock): Likewise.
* hurd/hurdsig.c (_hurd_thread_sigstate): Add a reference on the thread.
(_hurd_sigstate_delete): Drop thread reference.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-sigstate_thread_reference.diff
Justus Winter [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
submitted-path_mounted
To: libc-alpha@sourceware.org
Subject: [PATCH 2/2] Define _PATH_MOUNTED as "/etc/mtab"
Date: Thu, 15 Aug 2013 10:43:35 +0200
Change the definition of _PATH_MOUNTED to "/etc/mtab". This is the
value used on Linux.
The change is motivated by the fact that on Debian /etc/mtab is a
symbolic link to /proc/mounts. This patch adjusts the macro for
non-linux systems such as Hurd. Changing this using
sysdeps/mach/hurd/paths.h causes build problems because
/usr/include/hurd/paths.h is shadowed by this file. This change is
proposed in the hope that aligning the non-linux targets with the
glibc for Linux is perceived as a good thing while fixing this problem
on Debian/Hurd along the way.
* sysdeps/generic/paths.h (_PATH_MOUNTED): Change value to "/etc/mtab".
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name submitted-path_mounted.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
unsubmitted-clock_t_centiseconds
Some applications assume centisecond precision, or at most millisecond precision
(e.g. guile). This is a work-around for them.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name unsubmitted-clock_t_centiseconds.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Fix poll and select POSIX compliancy details about errors
This fixes the following:
- On error, poll must not return without polling, including EBADF, and instead
report POLLHUP/POLLERR/POLLNVAL
- Select must report EBADF if some set contains an invalid FD.
The idea is to move error management to after all select calls, in the
poll/select final treatment. The error is instead recorded in a new `error'
field, and a new SELECT_ERROR bit set.
Thanks Svante Signell for the initial version of the patch.
* hurd/hurdselect.c (SELECT_ERROR): New macro.
(_hurd_select):
- Add `error' field to `d' structures array.
- If a poll descriptor is bogus, set EBADF, but continue with a zero timeout.
- Go through the whole fd_set, not only until _hurd_dtablesize. Return EBADF
there is any bit set above _hurd_dtablesize.
- Do not request io_select on bogus descriptors (SELECT_ERROR).
- On io_select request error, record the error.
- On io_select bogus reply, use EIO error code.
- On io_select bogus or error reply, record the error.
- Do not destroy reply port for bogus FDs.
- On error, make poll set POLLHUP in the EPIPE case, POLLNVAL in the EBADF
case, or else POLLERR.
- On error, make select simulated readiness.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-poll_errors_fixes.diff
Richard Braun [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Fix timeout handling in _hurd_select
Rely on servers to implement timeouts, so that very short values (including
0) don't make mach_msg return before valid replies can be received. The
purpose of this scheme is to guarantee a full client-server round-trip,
whatever the timeout value.
This change depends on the new io_select_timeout RPC being implemented by
servers.
* hurd/Makefile (user-interfaces): Add io_reply and io_request.
* hurd/hurdselect.c: Include <sys/time.h>, <hurd/io_request.h> and <limits.h>.
(_hurd_select): Replace the call to __io_select with either __io_select_request
or __io_select_timeout_request, depending on the timeout. Count the number of
ready descriptors (replies for which at least one type bit is set). Implement
the timeout locally when there is no file descriptor.
TODO: see XXX
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-io_select_timeout.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
t/EGREGIOUS-fr
Fix grammar in french translation for EGREGIOUS
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-EGREGIOUS-fr.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Correction traduction « Computer bought the farm »
* po/fr.po: Fix EIEIO french translation.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-EIEIO-fr.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Allow unknown root directory.
To be efficient, the remap translator simply returns ports from the underlying
filesystem, and thus the root directory found through browsing '..' is the
underlying root, not the remap root. This should not be a reason for getcwd to
fail.
* sysdeps/mach/hurd/getcwd.c (_hurd_canonicalize_directory_name_internal): Do
not remove the heading slash if we got an unknown root directory.
(__getcwd): Do not fail with EGRATUITOUS if we got an unknown root directory.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-remap_getcwd.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Workaround to add IPv6 support to getifaddrs
ifreq only contains sockaddr structures, which are not big enough for
IPv6 addresses. This takes another, ugly, approach, by parsing fsysopts
/servers/socket/2 options...
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-ifaddrs_v6.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Fix sbrk in PIE binaries
In PIE mode, the program gets loaded at very low address, and thus _end is very
low, just before libraries, and thus initializing the brk to it does not make
sense, since there is no room left there. Hardcode the brk to 0x8000000 for now
as a workaround.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-pie-sbrk.diff
Richard Braun [Wed, 26 Dec 2012 16:31:14 +0000 (16:31 +0000)]
Fix Hurd implementation of setitimer.
The preemptor sigcode doesn't match since the POSIX sigcode SI_TIMER is
used when SIGALRM is sent. In addition, The inline version of
hurd_preempt_signals doesn't update _hurdsig_preempted_set. For these
reasons, the preemptor would be skipped by post_signal.
* sysdeps/mach/hurd/setitimer.c (setitimer_locked): Fix preemptor setup.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-setitimer.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
tg-single-select-timeout
commit
fffcbbb0b5ff8864086f7b58fdbb8aa4c71943d0
Author: Richard Braun <rbraun@sceen.net>
Date: Mon Dec 17 09:57:41 2012 +0000
Fix _hurd_select for single fd sets
The function attempts to optimize this case by performing one IPC system call
with the timeout included among the parameters, but in the absence of a reply,
it will call mach_msg again with the same timeout later, effectively doubling
the total timeout of the select/poll call.
Remove this optimization for the time being.
* hurd/hurdselect.c (_hurd_select): Always call __io_select with no timeout.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-single-select-timeout.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
tg-hurdsig-boot-fix
2012-09-05 Richard Braun <rbraun@sceen.net>
* hurd/hurdsig.c (sigstate_is_global_rcv): Do not return true
if _HURD_GLOBAL_SIGSTATE is null.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-hurdsig-boot-fix.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-usr
Upstream uses prefix=/ while we use prefix=/usr
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-usr.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
libpthread_version
This dates when libpthread was moved to glibc and some features were added.
2.13-31/38/39 dates when the global signal disposition call was added.
TODO: _DEBIAN_ in versions however pose problem. Remove the _DEBIAN_ version
once packages are rebuilt against 2.21.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name libpthread_version.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
t/hooks
Add link rules to sort hooks, otherwise they are not properly recorded
2012-04-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
* Makerules (shlib.lds): Add hurd hooks sorting rules.
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-hooks.diff
Jeremie Koenig [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Small signal fixes
22e7268 Hurd signals: fix sigwait for pending signals
da8bf5e Hurd signals: clear the pending mask in fork and spawn
8e87205 Hurd signals: don't drop blocked ignored signals
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-hurdsig-fixes-2.diff
Jeremie Koenig [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
implement SA_SIGINFO signal handlers.
52baaca Hurd signals: Copy bits/sigaction.h
4232c66 Hurd signals: SA_SIGINFO support
1831cfe Hurd signals: Use POSIX sigcodes
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-hurdsig-SA_SIGINFO.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-hurdsig-globaldisp-version
jkoenig's work on signals
2.13-19 dates when the global signal disposition call was added.
TODO: _DEBIAN_ in versions however pose problem. Remove the _DEBIAN_ version
once packages are rebuilt against 2.21.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-hurdsig-globaldisp-version.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Global signal dispositions.
Although they should not change the
default behaviors of signals for cthread programs, these patches add
new functions which can be used by libpthread to enable
POSIX-conforming behavior of signals on a per-thread basis.
YYYY-MM-DD Jeremie Koenig <jk@jk.fr.eu.org>
e407ae3 Hurd signals: implement global signal dispositions
38eb4b3 Hurd signals: provide a sigstate destructor
344dfd6 Hurd signals: fix sigwait() for global signals
fb055f2 Hurd signals: fix global untraced signals.
YYYY-MM-DD Thomas Schwinge <thomas@codesourcery.com>
* sysdeps/mach/hurd/fork.c (__fork): In the child, reinitialize
the global sigstate's lock.
This is work in progress.
This cures an issue that would very rarely cause a deadlock in the child
in fork, tries to unlock ss' critical section lock at the end of fork.
This will typically (always?) be observed in /bin/sh, which is not
surprising as that is the foremost caller of fork.
To reproduce an intermediate state, add an endless loop if
_hurd_global_sigstate is locked after __proc_dostop (cast through
volatile); that is, while still being in the fork's parent process.
When that triggers (use the libtool testsuite), the signal thread has
already locked ss (which is _hurd_global_sigstate), and is stuck at
hurdsig.c:685 in post_signal, trying to lock _hurd_siglock (which the
main thread already has locked and keeps locked until after
__task_create). This is the case that ss->thread == MACH_PORT_NULL, that
is, a global signal. In the main thread, between __proc_dostop and
__task_create is the __thread_abort call on the signal thread which would
abort any current kernel operation (but leave ss locked). Later in fork,
in the parent, when _hurd_siglock is unlocked in fork, the parent's
signal thread can proceed and will unlock eventually the global sigstate.
In the client, _hurd_siglock will likewise be unlocked, but the global
sigstate never will be, as the client's signal thread has been configured
to restart execution from _hurd_msgport_receive. Thus, when the child
tries to unlock ss' critical section lock at the end of fork, it will
first lock the global sigstate, will spin trying to lock it, which can
never be successful, and we get our deadlock.
Options seem to be:
* Move the locking of _hurd_siglock earlier in post_signal -- but that
may generally impact performance, if this locking isn't generally
needed anyway?
On the other hand, would it actually make sense to wait here until we
are not any longer in a critical section (which is meant to disable
signal delivery anyway (but not for preempted signals?))?
* Clear the global sigstate in the fork's child with the rationale that
we're anyway restarting the signal thread from a clean state. This
has now been implemented.
Why has this problem not been observed before Jérémie's patches? (Or has
it? Perhaps even more rarely?) In _S_msg_sig_post, the signal is now
posted to a *global receiver thread*, whereas previously it was posted to
the *designated signal-receiving thread*. The latter one was in a
critical section in fork, so didn't try to handle the signal until after
leaving the critical section? (Not completely analyzed and verified.)
Another question is what the signal is that is being received
during/around the time __proc_dostop executes.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-hurdsig-global-dispositions.diff
Jeremie Koenig [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Signal code refactoring.
These patches should not change the current
behavior, although they do fix a few minor bugs which were made
apparent in the process. They are unchanged from my previous post
earlier this month.
34f5960 _hurd_internal_post_signal: Split into more functions
420eec9 _hurd_internal_post_signal: Scope variables more restrictively
1f5accd _hurd_internal_post_signal: Split out inner functions
1bb0a1d Hurd signals: refactor check_pending_signals
1764465 Hurd signals: reindent
28473d2 Hurd signals: make sigsuspend POSIX-conformant.
26d091a Hurd signals: fix uninitialized value.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-hurdsig-fixes.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-madvise_warn
Do not warn about madvise not being implemented. It does not have any real
semantic anyway, and that brings some -Werror FTBFS.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-madvise_warn.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-ED
This is a long funny story, but even if it's standard-compliant, it poses too
many problems.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-ED.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Add -lmachuser -lhurduser to libc.so on GNU/Hurd.
http://lists.gnu.org/archive/html/bug-hurd/2011-03/msg00112.html
2011-03-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
* Makerules ($(inst_libdir)/libc.so): Add -lmachuser -lhurduser to
libc.so on GNU/Hurd.
It's still unclear what we want to aim for.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-mach-hurd-link.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
hurd: SCM_CREDS support
Svante Signell <svante.signell@gmail.com>
Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/mach/hurd/sendmsg.c (__libc_sendmsg): On SCM_CREDS
control messages, record uids, pass a rendez-vous port in the
control message, and call __auth_user_authenticate_request to
make auth send credentials on that port. Do not wait for a
reply.
* sysdeps/mach/hurd/recvmsg.c (contains_uid, contains_gid,
check_auth): New functions.
(__libc_recvmsg): On SCM_CREDS control messages, call check_auth
to check the passed credentials thanks to the answer from the
auth server.
* hurd/Makefile (user-interfaces): Add auth_request and
auth_reply.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-sendmsg-SCM_CREDS.diff
Emilio Pozuelo Monfort [Sat, 17 Jul 2010 20:09:13 +0000 (22:09 +0200)]
Add support to send file descriptors over Unix sockets
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-sendmsg-SCM_RIGHTS.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Fix installation of locales-all
Dirty hack to fix installation of locales-all: instead of just locking the
archive extension (which is not supported on hurd-i386), lock it all.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-locarchive.diff
GNU Libc Maintainers [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
local-disable-ioctls
struct ortentry and struct ifalias req are actually not defined
struct arpreq is defined, but can not be passed to an ioctl on the Hurd.
so let's make packages not believe these are available.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-disable-ioctls.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Allow the kernel to start earlier than VM_MAX_ADDRESS
VM_MAX_ADDRESS shouldn't be hardcoded in libc, the kernel should be able to
decide about it dynamically. This fixes glibc into supporting that. It's however
a bit hackish.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-bigmem.diff
Samuel Thibault [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
The critical section lock _can_ be held in these place.
At least since hurd_thread_cancel can be called by another thread and lock our
critical lock.
http://bugs.debian.org/46859
“
Thomas suggested that there is no need to take the critical section
lock. I believe that taking the critical section lock is necessary to
prevent the target thread from entering a signal handler. Roland will
look into the problem.
”
Taking the critical section lock makes these assertions bogus.
It happens that hurd_thread_cancel is only called from libports and inside
/hurd/term so this is rare in practice.
A reproducer can be found here:
http://lists.gnu.org/archive/html/bug-hurd/2014-05/msg00025.html
2006-08-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
* hurd/thread-cancel.c (hurd_thread_cancel): Do not assert that
`&ss->critical_section_lock' is unlocked.
* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise, and take
critical section lock before taking the sigstate lock.
* sysdeps/mach/hurd/spawni.c (__spawni): Likewise.
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-thread-cancel.diff
Marcus Brinkmann [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
Implement SysV shared memory for GNU/Hurd.
2005-07-11 Marcus Brinkmann <marcus@gnu.org>
* hurd/Makefile (routines): Add sysvshm.
(distribute): Add sysvshm.h.
* hurd/sysvshm.h: New file.
* hurd/sysvshm.c: New file.
* sysdeps/mach/hurd/bits/stat.h (S_IMMAP0): New macro.
(S_ISPARE): Unset the S_IMMAP0 flag.
* sysdeps/mach/hurd/ftok.c: New file.
* sysdeps/mach/hurd/shmat.c: New file.
* sysdeps/mach/hurd/shmctl.c: New file.
* sysdeps/mach/hurd/shmdt.c: New file.
* sysdeps/mach/hurd/bits/posix_opt.h: Define _XOPEN_SHM to 1.
TODO:
“
> + char filename[sizeof (SHM_DIR) - 1 + SHM_NAMEMAX];
> + struct stat statbuf;
> +
> + sprintf (filename, SHM_DIR SHM_NAMEPRI, id);
> + /* SysV requires read access for IPC_STAT. */
> + fd = __open (filename, O_NORW);
> + if (fd < 0)
> + {
> + if (errno == ENOENT)
> + errno = EINVAL;
> + return -1;
> + }
Since this is repeated in more than one function, put it into an
internal subroutine. Then we have only one place doing the
name-generation logic.
”
“
> + case IPC_RMID:
> + res = __unlink (filename);
> + /* FIXME: Check error (mapping ENOENT to EINVAL). */
Fix it.
”
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-sysvshm.diff
Thomas Schwinge [Fri, 20 Sep 2019 19:39:03 +0000 (20:39 +0100)]
getcontext, makecontext, setcontext, swapcontext
Adapted from the Linux x86 functions.
Not thoroughly tested, but manual testing as well as glibc tests look fine, and
manual -lpthread testing also looks fine (within the given bounds for a new
stack to be used with makecontext).
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-context_functions.diff