Skip to content

Commit b184989

Browse files
MarcoFalkePastaPastaPasta
MarcoFalke
authored andcommitted
Merge bitcoin#17569: build: Allow export of environ symbols and work around rv64 toolchain issue
eafd259 build: Add NX workaround for RV64 (Wladimir J. van der Laan) f6e4225 build: Allow export of environ symbols (Wladimir J. van der Laan) Pull request description: This export was introduced in bitcoin#17270 which added ``` //! Necessary on some platforms extern char** environ; ``` This should (finally) make the gitian build pass again (fix issue bitcoin#17525.). Built on top of bitcoin#17538 which should be merged first. Top commit has no ACKs. Tree-SHA512: 5c2054d52d0957aec3dc945b76d8e219187d22dc03889e7a88fb76049bf8e4a3e9f4da00dd1e9dd0351211f8e70d1a1b8ad7244f0348dab698e9d14b9d0c0bd4
1 parent dfea329 commit b184989

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

contrib/devtools/symbol-check.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@
4747

4848
# Ignore symbols that are exported as part of every executable
4949
IGNORE_EXPORTS = {
50-
'_edata', '_end', '__end__', '_init', '__bss_start', '__bss_start__', '_bss_end__', '__bss_end__', '_fini', '_IO_stdin_used', 'stdin', 'stdout', 'stderr'
50+
'_edata', '_end', '__end__', '_init', '__bss_start', '__bss_start__', '_bss_end__', '__bss_end__', '_fini', '_IO_stdin_used', 'stdin', 'stdout', 'stderr',
51+
'environ', '_environ', '__environ',
5152
}
5253
READELF_CMD = os.getenv('READELF', '/usr/bin/readelf')
5354
CPPFILT_CMD = os.getenv('CPPFILT', '/usr/bin/c++filt')

contrib/gitian-descriptors/gitian-linux.yml

+8-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ script: |
4343
FAKETIME_PROGS="date ar ranlib nm"
4444
HOST_CFLAGS="-O2 -g"
4545
HOST_CXXFLAGS="-O2 -g"
46-
HOST_LDFLAGS=-static-libstdc++
46+
HOST_LDFLAGS_BASE="-static-libstdc++"
4747
4848
export QT_RCC_TEST=1
4949
export QT_RCC_SOURCE_DATE_OVERRIDE=1
@@ -182,6 +182,13 @@ script: |
182182
# Extract the release tarball into a dir for each host and build
183183
for i in ${HOSTS}; do
184184
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
185+
if [ "${i}" = "riscv64-linux-gnu" ]; then
186+
# Workaround for https://bugs.launchpad.net/ubuntu/+source/gcc-8-cross-ports/+bug/1853740
187+
# TODO: remove this when no longer needed
188+
HOST_LDFLAGS="${HOST_LDFLAGS_BASE} -Wl,-z,noexecstack"
189+
else
190+
HOST_LDFLAGS="${HOST_LDFLAGS_BASE}"
191+
fi
185192
mkdir -p distsrc-${i}
186193
cd distsrc-${i}
187194
INSTALLPATH="${PWD}/installed/${DISTNAME}"

0 commit comments

Comments
 (0)