diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/base.scm | 3 | ||||
-rw-r--r-- | gnu/packages/patches/glibc-hurd-getauxval.patch | 34 |
3 files changed, 37 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index 4c3de24d73..8862fbfbb9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1287,6 +1287,7 @@ dist_patch_DATA = \ %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-hurd-clock_t_centiseconds.patch \ + %D%/packages/patches/glibc-hurd-getauxval.patch \ %D%/packages/patches/glibc-hurd-gettyent.patch \ %D%/packages/patches/glibc-hurd-mach-print.patch \ %D%/packages/patches/glibc-hurd-signal-sa-siginfo.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5a3d5aced5..786b080ae4 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1463,7 +1463,8 @@ command.") "glibc-2.37-hurd-clock_t_centiseconds.patch" "glibc-2.37-hurd-local-clock_gettime_MONOTONIC.patch" "glibc-hurd-mach-print.patch" - "glibc-hurd-gettyent.patch")))) + "glibc-hurd-gettyent.patch" + "glibc-hurd-getauxval.patch")))) (supported-systems %hurd-systems))) (define-public glibc/hurd-headers diff --git a/gnu/packages/patches/glibc-hurd-getauxval.patch b/gnu/packages/patches/glibc-hurd-getauxval.patch new file mode 100644 index 0000000000..815371b2d0 --- /dev/null +++ b/gnu/packages/patches/glibc-hurd-getauxval.patch @@ -0,0 +1,34 @@ +Taken from https://salsa.debian.org/glibc-team/glibc/-/blob/5af8e3701c63ad202b652b5051bec592b8385820/debian/patches/hurd-i386/unsubmitted-getaux_at_secure.diff + +This fixes gdk-pixbuf, gobject-introspection. + +FIXME: sysdeps/mach/hurd/i386/init-first.c should instead pass an auxv +to __libc_start_main + +Index: glibc-2.33/misc/getauxval.c +=================================================================== +--- glibc-2.33.orig/misc/getauxval.c ++++ glibc-2.33/misc/getauxval.c +@@ -19,6 +19,7 @@ + #include <errno.h> + #include <ldsodefs.h> + #include <stdbool.h> ++#include <unistd.h> + + bool + __getauxval2 (unsigned long int type, unsigned long int *result) +@@ -27,6 +28,14 @@ __getauxval2 (unsigned long int type, un + ElfW(auxv_t) *p; + #endif + ++#ifdef AT_SECURE ++ if (type == AT_SECURE) ++ { ++ *result = __libc_enable_secure; ++ return true; ++ } ++#endif ++ + if (type == AT_HWCAP) + { + *result = GLRO(dl_hwcap); |