Partial Merge #13665: [build] Add risc-v support to gitian

c4aecd1d80801f3e3dd4bde887b5d1a11e8452b7 Add risc-v 64-bit to gitian (Chun Kuan Lee)
96dda8b0589affb88a909aaf62e95bebc4c18ba2 [depends] Add riscv qt depends support for cross compiling bitcoin-qt (Chun Kuan Lee)

Pull request description:

  Based on ~#13660~ #13710 ,  add gitian tarball for RISC-V

Tree-SHA512: 8db73545a2ea7fe03fa156598479335ea3c79aa3fb9c5cc44b8563094b1deb7c94d29c1dab47fac129dbfa2e3e774301b526474beeeb59c9b0087d3ea087dbd6
This commit is contained in:
Wladimir J. van der Laan 2018-08-16 20:33:09 +02:00 committed by Munkybooty
parent 71b4cf307b
commit fe03a6f17e
2 changed files with 25 additions and 17 deletions

View File

@ -8,15 +8,19 @@ architectures:
packages: packages:
- "curl" - "curl"
- "g++-aarch64-linux-gnu" - "g++-aarch64-linux-gnu"
- "g++-7-aarch64-linux-gnu" - "g++-8-aarch64-linux-gnu"
- "gcc-7-aarch64-linux-gnu" - "gcc-8-aarch64-linux-gnu"
- "binutils-aarch64-linux-gnu" - "binutils-aarch64-linux-gnu"
- "g++-arm-linux-gnueabihf" - "g++-arm-linux-gnueabihf"
- "g++-7-arm-linux-gnueabihf" - "g++-8-arm-linux-gnueabihf"
- "gcc-7-arm-linux-gnueabihf" - "gcc-8-arm-linux-gnueabihf"
- "binutils-arm-linux-gnueabihf" - "binutils-arm-linux-gnueabihf"
- "g++-7-multilib" - "g++-riscv64-linux-gnu"
- "gcc-7-multilib" - "g++-8-riscv64-linux-gnu"
- "gcc-8-riscv64-linux-gnu"
- "binutils-riscv64-linux-gnu"
- "g++-8-multilib"
- "gcc-8-multilib"
- "binutils-gold" - "binutils-gold"
- "git" - "git"
- "pkg-config" - "pkg-config"
@ -37,9 +41,9 @@ script: |
set -e -o pipefail set -e -o pipefail
WRAP_DIR=$HOME/wrapped WRAP_DIR=$HOME/wrapped
HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu" HOSTS="i686-pc-linux-gnu x86_64-linux-gnu arm-linux-gnueabihf aarch64-linux-gnu riscv64-linux-gnu"
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests --enable-crash-hooks" CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests --enable-crash-hooks"
FAKETIME_HOST_PROGS="" FAKETIME_HOST_PROGS="gcc g++"
FAKETIME_PROGS="date ar ranlib nm" FAKETIME_PROGS="date ar ranlib nm"
HOST_CFLAGS="-O2 -g" HOST_CFLAGS="-O2 -g"
HOST_CXXFLAGS="-O2 -g" HOST_CXXFLAGS="-O2 -g"
@ -94,14 +98,16 @@ script: |
function create_per-host_faketime_wrappers { function create_per-host_faketime_wrappers {
for i in $HOSTS; do for i in $HOSTS; do
for prog in ${FAKETIME_HOST_PROGS}; do for prog in ${FAKETIME_HOST_PROGS}; do
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog} if which ${i}-${prog}-8
echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog} then
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog}
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} echo "# GCCVERSION=${GCCVERSION}" >> ${WRAP_DIR}/${i}-${prog}
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog} echo "REAL=\`which -a ${i}-${prog}-8 | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog}
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog} echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog}
chmod +x ${WRAP_DIR}/${i}-${prog} echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog}
touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog} chmod +x ${WRAP_DIR}/${i}-${prog}
touch -d "${REFERENCE_DATETIME}" ${WRAP_DIR}/${i}-${prog}
fi
done done
done done
} }
@ -128,7 +134,7 @@ script: |
cat << EOF > ${WRAP_DIR}/${prog} cat << EOF > ${WRAP_DIR}/${prog}
#!/usr/bin/env bash #!/usr/bin/env bash
# GCCVERSION=${GCCVERSION} # GCCVERSION=${GCCVERSION}
REAL="$(which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1)" REAL="$(which -a ${prog}-8 | grep -v ${WRAP_DIR}/${prog} | head -1)"
for var in "\$@" for var in "\$@"
do do
if [ "\$var" = "-m32" ]; then if [ "\$var" = "-m32" ]; then

View File

@ -67,6 +67,8 @@ __asm(".symver log2f_old,log2f@GLIBC_2.2.5");
__asm(".symver log2f_old,log2f@GLIBC_2.4"); __asm(".symver log2f_old,log2f@GLIBC_2.4");
#elif defined(__aarch64__) #elif defined(__aarch64__)
__asm(".symver log2f_old,log2f@GLIBC_2.17"); __asm(".symver log2f_old,log2f@GLIBC_2.17");
#elif defined(__riscv)
__asm(".symver log2f_old,log2f@GLIBC_2.27");
#endif #endif
extern "C" float __wrap_log2f(float x) extern "C" float __wrap_log2f(float x)
{ {