summaryrefslogtreecommitdiff
path: root/gdb/cheri-compressed-cap/test/regen_sail_c_code_morello.sh
blob: 7cbe2b690752780c8c49343b6483f14ed737d73a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env bash
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
set -xe
SAIL_DIR=${SAIL_MORELLO_DIR:-${HOME}/.opam/default/bin}
if [ ! -e "${SAIL_DIR}/sail" ]; then
  echo "Must set SAIL_DIR"
  exit 1
#else
#  SAIL_DIR=$(dirname $(command -v sail))
fi
SAIL_MORELLO_DIR=${SAIL_MORELLO_DIR:-${HOME}/cheri/arm-morello-dropzone/sail}
if [ ! -e "$SAIL_MORELLO_DIR" ]; then
  echo "Must set SAIL_MORELLO_DIR"
  exit 1
fi

sail128_srcs="prelude.sail builtins.sail decode_start.sail v8_base.sail"
extract_fns="CapGetBounds CapGetValue CapGetPermissions CapGetObjectType CapGetTag"
output_dir=${SCRIPT_DIR}

cd "$SAIL_MORELLO_DIR"
printf ":rewrites c\n:slice_roots $extract_fns\n:slice\n:compile c\n:quit\n" | "${SAIL_DIR}/sail" -i -c_no_main -static -c_prefix sailgen_ -c_specialize -no_effects -memo_z3  -non_lexical_flow -no_warn -o "$output_dir/sail_compression_128m" $sail128_srcs
cd "$output_dir"