------- Comment #7 from jakub at gcc dot gnu dot org 2010-06-29 09:09 ------- readelf -wo ginac.o1 | grep 'End of' | wc -l; readelf -wo ginac.o2 | grep 'End of' | wc -l; readelf -wo ginac.o1 | wc -l; readelf -wo ginac.o2 | wc -l; readelf -wo ginac.o1 | grep fbreg | wc -l; readelf -wo ginac.o2 | grep fbreg | wc -l 11850 11796 351354 462546 8117 341790
As the number of DW_AT_location (and DW_AT_const_value) attributes in .debug_info is identical, the above means that with the patch 54 vars no longer use .debug_loc (which means they cover the whole function while before they didn't). For the tiny bit fewer location lists the patched version has more entries in many of them (which can still mean either that the coverage is better, or worse (there could be more holes)) and that DW_OP_fbreg is now used much more often than before (that is quite expected with this patch). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44694