mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 23:07:59 +01:00
guix: Remove guix store paths from glibc
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 the package, map all guix store prefixes to something fixed, e.g. /usr. We might be able to drop this in favour of using --with-nonshared-cflags when we being using newer versions of glibc.
This commit is contained in:
parent
1d4d711de2
commit
54faac9689
3 changed files with 54 additions and 2 deletions
|
@ -549,7 +549,8 @@ inspecting signatures in Mach-O binaries.")
|
|||
"glibc-versioned-locpath.patch"
|
||||
"glibc-2.24-elfm-loadaddr-dynamic-rewrite.patch"
|
||||
"glibc-2.24-no-build-time-cxx-header-run.patch"
|
||||
"glibc-2.24-fcommon.patch"))))))
|
||||
"glibc-2.24-fcommon.patch"
|
||||
"glibc-2.24-guix-prefix.patch"))))))
|
||||
|
||||
(define-public glibc-2.27/bitcoin-patched
|
||||
(package
|
||||
|
@ -566,7 +567,8 @@ inspecting signatures in Mach-O binaries.")
|
|||
"1b2n1gxv9f4fd5yy68qjbnarhf8mf4vmlxk10i3328c1w5pmp0ca"))
|
||||
(patches (search-our-patches "glibc-ldd-x86_64.patch"
|
||||
"glibc-2.27-riscv64-Use-__has_include-to-include-asm-syscalls.h.patch"
|
||||
"glibc-2.27-dont-redefine-nss-database.patch"))))))
|
||||
"glibc-2.27-dont-redefine-nss-database.patch"
|
||||
"glibc-2.27-guix-prefix.patch"))))))
|
||||
|
||||
(packages->manifest
|
||||
(append
|
||||
|
|
25
contrib/guix/patches/glibc-2.24-guix-prefix.patch
Normal file
25
contrib/guix/patches/glibc-2.24-guix-prefix.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
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
|
||||
the package, map all guix store prefixes to something fixed, e.g. /usr.
|
||||
|
||||
We might be able to drop this in favour of using --with-nonshared-cflags
|
||||
when we being using newer versions of glibc.
|
||||
|
||||
--- a/Makeconfig
|
||||
+++ b/Makeconfig
|
||||
@@ -950,6 +950,10 @@ object-suffixes-for-libc += .oS
|
||||
# shared objects. We don't want to use CFLAGS-os because users may, for
|
||||
# example, make that processor-specific.
|
||||
CFLAGS-.oS = $(CFLAGS-.o) $(PIC-ccflag)
|
||||
+
|
||||
+# Map Guix store paths to /usr
|
||||
+CFLAGS-.oS += `find /gnu/store -maxdepth 1 -mindepth 1 -type d -exec echo -n " -fdebug-prefix-map={}=/usr" \;`
|
||||
+
|
||||
CPPFLAGS-.oS = $(CPPFLAGS-.o) -DPIC -DLIBC_NONSHARED=1
|
||||
libtype.oS = lib%_nonshared.a
|
||||
endif
|
||||
--
|
||||
2.35.1
|
||||
|
25
contrib/guix/patches/glibc-2.27-guix-prefix.patch
Normal file
25
contrib/guix/patches/glibc-2.27-guix-prefix.patch
Normal file
|
@ -0,0 +1,25 @@
|
|||
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
|
||||
the package, map all guix store prefixes to something fixed, e.g. /usr.
|
||||
|
||||
We might be able to drop this in favour of using --with-nonshared-cflags
|
||||
when we being using newer versions of glibc.
|
||||
|
||||
--- a/Makeconfig
|
||||
+++ b/Makeconfig
|
||||
@@ -992,6 +992,10 @@ object-suffixes :=
|
||||
CPPFLAGS-.o = $(pic-default)
|
||||
# libc.a must be compiled with -fPIE/-fpie for static PIE.
|
||||
CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) $(pie-default)
|
||||
+
|
||||
+# Map Guix store paths to /usr
|
||||
+CFLAGS-.o += `find /gnu/store -maxdepth 1 -mindepth 1 -type d -exec echo -n " -fdebug-prefix-map={}=/usr" \;`
|
||||
+
|
||||
libtype.o := lib%.a
|
||||
object-suffixes += .o
|
||||
ifeq (yes,$(build-shared))
|
||||
--
|
||||
2.35.1
|
||||
|
Loading…
Add table
Reference in a new issue