1
0

pahole-fix.sh 631 B

1234567891011121314
  1. #!/bin/bash
  2. binary="$1"
  3. pahole --anon_include --nested_anon_include --packable "${@:2}" "$binary" \
  4. | sort -k4 -nr \
  5. | awk '{print $1}' \
  6. | while read name; do
  7. echo "=== $name (savings: $(pahole --anon_include --nested_anon_include --packable "${@:2}" "$binary" \
  8. | awk -v n="$name" '$1==n {print $4}') bytes) ==="
  9. diff -u -U 9999 \
  10. <(pahole --class_name "$name" --anon_include --nested_anon_include --show_decl_info "${@:2}" "$binary") \
  11. <(pahole --class_name "$name" --anon_include --nested_anon_include --show_decl_info --reorganize --fixup_silly_bitfields "${@:2}" "$binary")
  12. done