diff options
Diffstat (limited to 'gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch')
| -rw-r--r-- | gnu/packages/patches/glibc-hurd64-intr-msg-clobber.patch | 39 |
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; |
