blob: b689c5f9b94f2d2ce9da64986c7dc24d406b5076 [file] [log] [blame]
#!/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