Remove do.sh
This commit is contained in:
parent
07a853d6cc
commit
61be155413
|
@ -94,16 +94,16 @@ fn main() {
|
|||
program
|
||||
);
|
||||
assert!(Command::new("bash")
|
||||
.current_dir("rust")
|
||||
.args(&["./do.sh", "build", program])
|
||||
.current_dir(format!("rust/{}", program))
|
||||
.args(&["../../../../cargo-build-bpf"])
|
||||
.status()
|
||||
.expect("Error calling do.sh from build.rs")
|
||||
.expect("Error calling cargo-build-bpf from build.rs")
|
||||
.success());
|
||||
let src = format!(
|
||||
"target/bpfel-unknown-unknown/release/solana_bpf_rust_{}.so",
|
||||
"rust/{0}/solana_bpf_rust_{0}.so",
|
||||
program,
|
||||
);
|
||||
assert!(Command::new("cp")
|
||||
assert!(Command::new("mv")
|
||||
.arg(&src)
|
||||
.arg(&install_dir)
|
||||
.status()
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-128bit-dep"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-alloc"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-call-depth"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-custom-heap"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-dep-crate"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-deprecated_loader"
|
||||
|
|
|
@ -1,123 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
|
||||
Usage: do.sh action <project>
|
||||
|
||||
If relative_project_path is ommitted then action will
|
||||
be performed on all projects
|
||||
|
||||
Supported actions:
|
||||
build
|
||||
clean
|
||||
test
|
||||
clippy
|
||||
fmt
|
||||
|
||||
EOF
|
||||
}
|
||||
|
||||
sdkDir=../../../sdk
|
||||
targetDir="$PWD"/../target
|
||||
profile=bpfel-unknown-unknown/release
|
||||
|
||||
perform_action() {
|
||||
set -e
|
||||
case "$1" in
|
||||
build)
|
||||
"$sdkDir"/bpf/rust/build.sh "$2"
|
||||
|
||||
so_path="$targetDir/$profile/"
|
||||
so_name="solana_bpf_rust_${3%/}"
|
||||
if [ -f "$so_path/${so_name}.so" ]; then
|
||||
cp "$so_path/${so_name}.so" "$so_path/${so_name}_debug.so"
|
||||
"$sdkDir/bpf/dependencies/llvm-native/bin/llvm-objcopy" --strip-all "$so_path/${so_name}.so" "$so_path/$so_name.so"
|
||||
fi
|
||||
;;
|
||||
clean)
|
||||
"$sdkDir"/bpf/rust/clean.sh "$2"
|
||||
;;
|
||||
test)
|
||||
(
|
||||
cd "$2"
|
||||
echo "test $2"
|
||||
cargo +nightly test
|
||||
)
|
||||
;;
|
||||
clippy)
|
||||
(
|
||||
cd "$2"
|
||||
echo "clippy $2"
|
||||
cargo +nightly clippy
|
||||
)
|
||||
;;
|
||||
fmt)
|
||||
(
|
||||
cd "$2"
|
||||
echo "formatting $2"
|
||||
cargo fmt
|
||||
)
|
||||
;;
|
||||
dump)
|
||||
# Dump depends on tools that are not installed by default and must be installed manually
|
||||
# - greadelf
|
||||
# - rustfilt
|
||||
(
|
||||
pwd
|
||||
"$0" build "$3"
|
||||
|
||||
cd "$3"
|
||||
so="$targetDir/$profile/solana_bpf_rust_${3%/}_debug.so"
|
||||
dump="$targetDir/${3%/}-dump"
|
||||
|
||||
if [ -f "$so" ]; then
|
||||
ls \
|
||||
-la \
|
||||
"$so" \
|
||||
>"${dump}-mangled.txt"
|
||||
greadelf \
|
||||
-aW \
|
||||
"$so" \
|
||||
>>"${dump}-mangled.txt"
|
||||
../"$sdkDir/bpf/dependencies/llvm-native/bin/llvm-objdump" \
|
||||
-print-imm-hex \
|
||||
--source \
|
||||
--disassemble \
|
||||
"$so" \
|
||||
>>"${dump}-mangled.txt"
|
||||
sed \
|
||||
s/://g \
|
||||
< "${dump}-mangled.txt" \
|
||||
| rustfilt \
|
||||
> "${dump}.txt"
|
||||
else
|
||||
echo "Warning: No dump created, cannot find: $so"
|
||||
fi
|
||||
)
|
||||
;;
|
||||
help)
|
||||
usage
|
||||
exit
|
||||
;;
|
||||
*)
|
||||
echo "Error: Unknown command"
|
||||
usage
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$#" -ne 2 ]; then
|
||||
# Build all projects
|
||||
for project in */; do
|
||||
perform_action "$1" "$PWD/$project" "$project"
|
||||
done
|
||||
else
|
||||
# Build requested project
|
||||
perform_action "$1" "$PWD/$2" "$2"
|
||||
fi
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-dup-accounts"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-error-handling"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-external-spend"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-instruction-introspection"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoke"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-invoked"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-iter"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-many-args"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-many-args-dep"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-noop"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-panic"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-param-passing"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-param-passing-dep"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-rand"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-ristretto"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-sanity"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-sha256"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
# Note: This crate must be built using do.sh
|
||||
|
||||
[package]
|
||||
name = "solana-bpf-rust-sysval"
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
#!/usr/bin/env python
|
||||
|
||||
#
|
||||
#
|
||||
# Prints a BPF program call trace with instruction counts for each call
|
||||
#
|
||||
# This script requires a dump file containing the instruction dump of the ELF
|
||||
# and a trace file that contains the trace output of the BPF VM
|
||||
#
|
||||
# You can create the dump file with do.sh:
|
||||
# $ do.sh dump <project>
|
||||
# Or directly:
|
||||
# You can create the dump file by passing the --dump flag to `cargo build-bpf`,
|
||||
# or directly:
|
||||
# $ llvm-objdump -print-imm-hex --source --disassemble <ELF file path>
|
||||
#
|
||||
# You can create the trace file by running the program and setting RUST_LOG:
|
||||
|
@ -53,7 +52,7 @@ if __name__ == '__main__':
|
|||
sys.exit(' Usage: ' + sys.argv[0] + ' dump_file trace_file')
|
||||
dumppath = sys.argv[1]
|
||||
tracepath = sys.argv[2]
|
||||
|
||||
|
||||
# parse the dump file to create a map
|
||||
# of instruction numbers to symbols
|
||||
symbols = {}
|
||||
|
@ -76,7 +75,7 @@ if __name__ == '__main__':
|
|||
line = file_object.readline()
|
||||
if len(symbols) == 0:
|
||||
sys.exit("Error: No instruction dump in: " + dumppath)
|
||||
|
||||
|
||||
# parse the trace file to build a call list
|
||||
calls = [] # all the calls made
|
||||
with open(tracepath, 'r') as file_object:
|
||||
|
|
Loading…
Reference in New Issue