glibc.git
2 years ago[PATCH] hurd: SCM_CREDS support
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
[PATCH] 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

2 years agolocal-disable-ioctls
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +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

2 years ago[PATCH] The critical section lock _can_ be held in these place.
Samuel Thibault [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
[PATCH] 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

2 years ago[PATCH] Implement SysV shared memory for GNU/Hurd.
Marcus Brinkmann [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
[PATCH] 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

2 years agolocal-enable-ldconfig
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
local-enable-ldconfig

# DP: Description: Enable ldconfig and such on hurd-i386
# DP: Author: Jeff Bailey <jbailey@nisa.net>
# DP: Related Bugs: #309489
# DP: Upstream status: Not submitted
# DP: Status Details: Upstream disagrees with this patch, but I'm
# DP: putting it in so that we have expected Debian behaviour on the
# DP: Hurd.  We should review this when the ELF standard supports runpath.
# DP: Date: 08 Apr 2003

# DP: Description: Enable ldconfig and such on hurd-i386
# DP: Author: Jeff Bailey <jbailey@nisa.net>
# DP: Related Bugs: #309489
# DP: Upstream status: Not submitted
# DP: Status Details: Upstream disagrees with this patch, but I'm
# DP: putting it in so that we have expected Debian behaviour on the
# DP: Hurd.  We should review this when the ELF standard supports runpath.
# DP: Date: 08 Apr 2003

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name local-enable-ldconfig.diff

2 years agogit-intr-msg-cfa
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-intr-msg-cfa

commit 63550530d98db6e9c30dc96a3ea08411b873b23e
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Feb 9 19:58:43 2023 +0100

    hurd: Fix unwinding over INTR_MSG_TRAP

    We used to use .cfi_adjust_cfa_offset around %esp manipulation
    asm instructions to fix unwinding, but when building glibc with
    -fno-omit-frame-pointer this is bogus since in that case %ebp is the CFA and
    does not move.

    Instead, let's force -fno-omit-frame-pointer when building intr-msg.c so
    that %ebp can always be used and no .cfi_adjust_cfa_offset is needed.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-intr-msg-cfa.diff

2 years agogit-sem_wait_race
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-sem_wait_race

commit 289b098c9e21e2805e3835f9b5780235ab14a290
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Fri Dec 30 00:40:18 2022 +0100

    htl: Fix sem_wait race between read and gsync_wait

    If the value changes between sem_wait's read and the gsync_wait call,
    the kernel will return KERN_INVALID_ARGUMENT, which we have to interpret
    as the value having already changed.

    This fixes applications (e.g. libgo) seeing sem_wait erroneously return
    KERN_INVALID_ARGUMENT.

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

2 years agogit-mach-headers-freestanding
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-mach-headers-freestanding

commit 8b8c768e3c701ed1993789bb46acb8a12c7a93df
Author: Flavio Cruz <flaviocruz@gmail.com>
Date:   Sun Dec 18 19:46:15 2022 -0500

    Force use of -ffreestanding when checking for gnumach headers

    Without this ./configure assumes that we are in a fully hosted
    environment, which might not be the case. After this patch, we can rely on
    the freestanding header files provided by GCC such as stdint.h.
    Message-Id: <Y5+0V9osFc/zXMq0@mars>

commit 7685630b98ca2a3f5de86eadf130993e6cf998a0
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Dec 19 02:34:55 2022 +0100

    mach: Fix passing -ffreestanding when checking for gnumach headers

    8b8c768e3c70 ("Force use of -ffreestanding when checking for gnumach
    headers") was passing -ffreestanding to CFLAGS only, but headers checks are
    performed with the preprocessor, so we rather need to pass it to CPPFLAGS.

commit 0fb10e49ad169374650534509767ec1d4232e230
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Dec 19 02:38:38 2022 +0100

    mach: Drop remnants of old_CFLAGS

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-mach-headers-freestanding.diff

2 years agogit-getrandom-chroot
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-getrandom-chroot

commit 8fb923ddc38dd5f4bfac4869d70fd80483fdb87a
Author: Sergey Bugaev <bugaevc@gmail.com>
Date:   Fri Dec 2 16:55:58 2022 +0300

    hurd: Make getrandom cache the server port

    Previously, getrandom would, each time it's called, traverse the file
    system to find /dev/urandom, fetch some random data from it, then throw
    away that port. This is quite slow, while calls to getrandom are
    genrally expected to be fast.

    Additionally, this means that getrandom can not work when /dev/urandom
    is unavailable, such as inside a chroot that lacks one. User programs
    expect calls to getrandom to work inside a chroot if they first call
    getrandom outside of the chroot.

    In particular, this is known to break the OpenSSH server, and in that
    case the issue is exacerbated by the API of arc4random, which prevents
    it from properly reporting errors, forcing glibc to abort on failure.
    This causes sshd to just die once it tries to generate a random number.

    Caching the random server port, in a manner similar to how socket
    server ports are cached, both improves the performance and works around
    the chroot issue.

    Tested on i686-gnu with the following program:

    pthread_barrier_t barrier;

    void *worker(void*) {
        pthread_barrier_wait(&barrier);
        uint32_t sum = 0;
        for (int i = 0; i < 10000; i++) {
            sum += arc4random();
        }
        return (void *)(uintptr_t) sum;
    }

    int main() {
        pthread_t threads[THREAD_COUNT];

        pthread_barrier_init(&barrier, NULL, THREAD_COUNT);

        for (int i = 0; i < THREAD_COUNT; i++) {
            pthread_create(&threads[i], NULL, worker, NULL);
        }
        for (int i = 0; i < THREAD_COUNT; i++) {
            void *retval;
            pthread_join(threads[i], &retval);
            printf("Thread %i: %lu\n", i, (unsigned long)(uintptr_t) retval);
        }

    In my totally unscientific benchmark, with this patch, this completes
    in about 7 seconds, whereas previously it took about 50 seconds. This
    program was also used to test that getrandom () doesn't explode if the
    random server dies, but instead reopens the /dev/urandom anew. I have
    also verified that with this patch, OpenSSH can once again accept
    connections properly.

Signed-off-by: Sergey Bugaev <bugaevc@gmail.com>
    Message-Id: <20221202135558.23781-1-bugaevc@gmail.com>

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-getrandom-chroot.diff

2 years agogit-sigtimedwait
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-sigtimedwait

commit 19934d629ee22bbd332f04da4320e4f624c9560c
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Nov 7 21:14:39 2022 +0100

    hurd: Add sigtimedwait and sigwaitinfo support

    This simply needed to add the timeout parameter to mach_msg, and copy
    information from struct hurd_signal_detail.

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

2 years agogit-SOMAXCONN
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-SOMAXCONN

commit 7de3f0a96c4e93a7cd7312296d00039604ed94f8
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Tue Sep 27 23:37:42 2022 +0200

    hurd: Increase SOMAXCONN to 4096

    Notably fakeroot-tcp may introduce a lot of parallel connections.

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

2 years agogit-net-route.h
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-net-route.h

commit ffd0b295d96aa58d65e642d7519f4d8c33acb3f0
Author: Damien Zammit <damien@zamaudio.com>
Date:   Wed Sep 21 00:41:31 2022 +0200

    hurd: Add ifrtreq structure to net/route.h

    As used by the hurdish route ioctls.

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

2 years agogit-readlink-fifo
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-readlink-fifo

commit 9e5c991106cb04b489272de0ef6a7a6bcef50477 (origin/master, origin/HEAD)
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Wed Sep 14 18:52:52 2022 +0200

    hurd: Fix readlink() hanging on fifo

    readlink() opens the target with O_READ to be able to read the symlink
    content. When the target is actually a fifo, that would hang waiting for a
    writer (caught in the coreutils testsuite). We thus have to first lookup the
    target without O_READ to perform io_stat and lookout for fifos, and only
    after checking the symlink type, we can re-lookup with O_READ.

commit 5652e12cce80825297c3e0666991deb10310343c (HEAD -> master, origin-rw/master)
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Sep 15 21:53:57 2022 +0200

    hurd: Make readlink* just reopen the file used for stat

    9e5c991106cb ("hurd: Fix readlink() hanging on fifo") separated opening
    the file for the stat call from opening the file for the read call. That
    however opened a small window for the file to change. Better make this
    atomic by reopening the file with O_READ.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-readlink-fifo.diff

2 years agogit-xpg_strerror
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-xpg_strerror

commit cb033e6b0ca7b8873cd00687ffd1828038a595d3
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Aug 27 14:46:23 2022 +0200

    mach: Make xpg_strerror_r set a message on error

    posix advises to have strerror_r fill a message even when we are returning
    an error.

    This makes mach's xpg_strerror_r do this, like the generic version does.

    Spotted by the libunistring testsuite test-strerror_r

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

2 years agogit-strerror_X
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-strerror_X

commit 03ad444e8e086391f53d87c3949e0d44adef4bc3
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Aug 27 13:52:46 2022 +0200

    mach: Fix incoherency between perror and strerror

    08d2024b4167 ("string: Simplify strerror_r") inadvertently made
    __strerror_r print unknown error system in decimal while the original
    code was printing it in hexadecimal. perror was kept printing in
    hexadecimal in 725eeb4af14c ("string: Use tls-internal on strerror_l"),
    let us keep both coherent.

    This also fixes a duplicate ':'

    Spotted by the libunistring testsuite test-perror2

commit 1918241b55540536fee45b3096e786b7b7f9277a
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sun Sep 11 14:20:32 2022 +0200

    tst-sprintf-errno: Update Hurd message output

    03ad444e8e08 ("mach: Fix incoherency between perror and strerror")
    fixesd the output of error messages, but tst-sprintf-errno.c was still
    checking the old (erroneous) format. This updates the expected output
    according to the 03ad444e8e08 fix.

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

2 years agogit-cond-destroy
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-cond-destroy

commit 4565083abc972bffe810e4151f8f3cb48531e526
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Aug 22 22:27:24 2022 +0200

    htl: Make pthread*_cond_timedwait register wref before releasing mutex

    Otherwise another thread could be rightly trying to destroy the condition,
    see e.g. tst-cond20.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-cond-destroy.diff

2 years agogit-bootstrap-enable_secure
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-bootstrap-enable_secure

commit dba88b4f44d80864ec78595526e081ab9b5af278
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Fri Aug 19 02:16:54 2022 +0200

    hurd: Assume non-suid during bootstrap

    We do not have a hurd data block only when bootstrapping the system, in
    which case we don't have a notion of suid yet anyway.

    This is needed, otherwise init_standard_fds would check that standard
    file descriptors are allocated, which is meaningless during bootstrap.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-bootstrap-enable_secure.diff

2 years agogit-ip_mreqn
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-ip_mreqn

commit a2ee8c6500fdaff03019928d916d166ee266e1f5
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Sat Aug 13 23:02:51 2022 +0200

    Move ip_mreqn structure from Linux to generic

    I.e. from sysdeps/unix/sysv/linux/bits/in.h to netinet/in.h

    It is following both the BSD and Linux definitions.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-ip_mreqn.diff

2 years agogit-ipv6
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-ipv6

commit af6e07dad78dd6367e81d5a4fec7056f1af3e806
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Aug 15 11:25:55 2022 +0200

    non-linux: bits/in.h: Add more RFC options

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

2 years agogit-static-pie
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-static-pie

commit af6b1cce9812273c7f597be6536d28eaec6fb89b
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Mon Aug 22 22:34:31 2022 +0200

    hurd: Fix starting static binaries with stack protection enabled

    gcc introduces gs:0x14 accesses in most functions, so we need some tcbhead
    to be ready very early during initialization.  This configures a static area
    which can be referenced by various protected functions, until proper TLS is
    set up.

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

2 years agogit-htl-pthread-self-early
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-htl-pthread-self-early

Will be committed for 2.37

commit 302bf01641d0addebe2aea69b9924bd781f76d81
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date:   Thu Jul 28 22:01:49 2022 +0200

    htl: Let pthread_self and cancellability called early

    When applications redirect some functions they might get called before
    libpthread is fully initialized.  They may still expected pthread_self
    and cancellable functions to work, so cope with such calls in that
    situation.

Gbp-Pq: Topic hurd-i386
Gbp-Pq: Name git-htl-pthread-self-early.diff

2 years agolocal-inlining
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
local-inlining

Increase the maximal overall growth of the compilation unit caused
by inlining for dl-reloc.c on hppa. This remove some warnings and
strangely it reduces the size of the final binary.

Gbp-Pq: Topic hppa
Gbp-Pq: Name local-inlining.diff

2 years agogit-atomic-compiler-builtins
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-atomic-compiler-builtins

commit f9646d138f568ced95b29c20efdf902063c7ea96
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Sep 28 17:53:28 2021 +0000

    arm: Enable USE_ATOMIC_COMPILER_BUILTINS (BZ #24774)

    As per other architectures.  I have checked on a armv8 hardware with
    the following configurations:

      arm-linux-gnueabihf (gcc built with --with-float=hard --with-cpu=arm926ej-s)
      armv5-linux-gnueabihf (-march=armv5te -mfpu=vfpv3)
      armv7-linux-gnueabihf (-march=armv7-a -mfpu=vfpv3)
      armv7-thumb-linux-gnueabihf (-march=armv7-a -mfpu=vfpv3 -mthumb)
      armv7-neon-linux-gnueabihf (-march=armv7-a -mfpu=neon)
      armv7-neonhard-linux-gnueabihf (-march=armv7-a -mfpu=neon -mfloat-abi=hard)

    Without any regression.

    I haven't dig into the code, but since Linux atomic-machine.h handle
    pre-ARMv6 and ARMv6 I expect the compiler might have some small room
    to optimize.

    The code size also improves is most of the configurations:

    * master

       text    data     bss     dec     hex filename
    1727801    9720   37928 1775449  1b1759  arm-linux-gnueabihf/libc.so
    1691729    9720   37928 1739377  1a8a71  arm-linux-gnueabihf-armv7-disable-multi-arch/libc.so
    1725509    9720   37928 1773157  1b0e65  armv5-linux-gnueabihf/libc.so
    1700757    9720   37928 1748405  1aadb5  armv6-linux-gnueabihf/libc.so
    1698973    9720   37928 1746621  1aa6bd  armv6t2-linux-gnueabihf/libc.so
    1695481    9752   37928 1743161  1a9939  armv7-linux-gnueabihf/libc.so
    1692917    9744   37928 1740589  1a8f2d  armv7-neonhard-linux-gnueabihf/libc.so
    1692917    9744   37928 1740589  1a8f2d  armv7-neon-linux-gnueabihf/libc.so
    1225353    9752   37928 1273033  136cc9  armv7-thumb-linux-gnueabihf/libc.so

    * patched

       text    data     bss     dec     hex filename
    1726805    9720   37928 1774453  1b1375 arm-linux-gnueabihf/libc.so
    1689321    9720   37928 1736969  1a8109 arm-linux-gnueabihf-armv7-disable-multi-arch/libc.so
    1724433    9720   37928 1772081  1b0a31 armv5-linux-gnueabihf/libc.so
    1698301    9720   37928 1745949  1aa41d armv6-linux-gnueabihf/libc.so
    1696525    9720   37928 1744173  1a9d2d armv6t2-linux-gnueabihf/libc.so
    1693009    9752   37928 1740689  1a8f91 armv7-linux-gnueabihf/libc.so
    1690493    9744   37928 1738165  1a85b5 armv7-neonhard-linux-gnueabihf/libc.so
    1690493    9744   37928 1738165  1a85b5 armv7-neon-linux-gnueabihf/libc.so
    1223837    9752   37928 1271517  1366dd armv7-thumb-linux-gnueabihf/libc.so

    The idea is eventually move all architectures to use compiler builtins.

Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
Tested-by: Aurelien Jarno <aurelien@aurel32.net>
Gbp-Pq: Topic arm
Gbp-Pq: Name git-atomic-compiler-builtins.diff

2 years agoLie about futex_atomic_cmpxchg_inatomic kernel support.
Adam Conrad [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
Lie about futex_atomic_cmpxchg_inatomic kernel support.

Bug-Ubuntu: https://launchpad.net/bugs/1436162
Bug-Debian: https://bugs.debian.org/788799
Last-Update: 2015-03-25

In past versions of glibc, we incorrectly assumed all ARM kernels
in all configurations supported futex_atomic_cmpxchg_inatomic. This
was clearly a lie, however it was a lie that we relied on, because
the fallback implementation appears to not play nicely with certain
applications like pulseaudio.  Restore the lie for kernels > 2.6.32
and plug our ears and scream "LA LA LA" about how wrong this is.

Gbp-Pq: Topic arm
Gbp-Pq: Name local-arm-futex.diff

2 years agounsubmitted-ldso-multilib
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
unsubmitted-ldso-multilib

Gbp-Pq: Topic arm
Gbp-Pq: Name unsubmitted-ldso-multilib.diff

2 years agolocal-sigaction
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
local-sigaction

Gbp-Pq: Topic arm
Gbp-Pq: Name local-sigaction.diff

2 years agosubmitted-makecontext
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
submitted-makecontext

2018-03-01  Aurelien Jarno  <aurelien@aurel32.net>

[BZ #22910]
* sysdeps/unix/sysv/linux/alpha/setcontext.S (__startcontext): Set
up CFI directive to forbid further backtracing.

Gbp-Pq: Topic alpha
Gbp-Pq: Name submitted-makecontext.diff

2 years agosubmitted-fts64
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
submitted-fts64

2016-03-22  Aurelien Jarno  <aurelien@aurel32.net>

* sysdeps/unix/sysv/linux/alpha/fts.c: New file.
* sysdeps/unix/sysv/linux/alpha/fts64.c: New file.

Gbp-Pq: Topic alpha
Gbp-Pq: Name submitted-fts64.diff

2 years agolocal-string-functions
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
local-string-functions

The alpha assembly version of various string functions do not work
correctly on some corner cases, and thus doesn't pass the testsuite.
This patch removes them.

Gbp-Pq: Topic alpha
Gbp-Pq: Name local-string-functions.diff

2 years agosubmitted-dl-support
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
submitted-dl-support

older versions of glibc would build dl-sysdep as shared-only and dl-support as
static-only.  alpha hooks in a cache variable via dl-auxv.h.  newer versions of
glibc build dl-sysdep as both shared and static which means we now have symbol
duplication for static builds with dl-sysdep and dl-support.  since dl-sysdep
is both shared/static, there is no point in hooking dl-support anymore, so we
can punt it.

Gbp-Pq: Topic alpha
Gbp-Pq: Name submitted-dl-support.diff

2 years agolocal-gcc4.1
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
local-gcc4.1

2006-05-30  Falk Hueffner <falk@debian.org>

* sysdeps/unix/sysv/linux/alpha/ioperm.c: force the architecture
  to ev6 in assembly code.

{standard input}: Assembler messages:
{standard input}:341: Error: macro requires $at register while noat in effect
{standard input}:374: Error: macro requires $at register while noat in effect
{standard input}:438: Error: macro requires $at register while noat in effect
{standard input}:471: Error: macro requires $at register while noat in effect
make[3]: *** [/tmp/buildd/glibc-2.3.6/build-tree/alpha-libc/misc/ioperm.o] Error 1

Hrm. gcc puts .arch ev4 into the .s, and this overrides -mev6 for as.
I cannot really think of anything better than

Gbp-Pq: Topic alpha
Gbp-Pq: Name local-gcc4.1.diff

2 years agosubmitted-es_MX-decimal_point
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
submitted-es_MX-decimal_point

2012-06-06  Aurelien Jarno  <aurelien@aurel32.net>

* locales/es_MX (LC_MONETARY): Set mon_thousands_sep to space
( ).

Gbp-Pq: Topic localedata
Gbp-Pq: Name submitted-es_MX-decimal_point.diff

2 years agotailor-iso14651_t1
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
tailor-iso14651_t1

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Rewrite collation rules to include iso14651_t1
# DP:  ar_SA cs_CZ et_EE hr_HR lt_LT pl_PL sl_SI tr_TR: not
# DP:    submitted yet.
# DP: Related bugs: BZ664 BZ672
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Denis Barbier, Pablo Saratxaga
# DP: Upstream status: BZ664 BZ672
# DP: Date: 2006-01-18

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Rewrite collation rules to include iso14651_t1
# DP:  ar_SA cs_CZ et_EE hr_HR lt_LT pl_PL sl_SI tr_TR: not
# DP:    submitted yet.
# DP: Related bugs: BZ664 BZ672
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Denis Barbier, Pablo Saratxaga
# DP: Upstream status: BZ664 BZ672
# DP: Date: 2006-01-18

2008-08-08  Aurelien Jarno <aurel32@debian.org>

        Loosy update for glibc 2.8.

2007-05-25  Pierre Habouzit <madcoder@debian.org>

        Loosy update for glibc 2.6.

2005-01-16  Denis Barbier  <barbier@linuxfr.org>

[BZ #672]
        Replace current collation rules by including iso14651_t1 and adding
        extra rules if needed.  There should be no noticeable changes in
        sorted text. only ligatures and ignoreable characters have modified
        weights.
* locales/da_DK: Likewise.

Gbp-Pq: Topic localedata
Gbp-Pq: Name tailor-iso14651_t1.diff

2 years agolocale-zh_TW
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
locale-zh_TW

See BTS #352600.
Not submitted yet.

Gbp-Pq: Topic localedata
Gbp-Pq: Name locale-zh_TW.diff

2 years agolocale-en_DK
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
locale-en_DK

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Improve en_DK and add en_DK.ISO-8859-15 to SUPPORTED
# DP:   This locale is only useful to provide ISO8601 date formats.
# DP: Related bugs: #323159
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jakob Bohm <jbj@image.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-16

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Improve en_DK and add en_DK.ISO-8859-15 to SUPPORTED
# DP:   This locale is only useful to provide ISO8601 date formats.
# DP: Related bugs: #323159
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jakob Bohm <jbj@image.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-16

Gbp-Pq: Topic localedata
Gbp-Pq: Name locale-en_DK.diff

2 years agolocales-fr
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
locales-fr

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Various fixes for all French locales
# DP: Related bugs: #248377  #351786 #345481
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Various fixes for all French locales
# DP: Related bugs: #248377  #351786 #345481
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10

Gbp-Pq: Topic localedata
Gbp-Pq: Name locales-fr.diff

2 years agofo_FO-date_fmt
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
fo_FO-date_fmt

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Fix d_t_fmt and date_fmt in fo_FO
# DP: Related bugs: #307194
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jacob Sparre Andersen <sparre@nbi.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Fix d_t_fmt and date_fmt in fo_FO
# DP: Related bugs: #307194
# DP: Dpatch author: Denis Barbier
# DP: Patch author: Jacob Sparre Andersen <sparre@nbi.dk>
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10

Gbp-Pq: Topic localedata
Gbp-Pq: Name fo_FO-date_fmt.diff

2 years agolocale-ku_TR
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
locale-ku_TR

# DP: Description: Please add Kurdish locale
# DP: Related bugs: BZ870
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Kader DILSIZ, Pablo Saratxaga
# DP: Upstream status: Version 0.1 submitted in the original bugreport
# DP:   has been committed, this new version has been sent just after.
# DP: Date: 2006-01-06

# DP: Description: Please add Kurdish locale
# DP: Related bugs: BZ870
# DP: Dpatch author: Denis Barbier <barbier@debian.org>
# DP: Patch author: Kader DILSIZ, Pablo Saratxaga
# DP: Upstream status: Version 0.1 submitted in the original bugreport
# DP:   has been committed, this new version has been sent just after.
# DP: Date: 2006-01-06

Gbp-Pq: Topic localedata
Gbp-Pq: Name locale-ku_TR.diff

2 years agolocale-eu_FR
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
locale-eu_FR

# DP: Description: #257840: locales: Please add the eu_FR locale
# DP: Related bugs: #257840
# DP: Dpatch author: GOTO Masanori <gotom@debian.org>
# DP: Patch author: Christian Perrier <bubulle@debian.org>
# DP: Upstream status: Not submitted
# DP: Status Details: sending upstream
# DP: Date: 2004-07-31

# DP: Description: #257840: locales: Please add the eu_FR locale
# DP: Related bugs: #257840
# DP: Dpatch author: GOTO Masanori <gotom@debian.org>
# DP: Patch author: Christian Perrier <bubulle@debian.org>
# DP: Upstream status: Not submitted
# DP: Status Details: sending upstream
# DP: Date: 2004-07-31

Gbp-Pq: Topic localedata
Gbp-Pq: Name locale-eu_FR.diff

2 years agosupported
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
supported

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Add several locales to localedata.SUPPORTED
# DP: - ru_RU.CP1251 was requested in #225516
# DP: - uz_UZ.UTF-8 was clearly missing, uz_UZ had no UTF-8 variant
# DP: - da_DK.ISO-8859-15, en_GB.ISO-8859-15, en_US.ISO-8859-15, no_NO.UTF-8,
# DP:   no_NO and sv_SE.ISO-8859-15 are found in fedora-branch CVS branch.
# DP: Related bugs: #225516 (ru_RU.CP1251)
# DP: Dpatch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10

# All lines beginning with `# DP:' are a description of the patch.
# DP: Description: Add several locales to localedata.SUPPORTED
# DP: - ru_RU.CP1251 was requested in #225516
# DP: - uz_UZ.UTF-8 was clearly missing, uz_UZ had no UTF-8 variant
# DP: - da_DK.ISO-8859-15, en_GB.ISO-8859-15, en_US.ISO-8859-15, no_NO.UTF-8,
# DP:   no_NO and sv_SE.ISO-8859-15 are found in fedora-branch CVS branch.
# DP: Related bugs: #225516 (ru_RU.CP1251)
# DP: Dpatch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-10

Gbp-Pq: Topic localedata
Gbp-Pq: Name supported.diff

2 years agosort-UTF8-first
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
sort-UTF8-first

Gbp-Pq: Topic localedata
Gbp-Pq: Name sort-UTF8-first.diff

2 years agoLC_IDENTIFICATION-optional-fields
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
LC_IDENTIFICATION-optional-fields

In LC_IDENTIFICATION, audience, application and abbreviation keywords
are optional, thus do not report an error if they are not defined.

# DP: Dpatch author: Denis Barbier
# DP: Patch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-08

Gbp-Pq: Topic locale
Gbp-Pq: Name LC_IDENTIFICATION-optional-fields.diff

2 years agolocale-print-LANGUAGE
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
locale-print-LANGUAGE

Comments tell that LANG has to be the first value, and LC_ALL the last
one.  Thus LANGUAGE is printed between them.

# DP: Dpatch author: Denis Barbier
# DP: Patch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-08

Gbp-Pq: Topic locale
Gbp-Pq: Name locale-print-LANGUAGE.diff

2 years agocheck-unknown-symbols
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
check-unknown-symbols

Check for unknown symbols in collation rules.  This is useful to detect
broken locales since unknown symbols are always wrong.

This request has not been submitted upstream yet.

# DP: Dpatch author: Denis Barbier
# DP: Patch author: Denis Barbier
# DP: Upstream status: not submitted
# DP: Date: 2006-01-08

Gbp-Pq: Topic locale
Gbp-Pq: Name check-unknown-symbols.diff

2 years agogit-updates
GNU Libc Maintainers [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
git-updates

GIT update of https://sourceware.org/git/glibc.git/release/2.36/master from glibc-2.36

GIT update of https://sourceware.org/git/glibc.git/release/2.36/master from glibc-2.36

Gbp-Pq: Name git-updates.diff

2 years agoglibc (2.36-9+deb12u3) bookworm-security; urgency=medium
Aurelien Jarno [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
glibc (2.36-9+deb12u3) bookworm-security; urgency=medium

  * debian/patches/any/local-CVE-2023-4911.patch: Fix a buffer overflow in the
    dynamic loader's processing of the GLIBC_TUNABLES environment variable
    (CVE-2023-4911).

[dgit import unpatched glibc 2.36-9+deb12u3]

2 years agoImport glibc_2.36-9+deb12u3.debian.tar.xz
Aurelien Jarno [Sat, 30 Sep 2023 08:31:05 +0000 (09:31 +0100)]
Import glibc_2.36-9+deb12u3.debian.tar.xz

[dgit import tarball glibc 2.36-9+deb12u3 glibc_2.36-9+deb12u3.debian.tar.xz]

3 years agoImport glibc_2.36.orig.tar.xz
Aurelien Jarno [Thu, 22 Sep 2022 20:23:11 +0000 (21:23 +0100)]
Import glibc_2.36.orig.tar.xz

[dgit import orig glibc_2.36.orig.tar.xz]