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

Bug 330953

Summary: edc - DWARF - LineEntry generation fixup fix (fixed high addr higher than scope high addr)
Product: [Tools] CDT Reporter: Kirk Beitz <kirk.beitz>
Component: cdt-debug-edcAssignee: Ken Ryall <ken.ryall>
Status: RESOLVED WONTFIX QA Contact: Ken Ryall <ken.ryall>
Severity: normal    
Priority: P3 CC: cdtdoug, daniel.thomas
Version: 7.0.1   
Target Milestone: ---   
Hardware: All   
OS: SymbianOS S60   
Whiteboard:
Attachments:
Description Flags
patch for DwarfInfoReader.java 1.25 to check LineEntry.highAddress vs scope.highAddress during fixup none

Description Kirk Beitz CLA 2010-11-23 13:30:43 EST
Created attachment 183694 [details]
patch for DwarfInfoReader.java 1.25 to check LineEntry.highAddress vs scope.highAddress during fixup

the DWARF compilers used for our product generate LNT info that has the "low address" but not the high address of the entry.

the EDC attempt to fill this information can make one mistake whereby the high address of the LNT entry is greater than the scope of the function that the LNT is supposed to be a part of.

the attachment fixes this problem.

this is only seen for the compiler used for Symbian thus far.
Comment 1 Kirk Beitz CLA 2010-11-23 19:30:22 EST
Comment on attachment 183694 [details]
patch for DwarfInfoReader.java 1.25 to check LineEntry.highAddress vs scope.highAddress during fixup

marking the patch obsolete, because some expression casting JUnit tests are failing with it in place.

it even fails when the code is changed to have:

	// the last line entry
	if (previousEntry != null
		&& previousEntry.getHighAddress() == null) {
		previousEntry.setHighAddress(scope.getHighAddress());
	}
	else if (previousEntry != null
		 && previousEntry.getHighAddress().compareTo(scope.getHighAddress()) > 0) {
		previousEntry.setHighAddress(previousEntry.getHighAddress());
	}

i.e. setting it to itself is still causing tests to fail.

but the inline stepping problems mostly fixed in Bug 330969 , Bug 330971 and Bug 330972 are working around this ok in the tests i've run, so this problem may not be that big of a deal for now.
Comment 2 Daniel Thomas CLA 2011-08-30 10:12:00 EDT
Since the line entry table is used to extend the range of the scopes it is for in some cases it is not possible to restrict the size of the line entry to the limits of the scope it is for as it may know better the range of the scope it is for than the scope currently does (or not as the case may be). WONTFIX?
Comment 3 Jonah Graham CLA 2019-12-30 18:40:07 EST
(this is part of a batch change)

The Eclipse CDT EDC (https://wiki.eclipse.org/CDT/cdt-debug-edc) is now obsolete and has not had any active development since 2011. Therefore the still open bugs are being marked as wontfix.

The git repo for the project still exists for posterity at https://git.eclipse.org/c/cdt/org.eclipse.cdt.edc.git/