32 lines
731 B
Bash
Executable File
32 lines
731 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Must be run from the project's root directory.
|
|
|
|
# checks if a certain packet has been dead-code-eliminated from the resulting binary.
|
|
# Arg 1: example to build
|
|
# Arg 2: packet name
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Must pass example name as first argument (e.g: armv4t)"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$2" ]; then
|
|
echo "Must pass packet name as second argument (e.g: qRcmd)"
|
|
exit 1
|
|
fi
|
|
|
|
cargo build --release --example $1 --features="std __dead_code_marker"
|
|
strip ./target/release/examples/$1
|
|
|
|
output=$(strings ./target/release/examples/$1 | sort | grep --color=always "<$2,")
|
|
|
|
if [[ $output ]]; then
|
|
echo $output
|
|
echo "Dead code NOT eliminated!"
|
|
exit 1
|
|
else
|
|
echo "Dead code eliminated."
|
|
exit 0
|
|
fi
|