summaryrefslogtreecommitdiff
path: root/gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch')
-rw-r--r--gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch39
1 files changed, 1 insertions, 38 deletions
diff --git a/gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch b/gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch
index 600f89a711..4cfbd6b313 100644
--- a/gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch
+++ b/gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch
@@ -1,40 +1,3 @@
-Upstream-status: Taken from <https://salsa.debian.org/glibc-team/glibc/-/blob/c36c87acb1a35d6e06db6cef1e28cf2f405e1a9e/debian/patches/hurd-i386/git-intr-msg-clobber.diff>.
-
-See <https://lists.gnu.org/archive/html/bug-hurd/2024-11/msg00115.html>,
-and <https://lists.debian.org/debian-hurd/2024/07/msg00063.html>.
-
-Commited for 2.40
-
-commit c8b4ce0b368115714bd4cce131e1683759471099
-Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Date: Sat Jul 13 17:00:55 2024 +0200
-
- hurd: Fix restoring message to be retried
-
- save_data stores the start of the original message to be retried,
- overwritten by the EINTR reply. In 64b builds the overwrite is however
- rounded up to the 64b pointer size, so we have to save more than just
- the 32b err.
-
- Thanks a lot to Luca Dariz for the investigation!
-
-diff --git a/hurd/intr-msg.c b/hurd/intr-msg.c
-index 2c2e7dc463..424c1fc700 100644
---- a/hurd/intr-msg.c
-+++ b/hurd/intr-msg.c
-@@ -42,7 +42,10 @@ _hurd_intr_rpc_mach_msg (mach_msg_header_t *msg,
- struct clobber
- {
- mach_msg_type_t type;
-- error_t err;
-+ union {
-+ error_t err;
-+ uintptr_t align;
-+ };
- };
- union msg
- {
-
Taken from: <https://salsa.debian.org/glibc-team/glibc/-/blob/027f94215a633cbf53794d4b48675fde36706e35/debian/patches/hurd-i386/local-intr-msg-clobber.diff>
Force putting save_data on the stack rather than in SSE register
@@ -51,7 +14,7 @@ Index: glibc-2.38/hurd/intr-msg.c
===================================================================
--- glibc-2.38.orig/hurd/intr-msg.c
+++ glibc-2.38/hurd/intr-msg.c
-@@ -79,7 +79,7 @@ _hurd_intr_rpc_mach_msg (mach_msg_header
+@@ -66,7 +66,7 @@ _hurd_intr_rpc_mach_msg (mach_msg_header
mach_msg_bits_t msgh_bits;
mach_port_t remote_port;
mach_msg_id_t msgid;