glibc.git
7 years agolocal-exec_filename
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
local-exec_filename

Keep compatibility with experimental implementation

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-exec_filename.diff

7 years agogit-mount_namespace
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-mount_namespace

commit 1714fc06e08db35fc3638ddde259d61c7a764861
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Jan 4 00:54:13 2018 +0100

    hurd: Fix support/support_enter_mount_namespace.c build

            * support/support_enter_mount_namespace.c [!CLONE_NEWNS]: Do not
            include <sys/mount.h>.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-mount_namespace.diff

7 years agogit-NO_HIDDEN
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-NO_HIDDEN

commit 3d1870fa3301c5cd00d5fdab0014c4e22b71fef2
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Tue Oct 3 01:26:58 2017 +0200

    Introduce NO_RTLD_HIDDEN, make hurd use it instead of NO_HIDDEN

    On the Hurd, the rtld needs to see its own dumb versions of a few functions
    (defined in sysdeps/mach/hurd/dl-sysdep.c) overridden by libc's versions once
    loaded. rtld should thus not have hidden attribute for these.  To achieve this,
    the Hurd port used to just define NO_HIDDEN, which disables it completely. For
    now, this changes that to disabling it for all rtld functions, for simplicity.

    See Roland's comment on https://sourceware.org/bugzilla/show_bug.cgi?id=15605#c5

    The ld.so numbers remain at

      8 .rel.plt      000000c8  00000c24  00000c24  00000c24  2**2
                      CONTENTS, ALLOC, LOAD, READONLY, DATA
      9 .plt          000001a0  00000cf0  00000cf0  00000cf0  2**4
                      CONTENTS, ALLOC, LOAD, READONLY, CODE
     10 .plt.got      00000010  00000e90  00000e90  00000e90  2**3
                      CONTENTS, ALLOC, LOAD, READONLY, CODE
     18 .got.plt      00000070  0002d000  0002d000  0002c000  2**2
                      CONTENTS, ALLOC, LOAD, DATA

    which is about 3 times as much as on Linux.

    The libc.so numbers get divided by 3 (the remainings are mostly RPC stub calls)

            * include/libc-symbols.h [NO_RTLD_HIDDEN] (rtld_hidden_proto,
            rtld_hidden_tls_proto, rtld_hidden_def, rtld_hidden_weak,
            rtld_hidden_rtld_hidden_ver, data_def, rtld_hidden_data_weak,
            rtld_hidden_data_ver): Define to empty.
            * include/assert.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__assert_fail,
            __assert_perror_fail): Likewise.
            * include/dirent.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
            (__rewinddir): Likewise.
            * include/libc-internal.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
            (__profile_frequency): Likewise.
            * include/setjmp.h (__sigsetjmp): Likewise.
            * include/signal.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__sigaction,
            __libc_sigaction): Likewise.
            * include/stdlib.h [NO_RTLD_HIDDEN] (unsetenv, __strtoul_internal): Do
            not set hidden attribute.
            * include/string.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__stpcpy, __strdup,
            __strerror_t, __strsep_g, memchr, memcmp, memcpy, memmove, memset,
            rawmemchr, stpcpy, strchr, strcmp, strlen, strnlen, strsep): Likewise.
            * include/sys/stat.h [IS_IN(rtld) && NO_RTLD_HIDDEN] (__fxstat,
            __fxstat64, __lxstat, __lxstat64, __xstat, __xstat64,
            __fxstatat64): Likewise.
            * include/sys/utsname.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
            (__uname): Likewise.
            * include/sysdeps/generic/_itoa.h [IS_IN(rtld) && NO_RTLD_HIDDEN]
            (_itoa_upper_digits, _itoa_lower_digits): Likewise.
            * sysdeps/mach/hurd/configure.ac (NO_HIDDEN): Do not set.
            (NO_RTLD_HIDDEN): Set.
            * sysdeps/mach/hurd/configure: Refresh.
            * config.h.in: Refresh.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-NO_HIDDEN.diff

7 years agogit-ifaddrs-linknamespace
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-ifaddrs-linknamespace

commit 7edd06916d0f18714f323b180b890f1fea39e1ff
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Sep 27 17:18:32 2017 -0700

    Update sysdeps/unix/sysv/linux/ifaddrs.c

    Fix

    ../sysdeps/unix/sysv/linux/ifaddrs.c:835:27: error: ‘getifaddrs’ aliased to undefined symbol ‘__getifaddrs’
     weak_alias (__getifaddrs, getifaddrs)
                               ^
    ../sysdeps/unix/sysv/linux/ifaddrs.c:844:28: error: ‘freeifaddrs’ aliased to undefined symbol ‘__freeifaddrs’
     weak_alias (__freeifaddrs, freeifaddrs)

    caused by

    commit 4009ddc69225d571772aaea597615a0c032e14ab
    Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
    Date:   Thu Sep 28 00:19:18 2017 +0200

        hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition

            * sysdeps/unix/sysv/linux/ifaddrs.c (__getifaddrs): Add
            libc_hidden_def.
            (__freeifaddrs): Likewise.

commit 4009ddc69225d571772aaea597615a0c032e14ab
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Sep 28 00:19:18 2017 +0200

    hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition

    from `freeaddrinfo'.

    `getifaddrs' and `freeifaddrs' are not in POSIX, they should not be
    exposed along `freeaddrinfo' (through `__check_pf') which is POSIX.

            * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations,
            and use libc_hidden_def on them.
            * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on
            them.
            * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise.
            * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs
            instead of getifaddrs and freeifaddrs.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-ifaddrs-linknamespace.diff

7 years agogit-seekdir-linknamespace
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-seekdir-linknamespace

commit 6c16da9834e158e26edca046ddd597f850d9e244
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Sep 28 00:41:02 2017 +0200

    hurd: Fix `seekdir' symbol exposition from `rewinddir'

    `seekdir' is MISC || XOPEN, it should not be exposed along `rewinddir' which
    is POSIX.

            * include/dirent.h (__seekdir): New declaration.
            * sysdeps/mach/hurd/seekdir.c (seekdir): Rename to __seekdir and
            redefine as weak alias.
            * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead
            of seekdir.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-seekdir-linknamespace.diff

7 years agogit-revoke-linknamespace
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-revoke-linknamespace

commit 22f24293a4311e395fa978b3bb3b1e30e9a01caf
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Sep 28 00:01:40 2017 +0200

    hurd: Fix `revoke' symbol exposition from `unlockpt'

    `revoke' is MISC only, it should not be exposed along `unlockpt' which is
    XOPEN.

            * include/unistd.h (__revoke): New declaration.
            * misc/revoke.c (revoke): Rename to __revoke, and redefine as weak
            alias.
            * sysdeps/mach/hurd/revoke.c (revoke): Likewise.
            * sysdeps/unix/bsd/unlockpt.c (unlockpt): Use __revoke instead of
            revoke.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-revoke-linknamespace.diff

