diff options
author | fanquake <fanquake@gmail.com> | 2021-07-05 22:43:21 +0800 |
---|---|---|
committer | fanquake <fanquake@gmail.com> | 2021-07-06 20:50:40 +0800 |
commit | de6ca41a52d2646598daae5f4620bbe766757e21 (patch) | |
tree | 8c07b3b0eec9c73273768e63470711fc0945c024 /contrib | |
parent | 84dd81fb5bf7308b8070b53520266854fb6efad3 (diff) | |
download | bitcoin-de6ca41a52d2646598daae5f4620bbe766757e21.tar.xz |
guix: no-longer pass --enable-glibc-back-compat to Guix
Now that our Guix builds are performed on glibc 2.24 and 2.27 (RISCV),
we no-longer need to pass the --enable-glibc-back-compat option.
Replace it with --disable-threadlocal, to prevent the usage of symbols
from glibc 2.18.
None of the binaries produced required symbols later than 2.17, and 2.27
(RISCV).
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/guix/libexec/build.sh | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/contrib/guix/libexec/build.sh b/contrib/guix/libexec/build.sh index e457840d15..02ef800963 100755 --- a/contrib/guix/libexec/build.sh +++ b/contrib/guix/libexec/build.sh @@ -240,7 +240,7 @@ mkdir -p "$OUTDIR" # CONFIGFLAGS CONFIGFLAGS="--enable-reduce-exports --disable-bench --disable-gui-tests --disable-fuzz-binary" case "$HOST" in - *linux*) CONFIGFLAGS+=" --enable-glibc-back-compat" ;; + *linux*) CONFIGFLAGS+=" --disable-threadlocal" ;; esac # CFLAGS @@ -260,6 +260,13 @@ case "$HOST" in *mingw*) HOST_LDFLAGS="-Wl,--no-insert-timestamp" ;; esac +# Using --no-tls-get-addr-optimize retains compatibility with glibc 2.17, by +# avoiding a PowerPC64 optimisation available in glibc 2.22 and later. +# https://sourceware.org/binutils/docs-2.35/ld/PowerPC64-ELF64.html +case "$HOST" in + *powerpc64*) HOST_LDFLAGS="${HOST_LDFLAGS} -Wl,--no-tls-get-addr-optimize" ;; +esac + case "$HOST" in powerpc64-linux-*|riscv64-linux-*) HOST_LDFLAGS="${HOST_LDFLAGS} -Wl,-z,noexecstack" ;; esac |