|
From: <sv...@va...> - 2009-08-03 08:51:16
|
Author: tom
Date: 2009-08-03 09:50:58 +0100 (Mon, 03 Aug 2009)
New Revision: 10695
Log:
Handle some more DW_TAG_subrange_type cases which Fedora 11's
gcc 4.4.0 seems to generate.
Modified:
trunk/coregrind/m_debuginfo/readdwarf3.c
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 01:38:56 UTC (rev 10694)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2009-08-03 08:50:58 UTC (rev 10695)
@@ -2476,12 +2476,24 @@
boundE.Te.Bound.knownU = True;
boundE.Te.Bound.boundL = lower;
boundE.Te.Bound.boundU = upper;
- }
+ }
else if (have_lower && (!have_upper) && (!have_count)) {
boundE.Te.Bound.knownL = True;
boundE.Te.Bound.knownU = False;
boundE.Te.Bound.boundL = lower;
boundE.Te.Bound.boundU = 0;
+ }
+ else if ((!have_lower) && have_upper && (!have_count)) {
+ boundE.Te.Bound.knownL = False;
+ boundE.Te.Bound.knownU = True;
+ boundE.Te.Bound.boundL = 0;
+ boundE.Te.Bound.boundU = upper;
+ }
+ else if ((!have_lower) && (!have_upper) && (!have_count)) {
+ boundE.Te.Bound.knownL = False;
+ boundE.Te.Bound.knownU = False;
+ boundE.Te.Bound.boundL = 0;
+ boundE.Te.Bound.boundU = 0;
} else {
/* FIXME: handle more cases */
goto bad_DIE;
|
|
From: Tom H. <to...@co...> - 2009-08-03 08:56:51
|
On 03/08/09 09:51, sv...@va... wrote: > Author: tom > Date: 2009-08-03 09:50:58 +0100 (Mon, 03 Aug 2009) > New Revision: 10695 > > Log: > Handle some more DW_TAG_subrange_type cases which Fedora 11's > gcc 4.4.0 seems to generate. I hope this fix is correct - it wasn't entirely clear to me why we're going to all the trouble of handling each combination separately instead of just setting the entries in the structure from the flags in the DIE? Tom -- Tom Hughes (to...@co...) http://www.compton.nu/ |
|
From: Julian S. <js...@ac...> - 2009-08-03 13:08:01
|
On Monday 03 August 2009, Tom Hughes wrote: > On 03/08/09 09:51, sv...@va... wrote: > > Author: tom > > Date: 2009-08-03 09:50:58 +0100 (Mon, 03 Aug 2009) > > New Revision: 10695 > > > > Log: > > Handle some more DW_TAG_subrange_type cases which Fedora 11's > > gcc 4.4.0 seems to generate. > > I hope this fix is correct Looks pretty plausible to me. > - it wasn't entirely clear to me why we're > going to all the trouble of handling each combination separately instead > of just setting the entries in the structure from the flags in the DIE? Mostly out of a general desire not to have code which handles cases we don't yet have test cases for. Gives us an opportunity to eyeball new cases as they come up. J |