7 years agogit-dirfd-linknamespace
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-dirfd-linknamespace

commit 8f5238538d47e958cad2490732fbb27e7b1cd8ab
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Wed Sep 27 23:46:51 2017 +0200

    hurd: Fix dirfd symbol exposition from ftw

    dirfd is XOPEN2K8 only, it should not be exposed along ftw which is earlier.

            * include/dirent.h (__dirfd): New declaration.
            * dirent/dirfd.c (dirfd): Rename to __dirfd, and redefine as weak
            alias.
            * sysdeps/posix/dirfd/dirfd.c (dirfd): Likewise.
            * sysdeps/mach/hurd/dirfd.c (dirfd): Likewise.
            * io/ftw.c (open_dir_stream, ftw_dir): Use __dirfd instead of dirfd.

+ glob in glibc 2.26, removed later

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-dirfd-linknamespace.diff

7 years agogit-sigsuspend_not_cancel
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-sigsuspend_not_cancel

Actually part of commit 988f991b5069f09d793c887618e84a196b100416
('Remove non cancellable sigsuspend definition')

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-sigsuspend_not_cancel.diff

7 years agogit-clock_gettime_gettimeofday
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-clock_gettime_gettimeofday

commit fcafcd162c843364dc2bb8d57bd239c41cfd122c
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Sep 25 01:55:02 2017 +0200

    hurd: Fix exposition of s/gettimeofday through timespec_s/get

    conform/ISO11/time.h/linknamespace complains that using timespec_get exposes
    gettimeofday.

    conform/POSIX/time.h/linknamespace complains that using clock_settime
    exposes settimeofday.

            * sysdeps/unix/clock_gettime.c (realtime_gettime, __clock_gettime): Use
            __gettimeofday instead of gettimeofday.
            * sysdeps/unix/clock_settime.c (__clock_settime): Use __settimeofday
            instead of settimeofday.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-clock_gettime_gettimeofday.diff

7 years agoFix thread linkspace
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Fix thread linkspace

Libc uses some thread functions, but should not expose the corresponding
symbols, so call aliases.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-thread-linkspace.diff

7 years agogit-socket-limit
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-socket-limit

commit 3bab02907b2c8d2893480208890ec062063994f9
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 24 22:20:10 2017 +0200

    hurd: Fix bits/socket.h conformity

            * sysdeps/mach/hurd/bits/socket.h: Include <bits/wordsize.h> instead
            of <limits.h>
            (__need_NULL): Do not define.
            (__ss_aligntype): Use __WORDSIZE instead of ULONG_MAX to determine
            alignment.
            [!__USE_MISC] (pseudo_AF_XTP, pseudo_AF_RTIP, pseudo_AF_PIP,
            CMGROUP_MAX, cmsgcred): Do not define.
            (CMSG_FIRSTHDR, __cmsg_nxthdr): Use (struct cmsghdr *) 0 instead of
            NULL.
            * bits/socket.h: Likewise.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-socket-limit.diff

7 years agogit-dl-sysdep-check
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-dl-sysdep-check

commit 5e6f32531eab502afb094ad62aad333c63a58cfd
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 24 17:54:02 2017 +0200

    hurd: Make sure dl-sysdep.c defines proper symbol names

            * sysdeps/mach/hurd/dl-sysdep.c (check_no_hidden): New macro.
            (__open, __close, __libc_read, __libc_write, __writev, __libc_lseek64,
            __mmap, __fxstat64, __xstat64, __access, __access_noerrno, __getpid,
            __getcwd, __sbrk, __strtoul_internal, _exit, abort): Use check_no_hidden
            to make sure that these symbols are defined.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-dl-sysdep-check.diff

7 years agogit-hidden-def-2
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-hidden-def-2

commit 1c6d89e9a40302430d5986a09c7cf7594b93143c
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 17 21:57:39 2017 +0200

    Add missing libc_hidden_weak/def calls

            * io/read.c (read): Add libc_hidden_weak.
            * sysdeps/mach/hurd/read.c (read): Likewise.
            * io/write.c (write): Likewise.
            * sysdeps/mach/hurd/write.c (write): Likewise.
            * io/pread64.c (__pread64): Likewise.
            * sysdeps/mach/hurd/pread64.c (__pread64): Likewise.
            * posix/pread64.c (__pread64): Add libc_hidden_def.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-hidden-def-2.diff

7 years agogit-hidden-def
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-hidden-def

commit a166531fdf601560a0005479427f60d3173f8257
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Tue Sep 12 01:34:19 2017 +0200

    hurd: Fix build without NO_HIDDEN

            * posix/sched_primax.c (__sched_get_priority_max): Add
            libc_hidden_def.
            * posix/sched_primin.c (__sched_get_priority_min): Likewise.
            * sysdeps/mach/hurd/mmap.c (__mmap): Likewise.
            * sysdeps/mach/hurd/mmap64.c (__mmap64): Likewise.
            * sysdeps/mach/hurd/mprotect.c (__mprotect): Likewise.
            * sysdeps/mach/hurd/munmap.c (__munmap): Likewise.
            * sysdeps/mach/hurd/dl-sysdep.c (__GI___getpid,
            __GI___strtoul_internal, __GI_____strtoul_internal, __GI___chk_fail,
            __GI___fortify_fail, __GI___assert_fail, __GI___assert_perror_fail):
            Add aliases.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-hidden-def.diff

7 years agogit-tst-udp-nonblocking
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-tst-udp-nonblocking

commit 3bdfd9fbed7165e75624845a3dab13f42b899096
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 10 21:09:28 2017 +0200

    sunrpc/tst-udp-nonblocking: Fix timeout value

    This a follow-up to 00c3da4 ('sunrpc/tst-udp-timeout: Fix timeout value')

    * sunrpc/tst-udp-nonblocking.c (do_test): Increase timeout to 0.75
    seconds.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-tst-udp-nonblocking.diff

7 years agogit-tst-udp-timeout
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-tst-udp-timeout

commit 00c3da43ace363315fb9e70a6d4696de0630f6cf
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 10 14:37:28 2017 +0200

    sunrpc/tst-udp-timeout: Fix timeout value

    2.3 is not representable with double, and thus leads to rounding issues if
    the clock is not very precise and the measured delay is then exactly 2.3.

            * sunrpc/tst-udp-timeout.c (test_udp_server): Increase timeout to 2.5
            seconds.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-tst-udp-timeout.diff

7 years agogit-gethostname
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-gethostname

