This is the mail archive of the archer@sourceware.org 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]

Re: Problem with merge


Hi Rick,

the problem IMO comes from archer-sergio-catch-syscall and some of its
interaction with the other patches.

The problem can be reproduced just on the archer-sergio-catch-syscall branch
by:
$ ../gdb -nx -ex start -ex 'set debug infrun 1' -ex 'p marker2(99)' -ex bt gdb.base/break
which ends on the FSF GDB by:
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x400530
infrun: BPSTAT_WHAT_STOP_SILENT
infrun: stop_stepping
$1 = 1
#0  main (argc=1, argv=0x7fffffffd438, envp=0x7fffffffd448) at ../.././gdb/testsuite/gdb.base/break.c:86
(gdb) q

but on the archer-sergio-catch-syscall branch it ends up with:
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0x400530
infrun: BPSTAT_WHAT_CHECK_SHLIBS
infrun: stop_stepping
$1 = 1
#0  main (argc=1, argv=0x7fffffffd438, envp=0x7fffffffd448) at ../.././gdb/testsuite/gdb.base/break.c:86
(gdb) q

This causes the crash-loop on the archer-rmoseley-demo-merge branch due to
some other correlations I did not analyse.

The attached patch IMO makes the `entrybp' state less intrusive (=not
corrupting the current state if not required) while still
`gdb.base/catch-syscall.exp' fully PASSes there.  It also fixed the
`gdb.base/break.exp' testcase for archer-rmoseley-demo-merge.

I did not compare the full testsuite runs on the both branches.


Regards,
Jan
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index c85f90b..7c9860e 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -3147,21 +3147,21 @@ bpstat_what (bpstat bs)
   /*       kc    ss    sn    sgl    slr   clr   sr   shl   shlr   entrybp
    */
 /*no_effect */
-    {kc, ss, sn, sgl, slr, clr, sr, shl, shlr, shlr},
+    {kc, ss, sn, sgl, slr, clr, sr, shl, shlr, kc},
 /*wp_silent */
-    {ss, ss, sn, ss, ss, ss, sr, shl, shlr, shlr},
+    {ss, ss, sn, ss, ss, ss, sr, shl, shlr, ss},
 /*wp_noisy */
-    {sn, sn, sn, sn, sn, sn, sr, shl, shlr, shlr},
+    {sn, sn, sn, sn, sn, sn, sr, shl, shlr, sn},
 /*bp_nostop */
-    {sgl, ss, sn, sgl, slr, slr, sr, shl, shlr, shlr},
+    {sgl, ss, sn, sgl, slr, slr, sr, shl, shlr, sgl},
 /*bp_silent */
-    {ss, ss, sn, ss, ss, ss, sr, shl, shlr, shlr},
+    {ss, ss, sn, ss, ss, ss, sr, shl, shlr, ss},
 /*bp_noisy */
-    {sn, sn, sn, sn, sn, sn, sr, shl, shlr, shlr},
+    {sn, sn, sn, sn, sn, sn, sr, shl, shlr, sn},
 /*long_jump */
-    {slr, ss, sn, slr, slr, err, sr, shl, shlr, shlr},
+    {slr, ss, sn, slr, slr, err, sr, shl, shlr, slr},
 /*long_resume */
-    {clr, ss, sn, err, err, err, sr, shl, shlr, shlr},
+    {clr, ss, sn, err, err, err, sr, shl, shlr, clr},
 /*step_resume */
     {sr, sr, sr, sr, sr, sr, sr, sr, sr, sr},
 /*shlib */
@@ -3170,7 +3170,7 @@ bpstat_what (bpstat bs)
     {shlr, shlr, shlr, shlr, shlr, shlr, sr, shlr, shlr, shlr},
 /* entry_breakpoint */
     {entrybp, entrybp, entrybp, entrybp, entrybp, entrybp, sr, entrybp,
-      entrybp, entrybp}
+      shlr, entrybp}
   };
 
 #undef kc

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