Source: glibc
Version: 2.37-15
Severity: important
Tags: patch
User: debian-sp...@lists.debian.org
Usertags: sparc64
X-Debbugs-Cc: 
debian-sp...@lists.debian.org,ker...@mkarcher.dialup.fu-berlin.de,s...@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.ca...@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)

Reply via email to