commit 507fe02799e7dbaba9ebaf3264731fc3b928ba77
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Sep 7 00:51:17 2017 +0200

    hurd: fix gethostname(NULL, 0)

            * hurd/get-host.c (_hurd_get_host_config): Also check that more == 0
            before assuming that the file is empty.  Avoid testing buffer content
            when nread == 0.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-gethostname.diff

7 years agogit-clone
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-clone

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-clone.diff

7 years agogit-rtld-strtoul_internal
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-rtld-strtoul_internal

commit cae3d71212ff1885d9317c22411fe97ccd99e287
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 14:33:35 2017 +0200

    hurd: Fix rtld's strtoul_internal use through hurdlookup

            * sysdeps/mach/hurd/dl-sysdep.c (__strtoul_internal): New
            function.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-rtld-strtoul_internal.diff

7 years agogit-i386-implies-x86
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-i386-implies-x86

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-i386-implies-x86.diff

7 years agogit-x86-tunables
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-x86-tunables

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-x86-tunables.diff

7 years agogit-libpthread-2.26
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-libpthread-2.26

commit 0a69b89843ec466fa20c994a29d13de6a45c3acb
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 05:58:26 2017 +0200

    Fix link with glibc 2.26

            * sysdeps/mach/hurd/pt-sigstate.c: Include <sigsetops.h>

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-libpthread-2.26.diff

7 years agogit-feraiseexcept
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-feraiseexcept

commit 1946d950f2235a4790fb5e386b9ba92dff55a930
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 05:32:10 2017 +0200

    hurd: fix libm link

            * sysdeps/x86/fpu/include/bits/fenv.h [NO_HIDDEN]: Redirect
            __feraiseexcept_renamed to feraiseexcept instead of
            __GI_feraiseexcept.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-feraiseexcept.diff

7 years agogit-divdi
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-divdi

