Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 330953 - edc - DWARF - LineEntry generation fixup fix (fixed high addr higher than scope high addr)
Summary: edc - DWARF - LineEntry generation fixup fix (fixed high addr higher than sco...
Status: RESOLVED WONTFIX
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug-edc (show other bugs)
Version: 7.0.1   Edit
Hardware: All SymbianOS S60
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Ken Ryall CLA
QA Contact: Ken Ryall CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-23 13:30 EST by Kirk Beitz CLA
Modified: 2019-12-30 18:40 EST (History)
2 users (show)

See Also:


Attachments
patch for DwarfInfoReader.java 1.25 to check LineEntry.highAddress vs scope.highAddress during fixup (1006 bytes, patch)
2010-11-23 13:30 EST, Kirk Beitz CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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/