blob: ff4fd3263926e5d36575fd4016a0cfb60ce921c5 [file]
#!/bin/bash
set -e
BINARY1_PATH=$1
BINARY2_PATH=$2
NM_TOOL=$3
PLATFORM=$4
if [[ "$PLATFORM" == "not_supported" ]]; then
echo "Platform not supported for this test, skipping."
exit 0
fi
# Function to count exception tables in a binary
count_except_tables() {
local binary=$1
local target_file="$binary"
if [[ "$PLATFORM" == "wasm" ]]; then
# Extract wasm file from tarball if needed
if file -L "$binary" | grep -q "tar archive"; then
tar -xf "$binary" -C "$TEST_TMPDIR"
target_file="$TEST_TMPDIR/treeshaking_app.wasm"
fi
fi
"$NM_TOOL" "$target_file" | grep GCC_except_table | wc -l
}
COUNT1=$(count_except_tables "$BINARY1_PATH")
COUNT2=$(count_except_tables "$BINARY2_PATH")
echo "Output 1 exception tables: $COUNT1"
echo "Output 2 exception tables: $COUNT2"
if [[ "$COUNT1" -ne "$COUNT2" ]]; then
echo "FAIL: Exception table counts differ ($COUNT1 vs $COUNT2)."
exit 1
fi
echo "PASS: Exception table counts are identical."