Hi Ron, Thanks for the reply, in-line below... Ron Brender wrote: Sorry if I wasn't clear, but the lexical blocks in question did appear to be surrounded by objects I'd expect to be in "std::", things like variables, inlined subroutines, formal parameters, etc. So, "std" wasn't empty, but within "std" the DWARF for first lexical block in my original email had only an empty second lexical block. But yes, the blocks did look like something the compiler failed to clean up. I agree with you. And if it is legal, I'm not sure how the debugger should show it to a user... For example, assume that there were variables in both disjoint blocks. When the program is stopped at the inner block, are the variables in the outer block active or not? The nesting implies "yes", but the address ranges imply "no". I don't know, but I can have our Support people ask the customer. Ah, good question. The library is huge, 679MB long, and the readelf output is 4.6GB, but I did find another occurrence of the strange lexical block nesting inside the same compilation unit, but this time is was within a class, not "std": <1><366edc>: Abbrev Number: 4 (DW_TAG_class_type) DW_AT_decl_line : 26 DW_AT_decl_column : 7 DW_AT_decl_file : 115 DW_AT_accessibility: 1 (public) DW_AT_byte_size : 72 DW_AT_name : VPScreenWindow ...LOTS OF DWARF REMOVED... <2><367e64>: Abbrev Number: 37 (DW_TAG_lexical_block) DW_AT_decl_line : 1370 DW_AT_decl_column : 79 DW_AT_decl_file : 1 DW_AT_low_pc : 0xb048c DW_AT_high_pc : 0xb0b0a <3><367e79>: Abbrev Number: 38 (DW_TAG_lexical_block) DW_AT_decl_line : 1385 DW_AT_decl_column : 97 DW_AT_decl_file : 1 DW_AT_low_pc : 0xb05ea DW_AT_high_pc : 0xb0b0a I guess that implies that it's not necessarily "std" related. Yes, I was hoping he would be able to explain what's going on. Cheers, John D.
|
_______________________________________________ Dwarf-Discuss mailing list Dwarf-Discuss@lists.dwarfstd.org http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org