Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 353614

Summary: fixupRanges needs to be called in DwarfInfoReader after using LineEntries as they may be wrong
Product: [Tools] CDT Reporter: Daniel Thomas <daniel.thomas>
Component: cdt-debug-edcAssignee: Ken Ryall <ken.ryall>
Status: RESOLVED FIXED QA Contact: Ken Ryall <ken.ryall>
Severity: normal    
Priority: P3 CC: cdtdoug, kirk.beitz
Version: 8.0   
Target Milestone: ---   
Hardware: All   
OS: All   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=353605
Whiteboard:
Attachments:
Description Flags
Fixup the ranges after using line entries as a first attempt
none
Additionally move compileUnitHeader registration earlier as this is required. cdtdoug: iplog+

Description Daniel Thomas CLA 2011-08-02 12:03:19 EDT
Build Identifier: 

DwarfInfoReader uses the line entries table in setupAddresses to work out what ranges of memory are covered by the compile unit. Unfortunately some compilers do not correctly garbage collect line entry tables for functions which have been garbage collected resulting in erroneous line entry regions starting at or near 0.
Calling fixupRanges after using the line entry tables to initially compute the start and end address fixes this up and removes the invalid region(s).

I have a patch which adds this.

Reproducible: Always
Comment 1 Daniel Thomas CLA 2011-08-02 12:04:08 EDT
Created attachment 200744 [details]
Fixup the ranges after using line entries as a first attempt
Comment 2 Daniel Thomas CLA 2011-08-03 04:48:18 EDT
Created attachment 200781 [details]
Additionally move compileUnitHeader registration earlier as this is required.
Comment 3 Kirk Beitz CLA 2011-08-06 05:01:54 EDT
the patch has been merged and nominally tested in our local source base.  waiting for final review and merge to eclipse edc git repository by committer Ken Ryall.