------- Comment #2 from jakub at gcc dot gnu dot org  2010-03-19 20:56 -------
The patch has been bootstrapped/regtested on x86_64-linux and i686-linux and
apparently has huge effect on the debug info size.

i686 cc1 before:
DW_AT_location count 305862
  [28] .debug_info       PROGBITS        00000000 1002ada 139b947 00      0   0
 1
  [33] .debug_loc        PROGBITS        00000000 29059e7 f6b1fb 00      0   0 
1
i686 cc1 after:
DW_AT_location count 295969
  [28] .debug_info       PROGBITS        00000000 1002ada 1391ec0 00      0   0
 1
  [33] .debug_loc        PROGBITS        00000000 28fc1b3 893583 00      0   0 
1

I guess I should verify some random DIEs from that 10000 set of DIEs that lost
DW_AT_location attribute if really all location list parts were outside of the
containing block DW_AT_ranges, and similarly for some location lists that got
shorter.  On the simple testcase it worked well, but more verification doesn't
hurt.  If the patch really doesn't throw useful debug info on the floor, having
.debug_loc shrink by 50% would be quite nice.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43442

Reply via email to