This is the mail archive of the mailing list for the Archer project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[keiths-expr-cumulative] Regressions [Re: New branch for Fedora11 merges]

On Fri, 27 Feb 2009 23:03:26 +0100, Sami Wagiaalla wrote:
> Sami Wagiaalla wrote:
>> I introduced this problem earlier when i was trying to resolve a  
>> conflict that I had with a patch of Jan's.  
>> 1de38657622396795ce681e64b03fb74e81e6c3d vs  
>> 60eb8684d0d85d0884aca7a2f013e5eb16a51d47
>> I'll check in a fix for this. The issue is that sometimes a function 
>> Die might now have high/low pc tags but it has an abstract origin tag  
>> pointing to useful namespace information.
> I have check in a fix for this.

[archer-keiths-expr-cumulative] 3513c57475d20e65ac2fb2be097227011c4b8b5a

It still has a lot of regressions (tried archer-keiths-expr-cumulative) like:
	info function operator\*(^M
	memory clobbered past end of allocated block^M
	FAIL: gdb.cp/cplusfuncs.exp: info function for "operator%(" (timeout)
(at least on F10.x86_64 using mcheck: LDFLAGS="-lmcheck" ./configure...).

Possible quick fix is attached (not checked-in) - my code moved into
explore_abstract_origin() needs to know (the `die_children' count is only read)
the number of children DIEs - to allocate appropriately sized array.

Unfortunately even after this attached fix the branch is FAILing on:
+FAIL: gdb.cp/namespace-using.exp: print _a
+FAIL: gdb.cp/namespace-using.exp: print x

* Every test name should be unique - this is the reason the names exist.
  You do not follow it.
* You use `send_gdb' without waiting on the response of each command - some
  wait on "$gdb_prompt $".  The waiting can be usually done by `gdb_test', in
  more complicated cases by `gdb_test_multiple'.  Otherwise the results get
  random as dejagnu is not in sync with the GDB output.
* There are even specific library functions `gdb_breakpoint' and
  `gdb_continue_to_breakpoint' which you use but only sometimes.
* Pattern start `"\\$\[0-9\].* =' should have been more `"\\$\[0-9\]+ ='
  (although it is also considered safe to use just `=').

There is now a change
KFAIL: gdb.cp/templates.exp: constructor breakpoint (PRMS: gdb/1062)
FAIL: gdb.cp/templates.exp: constructor breakpoint
although IMO the current output should be considered as PASS now.

The branch is still pretty old and while I would update it
but as it currently has regressions I cannot verify I would not break it.

diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 3e17767..a9251cb 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -3317,6 +3317,12 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
   if (name == NULL || !dwarf2_get_pc_bounds (die, &lowpc, &highpc, cu, NULL)){
     /* explore abstract origins if present. They might contain useful information
      such as import statements. */
+    child_die = die->child;
+    while (child_die && child_die->tag)
+      {
+	child_die = sibling_die (child_die);
+	die_children++;
+      }
     explore_abstract_origin(die, cu, &die_children);

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]