| #!/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 |