Skip to content

Commit e6f167b

Browse files
author
MarcoFalke
committed
Merge #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 #17270 which added ``` //! Necessary on some platforms extern char** environ; ``` This should (finally) make the gitian build pass again (fix issue #17525.). Built on top of #17538 which should be merged first. Top commit has no ACKs. Tree-SHA512: 5c2054d52d0957aec3dc945b76d8e219187d22dc03889e7a88fb76049bf8e4a3e9f4da00dd1e9dd0351211f8e70d1a1b8ad7244f0348dab698e9d14b9d0c0bd4
2 parents 7463181 + eafd259 commit e6f167b

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

contrib/devtools/symbol-check.py

Lines changed: 2 additions & 1 deletion
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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ script: |
4646
FAKETIME_PROGS="date ar ranlib nm"
4747
HOST_CFLAGS="-O2 -g"
4848
HOST_CXXFLAGS="-O2 -g"
49-
HOST_LDFLAGS=-static-libstdc++
49+
HOST_LDFLAGS_BASE="-static-libstdc++"
5050
5151
export QT_RCC_TEST=1
5252
export QT_RCC_SOURCE_DATE_OVERRIDE=1
@@ -160,6 +160,13 @@ script: |
160160
# Extract the release tarball into a dir for each host and build
161161
for i in ${HOSTS}; do
162162
export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH}
163+
if [ "${i}" = "riscv64-linux-gnu" ]; then
164+
# Workaround for https://bugs.launchpad.net/ubuntu/+source/gcc-8-cross-ports/+bug/1853740
165+
# TODO: remove this when no longer needed
166+
HOST_LDFLAGS="${HOST_LDFLAGS_BASE} -Wl,-z,noexecstack"
167+
else
168+
HOST_LDFLAGS="${HOST_LDFLAGS_BASE}"
169+
fi
163170
mkdir -p distsrc-${i}
164171
cd distsrc-${i}
165172
INSTALLPATH=`pwd`/installed/${DISTNAME}

0 commit comments

Comments
 (0)