From a0d4a6d19af9c7b78ad53e25ceff4b416e514cab Mon Sep 17 00:00:00 2001 From: tobtoht Date: Mon, 2 Sep 2024 00:49:32 +0200 Subject: [PATCH] guix: bump time-machine to 9d09b0cf841fb657a1aec12e9bab68e00c2b493c --- contrib/guix/libexec/prelude.bash | 2 +- contrib/guix/manifest.scm | 5 ++- ...incorrect-jal-with-HIDDEN_JUMPTARGET.patch | 41 +++++++++++++++++++ 3 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 contrib/guix/patches/glibc-2.27-riscv64-fix-incorrect-jal-with-HIDDEN_JUMPTARGET.patch diff --git a/contrib/guix/libexec/prelude.bash b/contrib/guix/libexec/prelude.bash index 9b43058142a..b9c11f202f9 100644 --- a/contrib/guix/libexec/prelude.bash +++ b/contrib/guix/libexec/prelude.bash @@ -71,7 +71,7 @@ fi time-machine() { # shellcheck disable=SC2086 guix time-machine --url=https://github.com/monero-project/guix.git \ - --commit=53396a22afc04536ddf75d8f82ad2eafa5082725 \ + --commit=9d09b0cf841fb657a1aec12e9bab68e00c2b493c \ --cores="$JOBS" \ --keep-failed \ --fallback \ diff --git a/contrib/guix/manifest.scm b/contrib/guix/manifest.scm index a76a7c9cded..e8832876029 100644 --- a/contrib/guix/manifest.scm +++ b/contrib/guix/manifest.scm @@ -194,7 +194,8 @@ chain for " target " development.")) "0azpb9cvnbv25zg8019rqz48h8i2257ngyjg566dlnp74ivrs9vq")) (patches (search-our-patches "glibc-2.27-riscv64-Use-__has_include-to-include-asm-syscalls.h.patch" "glibc-2.27-guix-prefix.patch" - "glibc-2.27-no-librt.patch")))) + "glibc-2.27-no-librt.patch" + "glibc-2.27-riscv64-fix-incorrect-jal-with-HIDDEN_JUMPTARGET.patch")))) (arguments (substitute-keyword-arguments (package-arguments glibc) ((#:configure-flags flags) @@ -300,7 +301,7 @@ chain for " target " development.")) (list gcc-toolchain-12 (list gcc-toolchain-12 "static") - clang-toolchain-11 binutils)) + clang-toolchain-17 binutils)) ((string-contains target "android") (list gcc-toolchain-12 diff --git a/contrib/guix/patches/glibc-2.27-riscv64-fix-incorrect-jal-with-HIDDEN_JUMPTARGET.patch b/contrib/guix/patches/glibc-2.27-riscv64-fix-incorrect-jal-with-HIDDEN_JUMPTARGET.patch new file mode 100644 index 00000000000..a8dde070e78 --- /dev/null +++ b/contrib/guix/patches/glibc-2.27-riscv64-fix-incorrect-jal-with-HIDDEN_JUMPTARGET.patch @@ -0,0 +1,41 @@ +Backported from: https://sourceware.org/git/?p=glibc.git;a=commit;h=68389203832ab39dd0dbaabbc4059e7fff51c29b +Context: https://sourceware.org/bugzilla/show_bug.cgi?id=28509 + +Resolves a build failure with glibc 2.27 + binutils >=2.40. +Patch can be removed if we update glibc to >= 2.35. + +diff --git a/sysdeps/riscv/setjmp.S b/sysdeps/riscv/setjmp.S +index cfbd276fc3..e2f8088a6e 100644 +--- a/sysdeps/riscv/setjmp.S ++++ b/sysdeps/riscv/setjmp.S +@@ -21,7 +21,7 @@ + + ENTRY (_setjmp) + li a1, 0 +- j __sigsetjmp ++ j HIDDEN_JUMPTARGET (__sigsetjmp) + END (_setjmp) + ENTRY (setjmp) + li a1, 1 +diff --git a/sysdeps/unix/sysv/linux/riscv/setcontext.S b/sysdeps/unix/sysv/linux/riscv/setcontext.S +index 9f1c7b41fd..a0d9575a08 100644 +--- a/sysdeps/unix/sysv/linux/riscv/setcontext.S ++++ b/sysdeps/unix/sysv/linux/riscv/setcontext.S +@@ -95,6 +95,7 @@ LEAF (__setcontext) + 99: j __syscall_error + + PSEUDO_END (__setcontext) ++libc_hidden_def (__setcontext) + weak_alias (__setcontext, setcontext) + + LEAF (__start_context) +@@ -108,7 +109,7 @@ LEAF (__start_context) + /* Invoke subsequent context if present, else exit(0). */ + mv a0, s2 + beqz s2, 1f +- jal __setcontext +-1: j exit ++ jal HIDDEN_JUMPTARGET (__setcontext) ++1: j HIDDEN_JUMPTARGET (exit) + + PSEUDO_END (__start_context)