mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-03-17 17:02:43 +00:00
guix: patch store paths out of libunwind
Apply libgcc patches to Linux as well as Windows cross.
This commit is contained in:
parent
078a72c35f
commit
1bdf4695b0
@ -99,10 +99,10 @@ chain for " target " development."))
|
||||
|
||||
(define* (make-bitcoin-cross-toolchain target
|
||||
#:key
|
||||
(base-gcc-for-libc linux-base-gcc)
|
||||
(base-gcc-for-libc (gcc-libgcc-patches linux-base-gcc))
|
||||
(base-kernel-headers base-linux-kernel-headers)
|
||||
(base-libc glibc-2.31)
|
||||
(base-gcc linux-base-gcc))
|
||||
(base-gcc (gcc-libgcc-patches linux-base-gcc)))
|
||||
"Convenience wrapper around MAKE-CROSS-TOOLCHAIN with default values
|
||||
desirable for building Bitcoin Core release binaries."
|
||||
(make-cross-toolchain target
|
||||
@ -111,7 +111,7 @@ desirable for building Bitcoin Core release binaries."
|
||||
base-libc
|
||||
base-gcc))
|
||||
|
||||
(define (gcc-mingw-patches gcc)
|
||||
(define (gcc-libgcc-patches gcc)
|
||||
(package-with-extra-patches gcc
|
||||
(search-our-patches "gcc-remap-guix-store.patch")))
|
||||
|
||||
@ -128,10 +128,10 @@ desirable for building Bitcoin Core release binaries."
|
||||
(let* ((xbinutils (binutils-mingw-patches (cross-binutils target)))
|
||||
(machine (substring target 0 (string-index target #\-)))
|
||||
(pthreads-xlibc (winpthreads-patches (make-mingw-w64 machine
|
||||
#:xgcc (cross-gcc target #:xgcc (gcc-mingw-patches base-gcc))
|
||||
#:xgcc (cross-gcc target #:xgcc (gcc-libgcc-patches base-gcc))
|
||||
#:with-winpthreads? #t)))
|
||||
(pthreads-xgcc (cross-gcc target
|
||||
#:xgcc (gcc-mingw-patches mingw-w64-base-gcc)
|
||||
#:xgcc (gcc-libgcc-patches mingw-w64-base-gcc)
|
||||
#:xbinutils xbinutils
|
||||
#:libc pthreads-xlibc)))
|
||||
;; Define a meta-package that propagates the resulting XBINUTILS, XLIBC, and
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
Without ffile-prefix-map, the debug symbols will contain paths for the
|
||||
Without -ffile-prefix-map, the debug symbols will contain paths for the
|
||||
guix store which will include the hashes of each package. However, the
|
||||
hash for the same package will differ when on different architectures.
|
||||
In order to be reproducible regardless of the architecture used to build
|
||||
@ -6,7 +6,7 @@ the package, map all guix store prefixes to something fixed, e.g. /usr.
|
||||
|
||||
--- a/libgcc/Makefile.in
|
||||
+++ b/libgcc/Makefile.in
|
||||
@@ -854,7 +854,7 @@ endif
|
||||
@@ -857,7 +857,7 @@ endif
|
||||
# libgcc_eh.a, only LIB2ADDEH matters. If we do, only LIB2ADDEHSTATIC and
|
||||
# LIB2ADDEHSHARED matter. (Usually all three are identical.)
|
||||
|
||||
@ -15,6 +15,15 @@ the package, map all guix store prefixes to something fixed, e.g. /usr.
|
||||
|
||||
ifeq ($(enable_shared),yes)
|
||||
|
||||
@@ -880,7 +880,7 @@ endif
|
||||
# Build LIBUNWIND. Use -fno-exceptions so that the unwind library does
|
||||
# not generate calls to __gcc_personality_v0.
|
||||
|
||||
-c_flags := -fno-exceptions
|
||||
+c_flags := -fno-exceptions $(shell find /gnu/store -maxdepth 1 -mindepth 1 -type d -exec echo -n " -ffile-prefix-map={}=/usr" \;)
|
||||
|
||||
libunwind-objects += $(addsuffix $(objext),$(basename $(notdir $(LIBUNWIND))))
|
||||
|
||||
--
|
||||
2.37.0
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user