mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-12 22:26:40 -05:00
gnu: glibc: Update to 2.39.
* gnu/packages/base.scm (glibc): Update it. Remove --enable-crypt as it is no longer included in 2.39. Remove upstreamed patch for hurd. * gnu/packages/patches/glibc-2.38-hurd-ucontext.patch: Remove patch. * gnu/local.mk (dist_patch_DATA): Unregister it. Change-Id: Idf9ae3ff6cbbe45f1c9bfbc2c78a331f118e0129
This commit is contained in:
parent
c033fb8146
commit
70b2015ec5
3 changed files with 5 additions and 95 deletions
|
@ -1402,7 +1402,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch \
|
%D%/packages/patches/glibc-2.37-hurd-clock_t_centiseconds.patch \
|
||||||
%D%/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch \
|
%D%/packages/patches/glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch \
|
||||||
%D%/packages/patches/glibc-2.37-versioned-locpath.patch \
|
%D%/packages/patches/glibc-2.37-versioned-locpath.patch \
|
||||||
%D%/packages/patches/glibc-2.38-hurd-ucontext.patch \
|
|
||||||
%D%/packages/patches/glibc-2.38-ldd-x86_64.patch \
|
%D%/packages/patches/glibc-2.38-ldd-x86_64.patch \
|
||||||
%D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \
|
%D%/packages/patches/glibc-hurd-clock_t_centiseconds.patch \
|
||||||
%D%/packages/patches/glibc-hurd-getauxval.patch \
|
%D%/packages/patches/glibc-hurd-getauxval.patch \
|
||||||
|
|
|
@ -834,13 +834,13 @@ (define-public glibc
|
||||||
;; version 2.28, GNU/Hurd used a different glibc branch.
|
;; version 2.28, GNU/Hurd used a different glibc branch.
|
||||||
(package
|
(package
|
||||||
(name "glibc")
|
(name "glibc")
|
||||||
(version "2.38")
|
(version "2.39")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
|
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1lizxxqbfma5zgmcj0gk5iyk171f2nfvdhbv8rjrkcmjk24rk0pv"))
|
"09nrwb0ksbah9k35jchd28xxp2hidilqdgz7b8v5f30pz1yd8yzp"))
|
||||||
(patches (search-patches "glibc-ldd-powerpc.patch"
|
(patches (search-patches "glibc-ldd-powerpc.patch"
|
||||||
"glibc-2.38-ldd-x86_64.patch"
|
"glibc-2.38-ldd-x86_64.patch"
|
||||||
"glibc-dl-cache.patch"
|
"glibc-dl-cache.patch"
|
||||||
|
@ -850,7 +850,6 @@ (define-public glibc
|
||||||
"glibc-supported-locales.patch"
|
"glibc-supported-locales.patch"
|
||||||
"glibc-2.37-hurd-clock_t_centiseconds.patch"
|
"glibc-2.37-hurd-clock_t_centiseconds.patch"
|
||||||
"glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch"
|
"glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch"
|
||||||
"glibc-2.38-hurd-ucontext.patch"
|
|
||||||
"glibc-hurd-mach-print.patch"
|
"glibc-hurd-mach-print.patch"
|
||||||
"glibc-hurd-gettyent.patch"
|
"glibc-hurd-gettyent.patch"
|
||||||
"glibc-hurd-getauxval.patch"))))
|
"glibc-hurd-getauxval.patch"))))
|
||||||
|
@ -915,10 +914,6 @@ (define-public glibc
|
||||||
"kernel-headers")
|
"kernel-headers")
|
||||||
"/include")
|
"/include")
|
||||||
|
|
||||||
;; Libcrypt and <crypt.h> are deprecated in glibc 2.38 and not
|
|
||||||
;; built by default. Build it to reduce application breakage.
|
|
||||||
"--enable-crypt"
|
|
||||||
|
|
||||||
;; This is the default for most architectures as of GNU libc 2.26,
|
;; This is the default for most architectures as of GNU libc 2.26,
|
||||||
;; but we specify it explicitly for clarity and consistency. See
|
;; but we specify it explicitly for clarity and consistency. See
|
||||||
;; "kernel-features.h" in the GNU libc for details.
|
;; "kernel-features.h" in the GNU libc for details.
|
||||||
|
@ -1181,6 +1176,9 @@ (define-public glibc-2.35
|
||||||
"glibc-hurd-gettyent.patch"))))
|
"glibc-hurd-gettyent.patch"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments glibc)
|
(substitute-keyword-arguments (package-arguments glibc)
|
||||||
|
((#:configure-flags flags #~'())
|
||||||
|
#~(cons* "--enable-crypt"
|
||||||
|
#$flags))
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
;; The C.UTF-8 fails to build in glibc 2.35:
|
;; The C.UTF-8 fails to build in glibc 2.35:
|
||||||
;; <https://sourceware.org/bugzilla/show_bug.cgi?id=28861>.
|
;; <https://sourceware.org/bugzilla/show_bug.cgi?id=28861>.
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
commit 29d4591b07a4da53320e949557c6946c62c26bde
|
|
||||||
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
|
|
||||||
Date: Thu Sep 28 00:07:18 2023 +0200
|
|
||||||
|
|
||||||
hurd: Drop REG_GSFS and REG_ESDS from x86_64's ucontext
|
|
||||||
|
|
||||||
These are useless on x86_64, and __NGREG was actually wrong with them.
|
|
||||||
|
|
||||||
diff --git a/sysdeps/mach/hurd/x86/trampoline.c b/sysdeps/mach/hurd/x86/trampoline.c
|
|
||||||
index 6318c9528a..bc3f15e1e0 100644
|
|
||||||
--- a/sysdeps/mach/hurd/x86/trampoline.c
|
|
||||||
+++ b/sysdeps/mach/hurd/x86/trampoline.c
|
|
||||||
@@ -79,8 +79,8 @@ static void fill_ucontext (ucontext_t *uc, const struct sigcontext *sc)
|
|
||||||
|
|
||||||
/* Registers. */
|
|
||||||
#ifdef __x86_64__
|
|
||||||
- memcpy (&uc->uc_mcontext.gregs[REG_GSFS], &sc->sc_gs,
|
|
||||||
- (REG_ERR - REG_GSFS) * sizeof (long));
|
|
||||||
+ memcpy (&uc->uc_mcontext.gregs[REG_R8], &sc->sc_r8,
|
|
||||||
+ (REG_ERR - REG_R8) * sizeof (long));
|
|
||||||
#else
|
|
||||||
memcpy (&uc->uc_mcontext.gregs[REG_GS], &sc->sc_gs,
|
|
||||||
(REG_TRAPNO - REG_GS) * sizeof (int));
|
|
||||||
diff --git a/sysdeps/mach/hurd/x86_64/bits/sigcontext.h b/sysdeps/mach/hurd/x86_64/bits/sigcontext.h
|
|
||||||
index 6396054463..7facc587b8 100644
|
|
||||||
--- a/sysdeps/mach/hurd/x86_64/bits/sigcontext.h
|
|
||||||
+++ b/sysdeps/mach/hurd/x86_64/bits/sigcontext.h
|
|
||||||
@@ -59,13 +59,7 @@ struct sigcontext
|
|
||||||
}
|
|
||||||
trampoline.c knows this, so it must be changed if this changes. */
|
|
||||||
|
|
||||||
-#define sc_i386_thread_state sc_gs /* Beginning of correspondence. */
|
|
||||||
- /* Segment registers. */
|
|
||||||
- int sc_gs;
|
|
||||||
- int sc_fs;
|
|
||||||
- int sc_es;
|
|
||||||
- int sc_ds;
|
|
||||||
-
|
|
||||||
+#define sc_i386_thread_state sc_r8 /* Beginning of correspondence. */
|
|
||||||
long sc_r8;
|
|
||||||
long sc_r9;
|
|
||||||
long sc_r10;
|
|
||||||
diff --git a/sysdeps/mach/x86/thread_state.h b/sysdeps/mach/x86/thread_state.h
|
|
||||||
index 8c419515f9..e237e46cb2 100644
|
|
||||||
--- a/sysdeps/mach/x86/thread_state.h
|
|
||||||
+++ b/sysdeps/mach/x86/thread_state.h
|
|
||||||
@@ -34,12 +34,13 @@
|
|
||||||
#define PC rip
|
|
||||||
#define SP ursp
|
|
||||||
#define SYSRETURN rax
|
|
||||||
+#define MACHINE_THREAD_STATE_FIX_NEW(ts) do { \
|
|
||||||
+ asm ("mov %%cs, %w0" : "=q" ((ts)->cs)); \
|
|
||||||
+} while(0)
|
|
||||||
#else
|
|
||||||
#define PC eip
|
|
||||||
#define SP uesp
|
|
||||||
#define SYSRETURN eax
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
#define MACHINE_THREAD_STATE_FIX_NEW(ts) do { \
|
|
||||||
asm ("mov %%cs, %w0" : "=q" ((ts)->cs)); \
|
|
||||||
asm ("mov %%ds, %w0" : "=q" ((ts)->ds)); \
|
|
||||||
@@ -47,6 +48,7 @@
|
|
||||||
asm ("mov %%fs, %w0" : "=q" ((ts)->fs)); \
|
|
||||||
asm ("mov %%gs, %w0" : "=q" ((ts)->gs)); \
|
|
||||||
} while(0)
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
struct machine_thread_all_state
|
|
||||||
{
|
|
||||||
diff --git a/sysdeps/x86_64/sys/ucontext.h b/sysdeps/x86_64/sys/ucontext.h
|
|
||||||
index d73a893795..f1b6be77a7 100644
|
|
||||||
--- a/sysdeps/x86_64/sys/ucontext.h
|
|
||||||
+++ b/sysdeps/x86_64/sys/ucontext.h
|
|
||||||
@@ -47,11 +47,7 @@ typedef greg_t gregset_t[__NGREG];
|
|
||||||
/* Number of each register in the `gregset_t' array. */
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
- REG_GSFS = 0, /* Actually int gs, fs. */
|
|
||||||
-# define REG_GSFS REG_GSFS
|
|
||||||
- REG_ESDS, /* Actually int es, ds. */
|
|
||||||
-# define REG_ESDS REG_ESDS
|
|
||||||
- REG_R8,
|
|
||||||
+ REG_R8 = 0,
|
|
||||||
# define REG_R8 REG_R8
|
|
||||||
REG_R9,
|
|
||||||
# define REG_R9 REG_R9
|
|
Loading…
Reference in a new issue