Changeset View
Changeset View
Standalone View
Standalone View
contrib/gitian-descriptors/gitian-win.yml
Show First 20 Lines • Show All 70 Lines • ▼ Show 20 Lines | 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} | echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog} | ||||
echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} | echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} | ||||
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} | echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} | ||||
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog} | echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog} | ||||
echo "\$REAL \"\$@\"" >> $WRAP_DIR/${i}-${prog} | echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog} | ||||
chmod +x ${WRAP_DIR}/${i}-${prog} | chmod +x ${WRAP_DIR}/${i}-${prog} | ||||
done | done | ||||
done | done | ||||
} | } | ||||
function create_per-host_linker_wrapper { | function create_per-host_linker_wrapper { | ||||
# This is only needed for trusty, as the mingw linker leaks a few bytes of | # This is only needed for trusty, as the mingw linker leaks a few bytes of | ||||
# heap, causing non-determinism. See discussion in https://github.com/bitcoin/bitcoin/pull/6900 | # heap, causing non-determinism. See discussion in https://github.com/bitcoin/bitcoin/pull/6900 | ||||
for i in ${HOSTS[@]}; do | for i in ${HOSTS[@]}; do | ||||
mkdir -p ${WRAP_DIR}/${i} | mkdir -p ${WRAP_DIR}/${i} | ||||
for prog in collect2; do | for prog in collect2; do | ||||
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}/${prog} | echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}/${prog} | ||||
REAL=$(${i}-gcc -print-prog-name=${prog}) | REAL=$(${i}-gcc -print-prog-name=${prog}) | ||||
echo "export MALLOC_PERTURB_=255" >> ${WRAP_DIR}/${i}/${prog} | echo "export MALLOC_PERTURB_=255" >> ${WRAP_DIR}/${i}/${prog} | ||||
echo "${REAL} \$@" >> $WRAP_DIR/${i}/${prog} | echo "${REAL} \"\$@\"" >> $WRAP_DIR/${i}/${prog} | ||||
chmod +x ${WRAP_DIR}/${i}/${prog} | chmod +x ${WRAP_DIR}/${i}/${prog} | ||||
done | done | ||||
for prog in gcc g++; do | for prog in gcc g++; do | ||||
echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog} | echo '#!/usr/bin/env bash' > ${WRAP_DIR}/${i}-${prog} | ||||
echo "REAL=\`which -a ${i}-${prog}-posix | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} | echo "REAL=\`which -a ${i}-${prog}-posix | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} | ||||
echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} | echo 'export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} | ||||
echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog} | echo "export FAKETIME=\"$1\"" >> ${WRAP_DIR}/${i}-${prog} | ||||
echo "export COMPILER_PATH=${WRAP_DIR}/${i}" >> ${WRAP_DIR}/${i}-${prog} | echo "export COMPILER_PATH=${WRAP_DIR}/${i}" >> ${WRAP_DIR}/${i}-${prog} | ||||
echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog} | echo "\$REAL \"\$@\"" >> $WRAP_DIR/${i}-${prog} | ||||
chmod +x ${WRAP_DIR}/${i}-${prog} | chmod +x ${WRAP_DIR}/${i}-${prog} | ||||
done | done | ||||
done | done | ||||
} | } | ||||
# Faketime for depends so intermediate results are comparable | # Faketime for depends so intermediate results are comparable | ||||
export PATH_orig=${PATH} | export PATH_orig=${PATH} | ||||
create_global_faketime_wrappers "2000-01-01 12:00:00" | create_global_faketime_wrappers "2000-01-01 12:00:00" | ||||
▲ Show 20 Lines • Show All 86 Lines • Show Last 20 Lines |