From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Elizabeth Chastain To: fnasser@redhat.com, gdb@sources.redhat.com Subject: Re: New failures: gdb.base/recurse.exp Date: Thu, 10 May 2001 11:01:00 -0000 Message-id: <200105101807.LAA12540@bosch.cygnus.com> X-SW-Source: 2001-05/msg00231.html I saw some of those on a branch inside Red Hat a few weeks ago. Let me cut-and-paste some verbiage: This test script sets a watchpoint on a local variable in a recursive function. It then observes the watchpoint as the function recurses and returns. In the configurations that FAIL, gdb deletes the watchpoint when the function calls itself. gdb says that "the program has left the block in which its expression is valid". This is an error in gdb. When gdb deletes the watchpoint, it stops and prints a message on the current line (the open brace of the function being called). This message desynchronizes the test script and causes a cascade of FAILs. All of the configurations which fail use software watchpoints. Software watchpoints use watchpoint_check, which calls find_frame_addr_in_frame_chain to find this information. Michael