From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8098 invoked by alias); 19 Jun 2010 08:42:02 -0000 Received: (qmail 8082 invoked by uid 22791); 19 Jun 2010 08:42:00 -0000 X-SWARE-Spam-Status: No, hits=1.6 required=5.0 tests=AWL,BAYES_50,MSGID_MULTIPLE_AT,RCVD_IN_JMF_BL,TW_XP X-Spam-Check-By: sourceware.org Received: from mailhost.u-strasbg.fr (HELO mailhost.u-strasbg.fr) (130.79.200.158) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 19 Jun 2010 08:41:54 +0000 Received: from baal.u-strasbg.fr (baal.u-strasbg.fr [IPv6:2001:660:2402::41]) by mailhost.u-strasbg.fr (8.14.3/jtpda-5.5pre1) with ESMTP id o5J8foJ2046907 ; Sat, 19 Jun 2010 10:41:51 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from mailserver.u-strasbg.fr (ms6.u-strasbg.fr [IPv6:2001:660:2402:d::15]) by baal.u-strasbg.fr (8.14.0/jtpda-5.5pre1) with ESMTP id o5J8foP6024435 ; Sat, 19 Jun 2010 10:41:50 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) Received: from d620muller (lec67-4-82-230-53-140.fbx.proxad.net [82.230.53.140]) (user=mullerp mech=LOGIN) by mailserver.u-strasbg.fr (8.14.4/jtpda-5.5pre1) with ESMTP id o5J8fnIB061740 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO) ; Sat, 19 Jun 2010 10:41:50 +0200 (CEST) (envelope-from pierre.muller@ics-cnrs.unistra.fr) From: "Pierre Muller" To: , References: <20100517171128.29087.qmail@sourceware.org> In-Reply-To: <20100517171128.29087.qmail@sourceware.org> Subject: [Cygwin problem]:with banned variables Date: Sat, 19 Jun 2010 08:42:00 -0000 Message-ID: <001201cb0f8b$472f8b00$d58ea100$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-06/txt/msg00426.txt.bz2 Following this patch,=20 I can't run the testsuite for Cygwin anymore :( See this: $ make check RUNTESTFLAGS=3D"gdb.base/a*.exp" Nothing to be done for all... rootme=3D`pwd`; export rootme; srcdir=3D../../../src/gdb/testsuite ; export srcdir ; EXPECT=3D`if [ -f ${rootme}/../../expect/expect ] ; then echo ${rootme}/../../exp ect/expect ; else echo expect ; fi` ; export EXPECT ; EXEEXT=3D.exe ; export EXEEX T ; LD_LIBRARY_PATH=3D$rootme/../../expect:$rootme/../../libstdc++:$rootme/../.= ./t k/unix:$rootme/../../tcl/unix:$rootme/../../bfd:$rootme/../../opcodes:$LD_LI BRAR Y_PATH; export LD_LIBRARY_PATH; if [ -f ${rootme}/../../expect/expect ] ; then T CL_LIBRARY=3D${srcdir}/../../tcl/library ; export TCL_LIBRARY ; fi ; ` if [= -f ${s rcdir}/../../dejagnu/runtest ]; then echo ${srcdir}/../../dejagnu/runtest; else if [ "i686-pc-cygwin" =3D "i686-pc-cygwin" ]; then echo runtest; else t=3D's,y,y,'; echo runtest | sed -e $t; fi; fi` gdb.base/a*.exp WARNING: Couldn't find the global config file. Test Run By Pierre on Sat Jun 19 06:46:45 2010 Native configuration is i686-pc-cygwin =3D=3D=3D gdb tests =3D=3D=3D Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for targe t. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using ../../../src/gdb/testsuite/config/unix.exp as tool-and-target-specific int erface file. Running ../../../src/gdb/testsuite/gdb.base/a2-run.exp ... FAIL: gdb.base/a2-run.exp: run "a2-run" with shell (the program exited) Running ../../../src/gdb/testsuite/gdb.base/advance.exp ... can't set "prms_id": prms_id while executing "set prms_id 0" (procedure "runtest" line 10) invoked from within "runtest $test_name" ("foreach" body line 24) invoked from within "foreach test_name $testlist { if { ${ignoretests} !=3D "" } { It appears that pmrs_id and bug_id are reset to 0 inside /usr/share/dejagnu/runtest.exp in proc runtest I know that Cygwin uses an outdated expect, but I don't understand why this error only shows up for Cygwin. The lastest=20 If I modify lib/gdb.exp Index: lib/gdb.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v retrieving revision 1.150 diff -r1.150 gdb.exp 100a101,106 > # The variable transform_gdb_expect_code can be set to the name of > # a procedure that will transform the code parameter of gdb_expect call > # in order to cope for some target dependant problems > # it can also be reset to an empty string to disable that operation > global transform_gdb_expect_code > 2180a2187,2194 > global transform_gdb_expect_code; > if [info exists transform_gdb_expect_code] { > if { "[info procs $transform_gdb_expect_code]" !=3D "" } { > set expcode [$transform_gdb_expect_code $expcode]; > } elseif { "$transform_gdb_expect_code" !=3D "" } { > perror "Procedure $transform_gdb_expect_code unknown" > } > } 2522a2537,2541 > proc trace_write { varname args } { > upvar #0 $varname var > puts "Error: trying to write $varname to \"$var\"" > } > 2535c2554 < trace variable "$banned_var" w error --- > trace variable "$banned_var" w "trace_write $banned_var" Then I also see, on x86_64 linux machine: muller@gcc16:~/gdb/build-norm/gdb/testsuite$ make check RUNTESTFLAGS=3D"gdb.base/ a*.exp" Nothing to be done for all... rootme=3D`pwd`; export rootme; srcdir=3D../../../src/gdb/testsuite ; export srcdir ; EXPECT=3D`if [ -f ${rootme}/../../expect/expect ] ; then echo ${rootme}/../../exp ect/expect ; else echo expect ; fi` ; export EXPECT ; EXEEXT=3D ; export EXEEXT ; LD_LIBRARY_PATH=3D$rootme/../../expect:$rootme/../../libstdc++:$rootme/../.= ./t k/un ix:$rootme/../../tcl/unix:$rootme/../../bfd:$rootme/../../opcodes:$LD_LIBRAR Y_PA TH; export LD_LIBRARY_PATH; if [ -f ${rootme}/../../expect/expect ] ; then TCL_L IBRARY=3D${srcdir}/../../tcl/library ; export TCL_LIBRARY ; fi ; ` if [ -f ${srcdi r}/../../dejagnu/runtest ]; then echo ${srcdir}/../../dejagnu/runtest; else if [ "x86_64-unknown-linux-gnu" =3D "x86_64-unknown-linux-gnu" ]; then echo runtest; e lse t=3D's,y,y,'; echo runtest | sed -e $t; fi; fi` gdb.base/a*.exp Test Run By muller on Sat Jun 19 09:48:09 2010 Native configuration is x86_64-unknown-linux-gnu =3D=3D=3D gdb tests =3D=3D=3D Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for targe t. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using ../../../src/gdb/testsuite/config/unix.exp as tool-and-target-specific int erface file. Running ../../../src/gdb/testsuite/gdb.base/auxv.exp ... WARNING: can't generate a core file - core tests suppressed - check ulimit -c FAIL: gdb.base/auxv.exp: generate native core dump Running ../../../src/gdb/testsuite/gdb.base/args.exp ... Error: trying to write prms_id to "0" Error: trying to write bug_id to "0" Running ../../../src/gdb/testsuite/gdb.base/assign.exp ... Error: trying to write prms_id to "0" Error: trying to write prms_id to "0" Error: trying to write bug_id to "0" Error: trying to write bug_id to "0" Running ../../../src/gdb/testsuite/gdb.base/all-bin.exp ... So it seems that the difference is in the "error" internal command... Pierre =20=20 > -----Message d'origine----- > De=A0: gdb-cvs-owner@sourceware.org [mailto:gdb-cvs-owner@sourceware.org] > De la part de brobecke@sourceware.org > Envoy=E9=A0: Monday, May 17, 2010 7:11 PM > =C0=A0: gdb-cvs@sourceware.org > Objet=A0: src/gdb/testsuite ChangeLog lib/gdb.exp >=20 > CVSROOT: /cvs/src > Module name: src > Changes by: brobecke@sourceware.org 2010-05-17 17:11:28 >=20 > Modified files: > gdb/testsuite : ChangeLog > gdb/testsuite/lib: gdb.exp >=20 > Log message: > testsuite: Prevent writes to prms_id and bug_id. >=20 > gdb/testsuite/ChangeLog: >=20 > * lib/gdb.exp (banned_variables): New variable/constant. > (gdb_init): Add write trace on variables listed in > banned_variables. > (gdb_finish): Remove write traces on variables listed in > banned_variables. >=20 > Patches: > http://sourceware.org/cgi- > bin/cvsweb.cgi/src/gdb/testsuite/ChangeLog.diff?cvsroot=3Dsrc&r1=3D1.2267= &r > 2=3D1.2268 > http://sourceware.org/cgi- > bin/cvsweb.cgi/src/gdb/testsuite/lib/gdb.exp.diff?cvsroot=3Dsrc&r1=3D1.14= 6& > r2=3D1.147