#!/usr/bin/env bash for m in $(ar t ../libc_pic.a); do ar x ../libc_pic.a $m echo -n $( readelf -wi $m \ | (grep DW_AT_comp_dir || echo '-') \ | sed -e 's/.* //' )" " size $m | tail -1 rm $m done \ | awk ' { size[$1] += $5 } END { for (f in size) print size[f], f } ' \ | sort -rn