guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

10/45: gnu: glibc: Update to 2.39.


From: guix-commits
Subject: 10/45: gnu: glibc: Update to 2.39.
Date: Sun, 18 Feb 2024 08:41:05 -0500 (EST)

jpoiret pushed a commit to branch core-updates-glibc-2.39
in repository guix.

commit faa85198e30b15890143ee8160c81530651e61cb
Author: Josselin Poiret <dev@jpoiret.xyz>
AuthorDate: Thu Feb 1 14:30:45 2024 +0100

    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
---
 gnu/local.mk                                       |  1 -
 gnu/packages/base.scm                              | 12 ++-
 .../patches/glibc-2.38-hurd-ucontext.patch         | 87 ----------------------
 3 files changed, 5 insertions(+), 95 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index a4bf4349a2..e359aadd8d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1348,7 +1348,6 @@ dist_patch_DATA =                                         
\
   %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-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-hurd-clock_t_centiseconds.patch   \
   %D%/packages/patches/glibc-hurd-getauxval.patch              \
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index deda116964..0a222375d0 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -780,13 +780,13 @@ the store.")
   ;; version 2.28, GNU/Hurd used a different glibc branch.
   (package
    (name "glibc")
-   (version "2.38")
+   (version "2.39")
    (source (origin
             (method url-fetch)
             (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
             (sha256
              (base32
-              "1lizxxqbfma5zgmcj0gk5iyk171f2nfvdhbv8rjrkcmjk24rk0pv"))
+              "09nrwb0ksbah9k35jchd28xxp2hidilqdgz7b8v5f30pz1yd8yzp"))
             (patches (search-patches "glibc-ldd-powerpc.patch"
                                      "glibc-2.38-ldd-x86_64.patch"
                                      "glibc-dl-cache.patch"
@@ -796,7 +796,6 @@ the store.")
                                      "glibc-supported-locales.patch"
                                      
"glibc-2.37-hurd-clock_t_centiseconds.patch"
                                      
"glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch"
-                                     "glibc-2.38-hurd-ucontext.patch"
                                      "glibc-hurd-mach-print.patch"
                                      "glibc-hurd-gettyent.patch"
                                      "glibc-hurd-getauxval.patch"))))
@@ -861,10 +860,6 @@ the store.")
                                       "kernel-headers")
                            "/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,
             ;; but we specify it explicitly for clarity and consistency.  See
             ;; "kernel-features.h" in the GNU libc for details.
@@ -1119,6 +1114,9 @@ with the Linux kernel.")
                                        "glibc-hurd-gettyent.patch"))))
     (arguments
      (substitute-keyword-arguments (package-arguments glibc)
+       ((#:configure-flags flags #~'())
+        #~(cons* "--enable-crypt"
+                 #$flags))
        ((#:phases phases)
         ;; The C.UTF-8 fails to build in glibc 2.35:
         ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=28861>.
diff --git a/gnu/packages/patches/glibc-2.38-hurd-ucontext.patch 
b/gnu/packages/patches/glibc-2.38-hurd-ucontext.patch
deleted file mode 100644
index 03a6132666..0000000000
--- a/gnu/packages/patches/glibc-2.38-hurd-ucontext.patch
+++ /dev/null
@@ -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]