• Bug#1063937: glibc: Please add workaround to fix posix_spawn() on sparc

    From John Paul Adrian Glaubitz@21:1/5 to All on Thu Feb 15 08:40:01 2024
    XPost: linux.debian.ports.sparc, linux.debian.maint.glibc

    This is a multi-part MIME message sent by reportbug.


    Source: glibc
    Version: 2.37-15
    Severity: important
    Tags: patch
    User: debian-sparc@lists.debian.org
    Usertags: sparc64
    X-Debbugs-Cc: debian-sparc@lists.debian.org,kernel@mkarcher.dialup.fu-berlin.de,sam@gentoo.org

    Hello,

    there is currently a nasty bug on sparc64 that breaks posix_spawn() [1]
    and potentially any package that uses gcc since libiberty switched to
    using posix_spawn() with gcc-14.

    The attached patch comes from Michael Karcher (CC'ed) and unbreaks posix_spawn() so that gcc works again without posix_spawn() failing
    with "Bad Address".

    Since this patch is just a workaround and we're not even sure whether
    the bug is in the kernel or glibc, it's not been pushed upstream yet.

    Adrian

    [1] https://lore.kernel.org/sparclinux/fe5cc47167430007560501aabb28ba154985b661.camel@physik.fu-berlin.de

    --
    .''`. John Paul Adrian Glaubitz
    : :' : Debian Developer
    `. `' Physicist
    `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913

    --- glibc-2.37.orig/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
    +++ glibc-2.37/sysdeps/unix/sysv/linux/sparc/sparc32/clone.S
    @@ -28,6 +28,9 @@
    .text
    ENTRY (__clone)
    save %sp,-96,%sp
    + save %sp,-96,%sp
    + flushw
    + restore
    cfi_def_cfa_register(%fp)
    cfi_window_save
    cfi_register(%o7, %i7)
    --- glibc-2.37.orig/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
    +++ glibc-2.37/sysdeps/unix/sysv/linux/sparc/sparc64/clone.S
    @@ -32,6 +32,9 @@

    ENTRY (__clone)
    save %sp, -192, %sp
    + save %sp, -192, %sp
    + flushw
    + restore
    cfi_def_cfa_register(%fp)
    cfi_window_save
    cfi_register(%o7, %i7)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)