Closed PolarNettles closed 2 months ago
Reading DW_FORM_ref4 from a .debug_names table we were double-counting the 4 bytes read. oops. Running a full regression test now. Also, for a debug_names FORM_ref1 we were not checking for past-end.. Fixed.
I am updating the dwarfdump --print-debug-names format today so it looks better. Nothing changing in the library. Regression tests have run just fine, though I am rerunning now.
The feature, I learned today from the person who implemented it in clang, is to distinguish two cases for the code reading the .debug_names section:
1, Absence of DW_IDX_parent means the producer did not generate a parent.
dwarfdump now reports this. I think this can be closed.
With the fix for https://github.com/davea42/libdwarf-code/issues/260 I am now hitting this error. It looks like it happens when the last entry of .debug_names specifies a DW_IDX_parent.
Reproduction steps:
cpp_test.zip