First stab at Rust BPF (#2269)

First stab at Rust BPF
This commit is contained in:
jackcmay
2019-01-02 15:12:42 -08:00
committed by GitHub
parent e3478ee2ab
commit a461c5682d
19 changed files with 792 additions and 152 deletions

View File

@ -320,14 +320,21 @@ SOL_FN_PREFIX void sol_log_params(
const uint8_t *data,
uint64_t data_len
) {
sol_log("- Number of KeyedAccounts");
sol_log_64(0, 0, 0, 0, ka_len);
for (int i = 0; i < ka_len; i++) {
sol_log("- Is signer");
sol_log_64(0, 0, 0, 0, ka[i].is_signer);
sol_log("- Key");
sol_log_key(ka[i].key);
sol_log("- Tokens");
sol_log_64(0, 0, 0, 0, *ka[i].tokens);
sol_log("- Userdata");
sol_log_array(ka[i].userdata, ka[i].userdata_len);
sol_log("- Owner");
sol_log_key(ka[i].owner);
}
sol_log("- Instruction data\0");
sol_log_array(data, data_len);
}

View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -e
PROGRAM=$(basename "$0")
SDKROOT="$(cd "$(dirname "$0")"/../..; pwd -P)"
[[ -z $V ]] || set -x
exec docker run \
--workdir "$PWD" \
--volume "$PWD:$PWD" \
--volume "$SDKROOT:$SDKROOT" \
--rm solanalabs/llvm \
"$PROGRAM" "$@"

View File

@ -14,6 +14,6 @@ exec docker run \
"$PROGRAM" "$@"
EOM
for program in clang clang++ llc ld.lld llvm-objdump; do
for program in clang clang++ llc ld.lld llvm-objdump llvm-objcopy; do
echo "$SCRIPT" > bin/$program
done

View File

@ -32,7 +32,7 @@ if [[ ! -r criterion-$machine-$version.md ]]; then
fi
# Install LLVM
version=v0.0.7
version=v0.0.8
if [[ ! -f llvm-native-$machine-$version.md ]]; then
(
filename=solana-llvm-$machine.tar.bz2