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 (2)
glibc (2.41-6) UNRELEASED; urgency=medium
* debian/rules.d/build.mk: Fix missing library-path to get just-built
libmachuser and libhurduser.
* debian/patches/hurd-i386/git-rt-timedwait-realtime.diff: Fix aio_suspend
delay.
-- Samuel Thibault <sthibault@debian.org> Sun, 09 Mar 2025 21:21:33 +0000
glibc (2.41-5) unstable; urgency=medium
 
[ Pedro Ribeiro ]
......
commit 5293b5ec02706bad449ea5eccd0058257a369638
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Sun Mar 9 22:25:14 2025 +0100
aio_suspend64: Fix clock discrepancy [BZ #32795]
cc5d5852c65e ("y2038: Convert aio_suspend to support 64 bit time")
switched from __clock_gettime (CLOCK_REALTIME, &now); to __clock_gettime64
(CLOCK_MONOTONIC, &ts);, but pthread_cond_timedwait is based on the
absolute realtime clock, so migrate to using pthread_cond_clockwait to
select CLOCK_MONOTONIC. Also fix AIO_MISC_WAIT into passing
CLOCK_MONOTONIC to __futex_abstimed_wait64.
diff --git a/rt/aio_suspend.c b/rt/aio_suspend.c
index 2257cd80d4..75d9d515d0 100644
--- a/rt/aio_suspend.c
+++ b/rt/aio_suspend.c
@@ -195,7 +195,8 @@ ___aio_suspend_time64 (const struct aiocb *const list[], int nent,
result = do_aio_misc_wait (&cntr, timeout == NULL ? NULL : &ts);
#else
struct timespec ts32 = valid_timespec64_to_timespec (ts);
- result = pthread_cond_timedwait (&cond, &__aio_requests_mutex,
+ result = pthread_cond_clockwait (&cond, &__aio_requests_mutex,
+ CLOCK_MONOTONIC,
timeout == NULL ? NULL : &ts32);
#endif
diff --git a/sysdeps/nptl/aio_misc.h b/sysdeps/nptl/aio_misc.h
index ddc5acc379..87fd759f13 100644
--- a/sysdeps/nptl/aio_misc.h
+++ b/sysdeps/nptl/aio_misc.h
@@ -50,7 +50,7 @@
FUTEX_PRIVATE); \
else \
status = __futex_abstimed_wait64 ((unsigned int *) futexaddr, \
- oldval, CLOCK_REALTIME, timeout, FUTEX_PRIVATE); \
+ oldval, CLOCK_MONOTONIC, timeout, FUTEX_PRIVATE); \
if (status != EAGAIN) \
break; \
\
......@@ -30,6 +30,7 @@ hurd-i386/git-proc_reauth.diff
hurd-i386/git-mig-strncpy.diff
hurd-i386/local-pthread_once.diff
hurd-i386/git-pthread_sigmask_nothread.diff
hurd-i386/git-rt-timedwait-realtime.diff
hurd-i386/local-intr-msg-clobber.diff
hurd-i386/local-enable-ldconfig.diff
......
......@@ -211,7 +211,7 @@ build-arch-post-check: $(patsubst %,$(stamp)check_%,$(GLIBC_PASSES))
# build-dependency makes sure that the correct version is used, as
# the format might change between upstream versions.
ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
ICONVCONFIG = $(CURDIR)/$(DEB_BUILDDIRLIBC)/elf/ld.so --library-path $(CURDIR)/$(DEB_BUILDDIRLIBC) \
ICONVCONFIG = $(CURDIR)/$(DEB_BUILDDIRLIBC)/elf/ld.so --library-path $(CURDIR)/$(DEB_BUILDDIRLIBC):$(CURDIR)/$(DEB_BUILDDIRLIBC)/mach:$(CURDIR)/$(DEB_BUILDDIRLIBC)/hurd \
$(CURDIR)/$(DEB_BUILDDIRLIBC)/iconv/iconvconfig
else
ICONVCONFIG = /usr/sbin/iconvconfig
......@@ -351,7 +351,7 @@ ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
LOCALEDEF = I18NPATH=$(CURDIR)/localedata \
GCONV_PATH=$(CURDIR)/$(DEB_BUILDDIRLIBC)/iconvdata \
LC_ALL=C \
$(CURDIR)/$(DEB_BUILDDIRLIBC)/elf/ld.so --library-path $(CURDIR)/$(DEB_BUILDDIRLIBC) \
$(CURDIR)/$(DEB_BUILDDIRLIBC)/elf/ld.so --library-path $(CURDIR)/$(DEB_BUILDDIRLIBC):$(CURDIR)/$(DEB_BUILDDIRLIBC)/mach:$(CURDIR)/$(DEB_BUILDDIRLIBC)/hurd \
$(CURDIR)/$(DEB_BUILDDIRLIBC)/locale/localedef
else
LOCALEDEF = I18NPATH=$(CURDIR)/localedata \
......