From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10189 invoked by alias); 21 Jan 2002 16:42:03 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 10112 invoked from network); 21 Jan 2002 16:42:02 -0000 Received: from unknown (HELO cygnus.com) (205.180.230.5) by sources.redhat.com with SMTP; 21 Jan 2002 16:42:02 -0000 Received: from redhat.com (rtl.sfbay.redhat.com [205.180.230.21]) by runyon.cygnus.com (8.8.7-cygnus/8.8.7) with ESMTP id IAA08523; Mon, 21 Jan 2002 08:41:41 -0800 (PST) Message-ID: <3C4C44AB.EE38D3F9@redhat.com> Date: Mon, 21 Jan 2002 08:42:00 -0000 From: Fernando Nasser Organization: Red Hat Canada X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.9-13 i686) X-Accept-Language: en MIME-Version: 1.0 To: Andrew Cagney CC: Hans-Peter Nilsson , gdb-patches@sources.redhat.com Subject: Re: remote.exp: fail properly if wrapper status message isn't found References: <3C4B6A90.8090801@cygnus.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-SW-Source: 2002-01/txt/msg00649.txt.bz2 Andrew Cagney wrote: > > Should this be committed to the src/dejagnu source base (regardless of dejagnu)? > > Andrew > We'd normally do that _and_ send the patch to the dejagnu external maintainer. Fernando > > Hi. > > > > I had a bug in the fini code in the newlib port of > > mmix-knuth-mmixware (film at 11) which exposed this dejagnu > > fault: a target using a wrapper gets a PASS if the "*** EXIT > > code ..." pattern isn't output. IIRC, at the time I tested > > this on other simulator targets, that fault exposed two other > > gcc testsuite failures on some other target. I can't remember > > which; it might have been d30v or mn10300. > > > > Please consider applying this. Please make sure to CC me on > > follow-ups as I'm not subscribed to these lists. > > > > 2001-11-10 Hans-Peter Nilsson > > > > * lib/remote.exp (check_for_board_status): Return 2 if the board > > uses a status wrapper and there was no match for the expected > > pattern. > > > > Index: remote.exp > > =================================================================== > > RCS file: /cvsroot/dejagnu/dejagnu/lib/remote.exp,v > > retrieving revision 1.4 > > diff -p -c -r1.4 remote.exp > > *** remote.exp 2001/10/02 15:48:51 1.4 > > --- remote.exp 2001/11/10 15:59:40 > > *************** proc standard_wait { dest timeout } { > > *** 1050,1055 **** > > --- 1050,1065 ---- > > proc check_for_board_status { variable } { > > upvar $variable output; > > > > + # If all programs of this board have a wrapper that always outputs a > > + # status message, then the absence of it means that the program > > + # crashed, regardless of status found elsewhere (e.g. simulator exit > > + # code). > > + if { [target_info needs_status_wrapper] != "" } then { > > + set nomatch_return 2 > > + } else { > > + set nomatch_return -1 > > + } > > + > > if [regexp "(^|\[\r\n\])\\*\\*\\* EXIT code" $output] { > > regsub "^.*\\*\\*\\* EXIT code " $output "" result; > > regsub "\[\r\n\].*$" $result "" result; > > *************** proc check_for_board_status { variable > > *** 1059,1070 **** > > verbose "got board status $result" 3 > > verbose "output is $output" 3 > > if { $result == "" } { > > ! return -1; > > } else { > > return [expr $result]; > > } > > } else { > > ! return -1; > > } > > } > > > > --- 1069,1080 ---- > > verbose "got board status $result" 3 > > verbose "output is $output" 3 > > if { $result == "" } { > > ! return $nomatch_return > > } else { > > return [expr $result]; > > } > > } else { > > ! return $nomatch_return > > } > > } > > > > -- Fernando Nasser Red Hat Canada Ltd. E-Mail: fnasser@redhat.com 2323 Yonge Street, Suite #300 Toronto, Ontario M4P 2C9