commit f85958a74d9e26e7e43a5d3e65d4d77ed47f55ea
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 04:58:00 2017 +0200

    hurd: Fix libc link

    This follows db3d848 ('Build divdi3 only for architecture that required
    it').

            * sysdeps/mach/hurd/i386/Makefile
            [$(subdir) = csu] (sysdep_routines): New rule: divdi3 object.
            [$(subdir) = csu] (sysdep-only-routines): Likewise.
            [$(subdir) = csu] (CFLAGS-divdi3.c): Likewise.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-divdi.diff

7 years agogit-rtld-sbrk-2
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-rtld-sbrk-2

commit 77e7ba3201365565a21b42979b8d44be9936f254
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 14:19:21 2017 +0200

    hurd: fix overriding rtld's __sbrk with the real implementation

            * sysdeps/mach/hurd/dl-sysdep.c (__sbrk): Add weak_function
            qualifier.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-rtld-sbrk-2.diff

7 years agogit-rtld-sbrk
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-rtld-sbrk

commit b96aca4d05b2da5d5134b1c3176b16f48db9fe4d
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 04:25:35 2017 +0200

    hurd: Fix rtld link

            * sysdeps/mach/hurd/dl-sysdep.c (__sbrk): New function.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-rtld-sbrk.diff

7 years agogit-rtld-access
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-rtld-access

commit 819ea3347e3a30a611488ceeec53650baaeb7961
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 04:02:24 2017 +0200

    hurd: Fix rtld link

    dl-tunables.c now uses __access_noerrno in addition to __access.

            * sysdeps/mach/hurd/dl-sysdep.c (__access_noerrno): New function.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-rtld-access.diff

7 years agogit-preadwritev2-3
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-preadwritev2-3

commit 2263ca7ce8a824f53debcc724bd21cd7099e1161
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 03:03:40 2017 +0200

    hurd: Fix p{read,write}{,v64}v2.c build

            * misc/preadv2.c: Include <errno.h>.
            * misc/preadv64v2.c: Include <errno.h>.
            * misc/pwritev2.c: Include <errno.h>.
            * misc/pwritev64v2.c: Include <errno.h>.
            * sysdeps/posix/preadv2.c: Include <errno.h>.
            * sysdeps/posix/preadv64v2.c: Include <errno.h>.
            Fix <unistd.h> inclusion.
            * sysdeps/posix/pwritev2.c: Include <errno.h>.
            * sysdeps/posix/pwritev64v2.c: Include <errno.h>.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-preadwritev2-3.diff

7 years agogit-preadwritev2-2
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-preadwritev2-2

commit ed95bf5638748068ef05ccbaa0a008b50ebecb42
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 03:00:32 2017 +0200

    hurd: Fix p{read,write}v64v2.c build

            * sysdeps/posix/preadv64v2.c: Use off64_t instead of off_t.
            * sysdeps/posix/pwritev64v2.c: Use off64_t instead of off_t.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-preadwritev2-2.diff

7 years agogit-preadwritev2
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-preadwritev2

commit dd2b31dec0c0e792bec0486d72c8a049eea4bee1
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 02:45:06 2017 +0200

    hurd: Fix p{read,write}{,v64}v2.c build

            * sysdeps/posix/preadv2.c: Use off_t instead of OFF_T.
            * sysdeps/posix/preadv64v2.c: Use off_t instead of OFF_T.
            * sysdeps/posix/pwritev2.c: Use off_t instead of OFF_T.
            * sysdeps/posix/pwritev64v2.c: Use off_t instead of OFF_T.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-preadwritev2.diff

7 years agogit-bits_socket.h
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-bits_socket.h

commit 01969395db01fedcd3fb76d76654b24908e5757b
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 02:22:00 2017 +0200

    hurd: Fix getting ssize_t for <sys/socket.h>

            * sysdeps/mach/hurd/bits/socket.h: Include <sys/types.h> instead of
            just <bits/types.h>.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-bits_socket.h.diff

7 years agoInclude <sigsetops.h> from hurd/hurd/signal.h
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Include <sigsetops.h> from hurd/hurd/signal.h

* hurd/hurd/signal.h [__USE_EXTERN_INLINES][_LIBC][IS_IN(libc)]: Include
<sigsetops.h>.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg2.26-sigsetops.h.diff

7 years agogit-sigsetops-3.h
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-sigsetops-3.h

commit 127e7773b437bd5866a4424cc9b338bac6beb08b
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 04:36:29 2017 +0200

    hurd: Fix libc link

            * sysdeps/posix/pause.c: Include <sigsetops.h>.
            * sysdeps/posix/system.c: Include <sigsetops.h>.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-sigsetops-3.h.diff

7 years agogit-sigsetops-2.h
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-sigsetops-2.h

commit 06cf9d31d7caa408b35f194cdbdc17462eb935c2
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 01:45:19 2017 +0200

    hurd: Fix sigsetops.h macros

            * sysdeps/generic/sigsetops.h: Remove spurious #endif.
            (__sigismember, __sigaddset, __sigdelset): Fix referencing set
            parameter.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-sigsetops-2.h.diff

7 years agogit-sigsetops.h
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-sigsetops.h

commit b794e16bcc9426e9e05ec465c6c8bab2902a50ed
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 3 01:08:49 2017 +0200

    sysdeps/generic/sigsetops.h: Remove spurious #endif

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-sigsetops.h.diff

7 years agogit-stack-protect-static
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-stack-protect-static

commit 99ee4d26dc07c3eadfbf6793db26ef9dfb1551e5
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Aug 27 22:26:49 2017 +0200

    hurd: Fix static initialization with -fstack-protector-strong

    When linked statically, TLS initialization is not achieved before
    mach_init and alike, so ssp accesses to tcbhead's stack_guard would
    crash.  We can just avoid using ssp in the few functions needed before
    TLS is set up.

            * mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,
            CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,
            CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,
            CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).
            * hurd/Makefile (CFLAGS-hurdstartup.o,
            CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-stack-protect-static.diff

7 years agogit-stack_chk_fail_local
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-stack_chk_fail_local

commit 97e02ad23392f929862d6a04643e7f2fd91baebc
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Aug 27 22:10:17 2017 +0200

    hurd: fix build with -fstack-protector-strong

    libmachuser and libhurduser also need stack_chk_fail_local and they do not
    link against libc_nonshared.

           * mach/stack_chk_fail_local.c: New file.
           * hurd/stack_chk_fail_local.c: New file.
           * mach/Machrules ($(interface-library)-routines): Add
           stack_chk_fail_local.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-stack_chk_fail_local.diff

7 years agogit-bits-sysmacros.h
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
git-bits-sysmacros.h

commit 2ef8d46913b10cb1cf8adddfe80ce8d1b57d4f46
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Aug 27 22:00:05 2017 +0200

    hurd: Add system-specific sysmacros.h

    * sysdeps/mach/hurd/bits/sysmacros.h: New file.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-bits-sysmacros.h.diff

7 years agolocal-nocheck-installed-headers
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
local-nocheck-installed-headers

===================================================================

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-nocheck-installed-headers.diff

7 years agoFix tls support for glibc 2.25
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Fix tls support for glibc 2.25

* csu/libc-start.c (LIBC_START_MAIN) [__GNU__]: Do not call
__libc_setup_tls.
* sysdeps/mach/hurd/i386/init-first.c (init): Call __libc_setup_tls.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg2.25-tls.diff

7 years agocvs-libc_init_secure
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
cvs-libc_init_secure

commit 8ee1abdb4b2c92fb5f189aabec34d1b7d54ac332
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Wed Aug 2 23:29:57 2017 +0200

    [hurd]: Add __libc_init_secure stub

    csu/libc-start.c now insists on calling __libc_init_secure, while the Hurd
    port already implements it "very early" in dl-sysdep.c and init-first.c

            * sysdeps/mach/hurd/enbl-secure.c (__libc_init_secure): Define
            function.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name cvs-libc_init_secure.diff

7 years agosubmitted-shm_open_pthread
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
submitted-shm_open_pthread

Add missing include for pthread_setcancelstate

* sysdeps/posix/shm_open.c: Include <pthread.h>.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name submitted-shm_open_pthread.diff

7 years agolocal-no_unsupported_ioctls
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoAdd mlockall support
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Add mlockall support

* sysdeps/mach/hurd/mlockall.c: New file
* sysdeps/mach/hurd/munlockall.c: New file

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-mlockall.diff

7 years agohurd: Handle `pid' magical lookup retry
Justus Winter [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
hurd: Handle `pid' magical lookup retry

        * hurd/lookup-retry.c: Handle `pid' magical lookup
        retry.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-magic-pid.diff

7 years agoXXX: make libc_rwlock recursive
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agohurd: Fix O_DIRECTORY | O_NOFOLLOW
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
hurd: Fix O_DIRECTORY | O_NOFOLLOW

Appending / to the path to be looked up makes us always follow a final
symlink, even with O_NOTRANS (since the final resolution is after the
'/').  In the O_DIRECTORY | O_NOFOLLOW case, we thus have to really open
the node and stat it, which we already do anyway, and check for
directory type.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-NOFOLLOW-DIRECTORY.diff

7 years agohurd: Fix O_NOFOLLOW
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
hurd: Fix O_NOFOLLOW

The error code documented by POSIX for opening a symlink with O_NOFOLLOW
is ELOOP.

Also, if the translator does not expose symlink as a symlink translator but
as a S_IFLNK file, O_NOFOLLOW needs to return ELOOP too.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-NOFOLLOW.diff

7 years agotg-libpthread-gsync-mutex
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
tg-libpthread-gsync-mutex

commit f6839074d25aba7e93b8672a9ed9893c0baa5e3d
Author: Agustina Arzille <avarzille@riseup.net>
Date:   Mon Oct 17 00:56:58 2016 +0200

    Make pthread_mutex use gsync

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-libpthread-gsync-mutex.diff

7 years agoFix SS_ONSTACK support
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agotg-libpthread-gsync-spin
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
tg-libpthread-gsync-spin

commit cd7e69c545200949cfd1b3c595568556ff9a76e3
Author: Agustina Arzille <avarzille@riseup.net>
Date:   Tue Oct 18 00:20:45 2016 +0200

    Make pthread_spinlock use gsync

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-libpthread-gsync-spin.diff

7 years agot/pthread_deps
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
t/pthread_deps

libpthread needs some internal symbols to avoid exposing the plain ones

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-pthread_deps.diff

7 years agotg-gsync-libc
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
tg-gsync-libc

t/gsync-libc
From: Agustina Arzille <avarzille@riseup.net>
Subject: [PATCH] Introduce gsync-based locks to glibc.

* hurd/Makefile: Add hurdlock.
* hurd/Versions: Added new entry to export the above interface.
* hurd/hurdlock.c: New file.
* hurd/hurdlock.h: New file.
* hurd/hurdpid.c: Include <lowlevellock.h>
  (_S_msg_proc_newids): Use lll_wait to synchronize.
* hurd/hurdsig.c: (reauth_proc): Use __mutex_lock and __mutex_unlock.
* hurd/setauth.c: Include <hurdlock.h>, use integer for synchronization.
* hurd/sysvshm.c: Include <hurdlock.h>, use integer for synchronization.
* mach/Makefile: Remove unneeded file
* mach/lock-intern.h: Use lll to implement spinlocks.
* mach/lowlevellock.h: New file
* mach/mutex-init.c: Rewrite mutex initialization.
* sysdeps/mach/Makefile: Add libmachuser as dependencies for some libs.
* sysdeps/mach/libc-lock.h: Reimplemented libc internal locks
  with lll, cleanup routines now use gcc's cleanup attribute
* sysdeps/mach/hurd/bits/errno.h: New errno values.
* sysdeps/mach/hurd/libc-lock.h: Removed file.
* sysdeps/mach/hurd/malloc-machine.h: Reimplemented malloc locks.
* sysdeps/mach/hurd/setpgid.c: (setpgid): Use gsync for synchronization.
* sysdeps/mach/hurd/setsid.c: (setsid): Likewise.

t/libc_cleanup
From: Agustina Arzille <avarzille@riseup.net>
Subject: [PATCH] Use gcc's cleanup attributes

cleanup routines now use gcc's cleanup attribute

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-gsync-libc.diff

7 years agotg-eintr
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agohurd: take __USE_EXTERN_INLINES into account
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
hurd: take __USE_EXTERN_INLINES into account

* hurd/hurd.h (__hurd_fail): Always declare function, and provide inline
version only if __USE_EXTERN_INLINES is defined.
* hurd/hurd/fd.h (_hurd_fd_get, _hurd_fd_error_signal, _hurd_fd_error,
__hurd_dfail, __hurd_sockfail): Likewise.
* mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock,
__mutex_unlock, __mutex_trylock): Likewise.
* mach/mach/mig_support.h (__mig_strncpy): Likewise.
* sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock,
__spin_lock_locked): Likewise.
* sysdeps/generic/machine-sp.h (__thread_stack_pointer): Likewise.
* sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock,
__spin_lock_locked): Likewise.

* hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get,
_hurd_port_get, _hurd_port_free, _hurd_port_locked_set,
_hurd_port_set): Always declare functions, and provide inline version
only if __USE_EXTERN_INLINES is defined and _LIBC is defined and
NOT_IN_libc is not defined.
* hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock,
_hurd_critical_section_unlock): Likewise.
* hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp,
* __hurd_threadvar_location): Likewise.
* hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink,
_hurd_userlink_clear): Likewise.

* mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-extern_inline.diff

7 years agoImplement faccessat without AT_EACCESS flag
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Implement faccessat without AT_EACCESS flag

* hurd/hurd/fd.h: Include <fcntl.h>
(__hurd_at_flags): New function.
* hurd/lookup-at.c (__file_name_lookup_at): Replace flag computation
with call to __hurd_at_flags.
* include/unistd.h (__faccessat): Add declaration.
* sysdeps/mach/hurd/access.c (__access): Move implementation to
__faccessat, and replace it with a call to __faccessat.
* sysdeps/mach/hurd/euidaccess.c (__euidaccess): Replace implementation
with a call to __faccessat.
* sysdeps/mach/hurd/faccessat.c (faccessat): Rename into...
(__faccessat): ... this. Move implementation of __access into it when
AT_FLAGS does not contain AT_EACCESS. Make it call __hurd_at_flags, add
reauthenticate_cwdir_at helper to implement AT mechanism.
(faccessat): Define weak alias.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-faccessat.diff

7 years agolocal-versions
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
local-versions

We introduced them in 2.21 in Debian

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-versions.diff

7 years agosubmitted-hurd-abilist
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
submitted-hurd-abilist

2016-02-29  Aurelien Jarno  <aurelien@aurel32.net>

* sysdeps/generic/libnsl.abilist: New file.
* sysdeps/generic/libutil.abilist: New file.
* sysdeps/mach/hurd/libhurduser.abilist: New file.
* sysdeps/mach/libmachuser.abilist: New file.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name submitted-hurd-abilist.diff

7 years agolocal-mach_print
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
local-mach_print

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-mach_print.diff

7 years agotg-bootstrap
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
tg-bootstrap

This dependency is missing, but would pose problem on Darwin

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-bootstrap.diff

7 years agolibpthread_pthread_types
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
libpthread_pthread_types

===================================================================

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name libpthread_pthread_types.diff

7 years agotg-allocalim
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
tg-allocalim

===================================================================

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-allocalim.diff

7 years agocvs-revert-gnu-gnu-cleanup
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
cvs-revert-gnu-gnu-cleanup

commit ebf27d12e602b428a316c105ed10371ed84d2d3d
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Wed Feb 11 23:27:50 2015 +0000

     revert part of ba90e05.

     * configure.ac, configure: Revert ba90e05: modify gnu-* host_os back
     into gnu-gnu, and update comment to refer to abi-tags.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name cvs-revert-gnu-gnu-cleanup.diff

7 years agoLookup the startup server through /servers/startup
David Michael [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Lookup the startup server through /servers/startup

* sysdeps/mach/hurd/reboot.c: Include <hurd/paths.h>
(reboot): Lookup _SERVERS_STARTUP instead of calling proc_getmsgport to get a
port to the startup server.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-reboot-startup.diff

7 years agoMake F_RDLCK/F_WRLCK atomic
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-WRLCK-upgrade.diff

7 years agolocal-libpthread-stacksize
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
local-libpthread-stacksize

Set the default stack size to 8MiB like on Linux, to avoid surprises
with packages which assume the Linuxish default.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-libpthread-stacksize.diff

7 years agosubmitted-bind_umask2
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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 commited, 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

7 years agoHurd: fix port leak in TLS
Richard Braun [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Hurd: fix port leak in TLS

Depending on whether the thread is the main thread or not, the threading
library can have trouble determining whether the thread reference in the
TCB is valid. The simple solution is to let the threading library
initialize the TCB, and use a temporary reference when initializing TLS.

* sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Use a temporary thread
reference.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-tls_thread_leak.diff

7 years agoHurd: make sigstates hold a reference on thread ports
Richard Braun [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoAdd futimens support
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Add futimens support

* sysdeps/mach/hurd/futimens.c: New file.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-futimens.diff

7 years agotg-libc_getspecific
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
tg-libc_getspecific

Drop once updated to a libpthread which doesn't define __libc_getspecific

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-libc_getspecific.diff

7 years agopipe2
Thomas Schwinge [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
pipe2

2008-12-17  Thomas Schwinge  <tschwinge@gnu.org>

pipe2 for GNU Hurd.
* sysdeps/mach/hurd/pipe2.c: New file, copy from pipe.c.  Evolve it to
implement __pipe2.
* sysdeps/mach/hurd/pipe.c (__pipe): Reimplement using __pipe2.
* sysdeps/mach/hurd/kernel-features.h (__ASSUME_PIPE2): Define.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-pipe2.diff

7 years agosocketpair_flags
Thomas Schwinge [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
socketpair_flags

2008-12-17  Thomas Schwinge  <tschwinge@gnu.org>

SOCK_CLOEXEC and SOCK_NONBLOCK for socketpair on GNU Hurd.
* sysdeps/mach/hurd/socketpair.c (__socketpair): Handle SOCK_CLOEXEC
and SOCK_NONBLOCK.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-socketpair_flags.diff

7 years agosocket_flags
Thomas Schwinge [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
socket_flags

2008-12-17  Thomas Schwinge  <tschwinge@gnu.org>

SOCK_CLOEXEC and SOCK_NONBLOCK for socket on GNU Hurd.
* sysdeps/mach/hurd/socket.c (__socket): Handle SOCK_CLOEXEC and
SOCK_NONBLOCK.
* sysdeps/mach/hurd/kernel-features.h (__ASSUME_SOCK_CLOEXEC): Define.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-socket_flags.diff

7 years agosubmitted-path_mounted
Justus Winter [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agounsubmitted-clock_t_centiseconds
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoFix poll and select POSIX compliancy details about errors
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoFix timeout handling in _hurd_select
Richard Braun [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-io_select_timeout.diff

7 years agot/EGREGIOUS-fr
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoCorrection traduction « Computer bought the farm »
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoFix boot with statically-linked exec server.
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
Fix boot with statically-linked exec server.

* sysdeps/mach/hurd/i386/init-first.c (init): Also find ELF headers by oneself
when the pointer given in D is nul (as set by ext2fs).

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-exec-static.diff

7 years agoAllow unknown root directory.
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoWorkaround to add IPv6 support to getifaddrs
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoFix sbrk in PIE binaries
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agotg-setitimer
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
tg-setitimer

    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

7 years agotg-single-select-timeout
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agotg-hurdsig-boot-fix
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agounsubmitted-gnumach.defs
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
unsubmitted-gnumach.defs

Build stubs for gnumach.defs

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name unsubmitted-gnumach.defs.diff

7 years agoUse the new file_exec_paths RPC
Emilio Pozuelo Monfort [Sat, 22 May 2010 16:26:29 +0000 (18:26 +0200)]
Use the new file_exec_paths RPC

Pass the file paths of executable to the exec server, both relative and
absolute, which exec needs to properly execute and avertise #!-scripts.
Previously, the exec server tried to guess the name from argv[0] but argv[0]
only contains the executable name by convention.

2010-08-04  Emilio Pozuelo Monfort  <pochu27@gmail.com>
2017-09-26  Svante Signell  <svante.signell@gmail.com>

* hurd/hurdexec.c (_hurd_exec): Deprecate function.
(_hurd_exec_paths): New function.
* hurd/hurd.h (_hurd_exec): Deprecate function.
(_hurd_exec_paths): Declare function.
* hurd/Versions: Export _hurd_exec_paths.
* sysdeps/mach/hurd/execve.c: Include <stdlib.h> and <stdio.h>
(__execve): Use __getcwd to build absolute path, and use
_hurd_exec_paths instead of _hurd_exec.
* sysdeps/mach/hurd/spawni.c: Likewise.
* sysdeps/mach/hurd/fexecve.c: Use _hurd_exec_paths instead of
_hurd_exec.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-exec_filename.diff

7 years agolibpthread_version
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agot/libpthread_depends
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
t/libpthread_depends

libpthread needs to be built before modules which need it.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name tg-libpthread_depends.diff

7 years agolibpthread_build
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
libpthread_build

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name libpthread_build.diff

7 years agocvs-libpthread
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
cvs-libpthread

lsdiff -p2 cvs-libpthread.diff > orderfile
git diff empty --patch-with-stat --src-prefix=glibc/libpthread/ --dst-prefix=glibc/libpthread/ -Oorderfile 64727f50e23a744e1607cb6aff72f0813d56c6c9
from git.savannah.gnu.org:/srv/git/hurd/libpthread.git/
thus by construction only libpthread/ files, thus hurd-only
Date: Tue Sep 26 21:29:14 2017 +0200

 ChangeLog                                     |   6 +
 Makeconfig                                    |  13 +
 Makefile                                      | 365 +++++++++++
 TODO                                          | 131 ++++
 Versions                                      | 155 +++++
 configure                                     |   2 +
 configure.in                                  |   4 +
 forward.c                                     | 281 +++++++++
 sysdeps/pthread/pthread.h                     |  22 +
 include/pthread/pthread.h                     | 835 ++++++++++++++++++++++++++
 include/pthread/pthreadtypes.h                | 125 ++++
 libc_pthread_init.c                           |  35 ++
 libpthread.a                                  |  22 +
 libpthread_pic.a                              |  22 +
 lockfile.c                                    |  65 ++
 not-in-libc.h                                 |  12 +
 pthread/Versions                              |  15 +
 pthread/alloca_cutoff.c                       |  27 +
 pthread/cthreads-compat.c                     | 102 ++++
 pthread/pt-alloc.c                            | 219 +++++++
 pthread/pt-cancel.c                           |  63 ++
 pthread/pt-cleanup.c                          |  28 +
 pthread/pt-create.c                           | 254 ++++++++
 pthread/pt-dealloc.c                          |  69 +++
 pthread/pt-detach.c                           |  80 +++
 pthread/pt-exit.c                             | 112 ++++
 pthread/pt-getattr.c                          |  52 ++
 pthread/pt-initialize.c                       |  88 +++
 pthread/pt-internal.h                         | 330 ++++++++++
 pthread/pt-join.c                             |  76 +++
 pthread/pt-self.c                             |  34 ++
 pthread/pt-setcancelstate.c                   |  47 ++
 pthread/pt-setcanceltype.c                    |  47 ++
 pthread/pt-sigmask.c                          |  33 +
 pthread/pt-spin-inlines.c                     |  34 ++
 pthread/pt-testcancel.c                       |  36 ++
 pthread/pt-yield.c                            |  26 +
 pthreadP.h                                    |  27 +
 shlib-versions                                |   1 +
 sysdeps/generic/fork.h                        |  29 +
 sysdeps/generic/old_pt-atfork.c               |  27 +
 sysdeps/generic/pt-atfork.c                   |  34 ++
 sysdeps/generic/pt-attr-destroy.c             |  28 +
 sysdeps/generic/pt-attr-getdetachstate.c      |  31 +
 sysdeps/generic/pt-attr-getguardsize.c        |  29 +
 sysdeps/generic/pt-attr-getinheritsched.c     |  31 +
 sysdeps/generic/pt-attr-getschedparam.c       |  34 ++
 sysdeps/generic/pt-attr-getschedpolicy.c      |  31 +
 sysdeps/generic/pt-attr-getscope.c            |  31 +
 sysdeps/generic/pt-attr-getstack.c            |  32 +
 sysdeps/generic/pt-attr-getstackaddr.c        |  29 +
 sysdeps/generic/pt-attr-getstacksize.c        |  29 +
 sysdeps/generic/pt-attr-init.c                |  29 +
 sysdeps/generic/pt-attr-setdetachstate.c      |  40 ++
 sysdeps/generic/pt-attr-setguardsize.c        |  29 +
 sysdeps/generic/pt-attr-setinheritsched.c     |  40 ++
 sysdeps/generic/pt-attr-setschedparam.c       |  40 ++
 sysdeps/generic/pt-attr-setschedpolicy.c      |  44 ++
 sysdeps/generic/pt-attr-setscope.c            |  43 ++
 sysdeps/generic/pt-attr-setstack.c            |  51 ++
 sysdeps/generic/pt-attr-setstackaddr.c        |  29 +
 sysdeps/generic/pt-attr-setstacksize.c        |  30 +
 sysdeps/generic/pt-attr.c                     |  41 ++
 sysdeps/generic/pt-barrier-destroy.c          |  27 +
 sysdeps/generic/pt-barrier-init.c             |  53 ++
 sysdeps/generic/pt-barrier-wait.c             |  69 +++
 sysdeps/generic/pt-barrier.c                  |  26 +
 sysdeps/generic/pt-barrierattr-destroy.c      |  27 +
 sysdeps/generic/pt-barrierattr-getpshared.c   |  29 +
 sysdeps/generic/pt-barrierattr-init.c         |  28 +
 sysdeps/generic/pt-barrierattr-setpshared.c   |  39 ++
 sysdeps/generic/pt-cond-brdcast.c             |  45 ++
 sysdeps/generic/pt-cond-destroy.c             |  29 +
 sysdeps/generic/pt-cond-init.c                |  47 ++
 sysdeps/generic/pt-cond-signal.c              |  43 ++
 sysdeps/generic/pt-cond-timedwait.c           | 178 ++++++
 sysdeps/generic/pt-cond-wait.c                |  39 ++
 sysdeps/generic/pt-cond.c                     |  29 +
 sysdeps/generic/pt-condattr-destroy.c         |  29 +
 sysdeps/generic/pt-condattr-getclock.c        |  31 +
 sysdeps/generic/pt-condattr-getpshared.c      |  29 +
 sysdeps/generic/pt-condattr-init.c            |  30 +
 sysdeps/generic/pt-condattr-setclock.c        |  52 ++
 sysdeps/generic/pt-condattr-setpshared.c      |  39 ++
 sysdeps/generic/pt-destroy-specific.c         |  28 +
 sysdeps/generic/pt-equal.c                    |  31 +
 sysdeps/generic/pt-getconcurrency.c           |  27 +
 sysdeps/generic/pt-getcpuclockid.c            |  35 ++
 sysdeps/generic/pt-getschedparam.c            |  32 +
 sysdeps/generic/pt-getspecific.c              |  27 +
 sysdeps/generic/pt-init-specific.c            |  27 +
 sysdeps/generic/pt-key-create.c               |  30 +
 sysdeps/generic/pt-key-delete.c               |  29 +
 sysdeps/generic/pt-key.h                      |  22 +
 sysdeps/generic/pt-kill.c                     |  33 +
 sysdeps/generic/pt-mutex-destroy.c            |  39 ++
 sysdeps/generic/pt-mutex-getprioceiling.c     |  30 +
 sysdeps/generic/pt-mutex-init.c               |  50 ++
 sysdeps/generic/pt-mutex-lock.c               |  37 ++
 sysdeps/generic/pt-mutex-setprioceiling.c     |  30 +
 sysdeps/generic/pt-mutex-timedlock.c          | 196 ++++++
 sysdeps/generic/pt-mutex-transfer-np.c        |  66 ++
 sysdeps/generic/pt-mutex-trylock.c            | 112 ++++
 sysdeps/generic/pt-mutex-unlock.c             | 108 ++++
 sysdeps/generic/pt-mutexattr-destroy.c        |  27 +
 sysdeps/generic/pt-mutexattr-getprioceiling.c |  30 +
 sysdeps/generic/pt-mutexattr-getprotocol.c    |  29 +
 sysdeps/generic/pt-mutexattr-getpshared.c     |  29 +
 sysdeps/generic/pt-mutexattr-gettype.c        |  28 +
 sysdeps/generic/pt-mutexattr-init.c           |  28 +
 sysdeps/generic/pt-mutexattr-setprioceiling.c |  30 +
 sysdeps/generic/pt-mutexattr-setprotocol.c    |  42 ++
 sysdeps/generic/pt-mutexattr-setpshared.c     |  39 ++
 sysdeps/generic/pt-mutexattr-settype.c        |  37 ++
 sysdeps/generic/pt-mutexattr.c                |  45 ++
 sysdeps/generic/pt-once.c                     |  45 ++
 sysdeps/generic/pt-rwlock-attr.c              |  26 +
 sysdeps/generic/pt-rwlock-destroy.c           |  29 +
 sysdeps/generic/pt-rwlock-init.c              |  45 ++
 sysdeps/generic/pt-rwlock-rdlock.c            |  33 +
 sysdeps/generic/pt-rwlock-timedrdlock.c       | 121 ++++
 sysdeps/generic/pt-rwlock-timedwrlock.c       | 104 ++++
 sysdeps/generic/pt-rwlock-tryrdlock.c         |  56 ++
 sysdeps/generic/pt-rwlock-trywrlock.c         |  46 ++
 sysdeps/generic/pt-rwlock-unlock.c            |  99 +++
 sysdeps/generic/pt-rwlock-wrlock.c            |  35 ++
 sysdeps/generic/pt-rwlockattr-destroy.c       |  27 +
 sysdeps/generic/pt-rwlockattr-getpshared.c    |  29 +
 sysdeps/generic/pt-rwlockattr-init.c          |  28 +
 sysdeps/generic/pt-rwlockattr-setpshared.c    |  39 ++
 sysdeps/generic/pt-setconcurrency.c           |  34 ++
 sysdeps/generic/pt-setschedparam.c            |  31 +
 sysdeps/generic/pt-setschedprio.c             |  29 +
 sysdeps/generic/pt-setspecific.c              |  27 +
 sysdeps/generic/pt-startup.c                  |  25 +
 sysdeps/generic/raise.c                       |  51 ++
 sysdeps/generic/sem-close.c                   |  32 +
 sysdeps/generic/sem-destroy.c                 |  38 ++
 sysdeps/generic/sem-getvalue.c                |  33 +
 sysdeps/generic/sem-init.c                    |  46 ++
 sysdeps/generic/sem-open.c                    |  32 +
 sysdeps/generic/sem-post.c                    |  62 ++
 sysdeps/generic/sem-timedwait.c               | 100 +++
 sysdeps/generic/sem-trywait.c                 |  42 ++
 sysdeps/generic/sem-unlink.c                  |  32 +
 sysdeps/generic/sem-wait.c                    |  32 +
 sysdeps/generic/shm-directory.h               |  31 +
 sysdeps/hurd/pt-destroy-specific.c            |  77 +++
 sysdeps/hurd/pt-getspecific.c                 |  39 ++
 sysdeps/hurd/pt-init-specific.c               |  31 +
 sysdeps/hurd/pt-key-create.c                  | 110 ++++
 sysdeps/hurd/pt-key-delete.c                  |  64 ++
 sysdeps/hurd/pt-key.h                         |  77 +++
 sysdeps/hurd/pt-kill.c                        |  52 ++
 sysdeps/hurd/pt-setspecific.c                 |  51 ++
 sysdeps/i386/bits/memory.h                    |  40 ++
 sysdeps/i386/bits/pt-atomic.h                 |  66 ++
 sysdeps/i386/bits/pthreadtypes-arch.h         |  21 +
 sysdeps/pthread/bits/thread-shared-types.h    |  24 +
 sysdeps/i386/machine-sp.h                     |  30 +
 sysdeps/i386/pt-machdep.h                     |  29 +
 sysdeps/mach/bits/spin-lock-inline.h          |  90 +++
 sysdeps/mach/bits/spin-lock.h                 |  38 ++
 sysdeps/mach/hurd/Implies                     |   2 +
 sysdeps/mach/hurd/bits/pthread-np.h           |  38 ++
 sysdeps/mach/hurd/i386/pt-machdep.c           |  83 +++
 sysdeps/mach/hurd/i386/pt-setup.c             | 110 ++++
 sysdeps/mach/hurd/pt-attr-setstackaddr.c      |  29 +
 sysdeps/mach/hurd/pt-attr-setstacksize.c      |  29 +
 sysdeps/mach/hurd/pt-docancel.c               |  66 ++
 sysdeps/mach/hurd/pt-hurd-cond-timedwait.c    | 169 ++++++
 sysdeps/mach/hurd/pt-hurd-cond-wait.c         |  41 ++
 sysdeps/mach/hurd/pt-sigstate-destroy.c       |  28 +
 sysdeps/mach/hurd/pt-sigstate-init.c          |  44 ++
 sysdeps/mach/hurd/pt-sigstate.c               |  80 +++
 sysdeps/mach/hurd/pt-sysdep.c                 |  98 +++
 sysdeps/mach/hurd/pt-sysdep.h                 |  67 +++
 sysdeps/mach/i386/bits/spin-lock-inline.h     |  98 +++
 sysdeps/mach/i386/bits/spin-lock.h            |  39 ++
 sysdeps/mach/pt-block.c                       |  39 ++
 sysdeps/mach/pt-spin.c                        |  36 ++
 sysdeps/mach/pt-stack-alloc.c                 |  69 +++
 sysdeps/mach/pt-thread-alloc.c                |  95 +++
 sysdeps/mach/pt-thread-start.c                |  51 ++
 sysdeps/mach/pt-thread-terminate.c            |  85 +++
 sysdeps/mach/pt-timedblock.c                  |  68 +++
 sysdeps/mach/pt-wakeup.c                      |  38 ++
 sysdeps/posix/pt-spin.c                       |  54 ++
 sysdeps/pthread/Makefile                      |   7 +
 sysdeps/pthread/bits/barrier-attr.h           |  32 +
 sysdeps/pthread/bits/barrier.h                |  39 ++
 sysdeps/pthread/bits/cancelation.h            |  51 ++
 sysdeps/pthread/bits/condition-attr.h         |  34 ++
 sysdeps/pthread/bits/condition.h              |  39 ++
 sysdeps/pthread/bits/mutex-attr.h             |  41 ++
 sysdeps/pthread/bits/mutex.h                  |  75 +++
 sysdeps/pthread/bits/once.h                   |  34 ++
 sysdeps/pthread/bits/pthread-np.h             |  27 +
 sysdeps/pthread/bits/pthread.h                |  38 ++
 sysdeps/pthread/bits/pthreadtypes.h           |  30 +
 sysdeps/pthread/bits/rwlock-attr.h            |  32 +
 sysdeps/pthread/bits/rwlock.h                 |  46 ++
 sysdeps/pthread/bits/semaphore.h              |  44 ++
 sysdeps/pthread/bits/thread-attr.h            |  47 ++
 sysdeps/pthread/bits/thread-specific.h        |  25 +
 sysdeps/pthread/flockfile.c                   |  32 +
 sysdeps/pthread/ftrylockfile.c                |  35 ++
 sysdeps/pthread/funlockfile.c                 |  33 +
 sysdeps/pthread/libc-lockP.h                  | 158 +++++
 sysdeps/pthread/pthread-functions.h           | 141 +++++
 sysdeps/pthread/semaphore.h                   |  81 +++
 tests/.cvsignore                              |   1 +
 tests/Makefile                                |  40 ++
 tests/README                                  |   6 +
 tests/test-1.c                                |  50 ++
 tests/test-10.c                               |  46 ++
 tests/test-11.c                               | 143 +++++
 tests/test-12.c                               |  29 +
 tests/test-13.c                               |  66 ++
 tests/test-14.c                               |  44 ++
 tests/test-15.c                               |  87 +++
 tests/test-16.c                               |  71 +++
 tests/test-17.c                               |  57 ++
 tests/test-2.c                                |  39 ++
 tests/test-3.c                                |  55 ++
 tests/test-4.c                                |  86 +++
 tests/test-5.c                                |  75 +++
 tests/test-6.c                                |  96 +++
 tests/test-7.c                                |  70 +++
 tests/test-8.c                                |  60 ++
 tests/test-9.c                                |  88 +++
 tests/test-__pthread_destroy_specific-skip.c  |  83 +++
 232 files changed, 13224 insertions(+)

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name cvs-libpthread.diff

7 years agot/hooks
Samuel Thibault [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoSmall signal fixes
Jeremie Koenig [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agoimplement SA_SIGINFO signal handlers.
Jeremie Koenig [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agolocal-hurdsig-global-dispositions-version
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
local-hurdsig-global-dispositions-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-global-dispositions-version.diff

7 years agoGlobal signal dispositions.
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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 anway (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

7 years agoSignal code refactoring.
Jeremie Koenig [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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

7 years agolocal-madvise_warn
GNU Libc Maintainers [Sun, 14 Jan 2018 10:24:48 +0000 (10:24 +0000)]
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