代码拉取完成,页面将自动刷新
#!/bin/bash
# compile foo.c to foo.s
# c2asm.sh arm|riscv foo.c flags
arch=$1
src=$2
RISCINC=/usr/local/spec2017/riscvinclude
LINARO=$MAPLE_ROOT/tools/gcc-linaro-7.5.0
LINARO_INC="-I $LINARO/aarch64-linux-gnu/libc/usr/include"
SYSTEM_FLAGS="-isystem $MAPLE_ROOT/tools/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/lib/clang/10.0.0/include --sysroot=$MAPLE_ROOT/tools/sysroot-glibc-linaro-2.25"
CLANGFE_FLAGS="-cc1 -emit-llvm -triple aarch64-linux-gnu -D__clang__ -D__BLOCKS__ -U __SIZEOF_INT128__ $ISYSTEM_FLAGS"
CLANGFE_FLAGS="$CLANGFE_FLAGS -fgnu89-inline"
CLANG_FLAGS="--target=aarch64-linux-elf -Wno-return-type -U__SIZEOF_INT128__"
if [ $arch = "arm" ]; then
src="${src%.*}.maplearm.${src##*.}"
cp -p $2 $src
else if [ $arch = "riscv" ]; then
src="${src%.*}.mapleriscv.${src##*.}"
cp -p $2 $src
else
echo "wrong arch passed for c2asm.sh $arch should be arm or riscv"
exit 1
fi
fi
shift
shift
FLAGS="$*"
root="${src%.*}"
SRCDIR=`echo $src | sed -e "s/^out/src/" | sed -e "s/\/[^/]*$//"`
FE_FLAG="--ascii"
SUF="mpl"
MPL2MPL_FLAG="--no-inline"
MPL2MPL_FLAG=""
echo $MAPLE_EXECUTE_BIN/clang2mpl $FE_FLAG $src -- $FLAGS $CLANG_FLAGS
$MAPLE_EXECUTE_BIN/clang2mpl $FE_FLAG $src -- $FLAGS $CLANG_FLAGS || exit 1
echo "---------------> $TARGET"
if [ "$TARGET" = "sgcc" ]; then
echo $MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option=\"-O2 --quiet:-O2 $MPL2MPL_FLAG:-O2 --quiet --no-pie --verbose-asm --verbose-cg --patch-long-branch\" $root.$SUF
$MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option="-O2 --quiet:-O2 $MPL2MPL_FLAG:-O2 --quiet --no-pie --verbose-asm --verbose-cg --patch-long-branch" $root.$SUF || exit 2
else
echo $MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option=\"--O2 --quiet:--O2 $MPL2MPL_FLAG:--O2 --quiet --no-pie --verbose-asm --verbose-cg\" $root.$SUF
$MAPLE_EXECUTE_BIN/maple --run=me:mpl2mpl:mplcg --option="--O2 --quiet:--O2 $MPL2MPL_FLAG:--O2 --quiet --no-pie --verbose-asm --verbose-cg" $root.$SUF || exit 3
fi
# remove failed .s
if [ $? -ne 0 ]; then
echo "failed $MAPLE_PRODUCT_EXECUTABLE/mplcg" >&2
rm -f $root.s
fi
#rm -f $root.c
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。