diff --git a/list-obj-sizes.awk b/list-obj-sizes.awk new file mode 100755 index 0000000000000000000000000000000000000000..b9093a275d8efd3b7e577d4a13f9285747d0d71b --- /dev/null +++ b/list-obj-sizes.awk @@ -0,0 +1,25 @@ +#! /usr/bin/gawk -f + +# Run this filter on the output of +# +# objdump -h libnettle.a + +BEGIN { + print "file text-size data-size rodata-size"; + text_total = 0; + data_total = 0; + rodata_total = 0; +} + +/elf32/ { name = $1; text_size = data_size = rodata_size = 0; } +/\.text/ { text_size = $3 } +/\.data/ { data_size = $3; } +/\.rodata/ { rodata_size = $3; } +/\.comment/ { + printf "%15s %s %s %s\n", name, text_size, data_size, rodata_size; +} + +END { + printf "%15s %s %s %s\n", "TOTAL", text_total, data_total, rodata_total; +} +