Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Maytha8/glibc
  • vimerbf-guest/glibc
  • schopin/glibc
  • yumeyao/glibc
  • carlespina/po-debconf-manager-glibc
  • Claudia/glibc-widevine
  • andrewsh/glibc
  • jscott/glibc
  • bluca/glibc
  • gioele/glibc
  • rouca/glibc
  • sven/glibc
  • josch/glibc
  • cjwatson/glibc
  • fw/glibc
  • rbalint/glibc
  • bsd-team/glibc-packaging
  • glibc-team/glibc
  • bigon/glibc
  • ahrex-guest/glibc
  • friki/glibc
21 results
Show changes
Commits on Source (4)
......@@ -31,6 +31,15 @@ glibc (2.39-3.1) experimental; urgency=medium
 
-- Helmut Grohne <helmut@subdivi.de> Thu, 06 Jun 2024 09:18:03 +0200
 
glibc (2.38-15) UNRELEASED; urgency=medium
* debian/debhelper.in/libc-udeb.install.hurd-amd64: Fix missing libhurduser.
* debian/debhelper.in/libc-udeb.install.hurd-i386: Fix missing libhurduser.
* debian/patches/hurd-i386/git-intr-msg-clobber.diff: Fix restoring message to be retried.
* debian/patches/hurd-i386/local-intr-msg-clobber.diff: Fix message-retry overwrite.
-- Samuel Thibault <sthibault@debian.org> Sun, 07 Jul 2024 18:52:16 +0200
glibc (2.38-14) unstable; urgency=medium
 
[ Aurelien Jarno ]
......
......@@ -10,3 +10,4 @@ SLIBDIR/libpthread.so.* /usrSLIBDIR
SLIBDIR/libnss_dns.so.* /usrSLIBDIR
SLIBDIR/libnss_files.so.* /usrSLIBDIR
SLIBDIR/libmachuser.so.* /usrSLIBDIR
SLIBDIR/libhurduser.so.* /usrSLIBDIR
......@@ -11,3 +11,4 @@ SLIBDIR/libpthread.so.* /usrSLIBDIR
SLIBDIR/libnss_dns.so.* /usrSLIBDIR
SLIBDIR/libnss_files.so.* /usrSLIBDIR
SLIBDIR/libmachuser.so.* /usrSLIBDIR
SLIBDIR/libhurduser.so.* /usrSLIBDIR
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
{
Force putting save_data on the stack rather than in SSE register
The signal management does not yet properly save SSE state, so that save_data
would get overwritten by signal handlers, notably leading to `` shell
replacement getting empty content because then the io_read RPC retry gets an
MIG_BAD_ARGUMENTS error.
XXX: This is only temporary to fix the common shll replacement issue, and is
waiting for proper SSE state restoration.
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
mach_msg_bits_t msgh_bits;
mach_port_t remote_port;
mach_msg_id_t msgid;
- struct clobber save_data;
+ volatile struct clobber save_data;
if ((option & (MACH_SEND_MSG|MACH_RCV_MSG)) != (MACH_SEND_MSG|MACH_RCV_MSG)
|| _hurd_msgport_thread == MACH_PORT_NULL)
......@@ -30,7 +30,9 @@ hurd-i386/git-context.diff
hurd-i386/git-xattr.diff
hurd-i386/git-proc_getchildren_rusage.diff
hurd-i386/git-AT_NO_AUTOMOUNT.diff
hurd-i386/git-intr-msg-clobber.diff
hurd-i386/local-intr-msg-clobber.diff
hurd-i386/local-enable-ldconfig.diff
hurd-i386/tg-sysvshm.diff
hurd-i386/tg-thread-cancel.diff
......