Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Jun 9 14:54, Max Kaehn wrote: On Thu, 2005-06-09 at 01:53, Corinna Vinschen wrote: On Jun 8 11:44, Max Kaehn wrote: I wound up using eval, and was thoroughly perplexed at the way that the first eval seems to get thrown away. -v, please. tcsh sh $ eval date Thu Jun 9 10:52:23 WEDT 2005 $ Corinna (I wasn't sure if you meant -v for version numbers or verbose output; I hope what you wanted is somewhere in there.) I meant please, be more verbose with information. fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak results_foo=0 results_bar=1 results_baz=2 results_foo = results_bar = 1 results_baz = 2 results_foo = [: 0: unknown operand results_bar = 1 make: *** [all] Error 1 I can reproduce it without having make involved. It looks like a ash bug. Oh boy, I didn't look into ash for ages. I'm somewhat in real life work, but I'll lok into it at one point. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader mailto:cygwin@cygwin.com Red Hat, Inc.
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Fri, 10 Jun 2005, Corinna Vinschen wrote: On Jun 9 14:54, Max Kaehn wrote: On Thu, 2005-06-09 at 01:53, Corinna Vinschen wrote: On Jun 8 11:44, Max Kaehn wrote: I wound up using eval, and was thoroughly perplexed at the way that the first eval seems to get thrown away. -v, please. tcsh sh $ eval date Thu Jun 9 10:52:23 WEDT 2005 $ Corinna (I wasn't sure if you meant -v for version numbers or verbose output; I hope what you wanted is somewhere in there.) I meant please, be more verbose with information. fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak results_foo=0 results_bar=1 results_baz=2 results_foo = results_bar = 1 results_baz = 2 results_foo = [: 0: unknown operand results_bar = 1 make: *** [all] Error 1 I can reproduce it without having make involved. It looks like a ash bug. Oh boy, I didn't look into ash for ages. I'm somewhat in real life work, but I'll lok into it at one point. Is this related to CGF's query on cygwin@ about replacing sh=ash with sh=bash? If not, it should be. Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_[EMAIL PROTECTED] ZZZzz /,`.-'`'-. ;-;;,_[EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! The Sun will pass between the Earth and the Moon tonight for a total Lunar eclipse... -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Jun 8 11:44, Max Kaehn wrote: I wound up using eval, and was thoroughly perplexed at the way that the first eval seems to get thrown away. -v, please. tcsh sh $ eval date Thu Jun 9 10:52:23 WEDT 2005 $ Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader mailto:cygwin@cygwin.com Red Hat, Inc.
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Thu, 2005-06-09 at 01:53, Corinna Vinschen wrote: On Jun 8 11:44, Max Kaehn wrote: I wound up using eval, and was thoroughly perplexed at the way that the first eval seems to get thrown away. -v, please. tcsh sh $ eval date Thu Jun 9 10:52:23 WEDT 2005 $ Corinna make -v gives GNU Make 3.80. sh -v doesn't seem to do anything-- the ash man page doesn't mention a verbose or debugging mode. cygcheck -f /bin/sh reports ash-20040127-1. cygcheck -f /bin/make reports ash-20040127-1. make --debug doesn't tell anything interesting. I'm using cygwin1.dll from the cygwin1-20050609.dll.bz2 snapshot. (I wasn't sure if you meant -v for version numbers or verbose output; I hope what you wanted is somewhere in there.) I've tried testing this with a pure shell script and I can't reproduce the problem there. If the cause lies with GNU make, it's pretty subtle, since the Electric Cloud make program gets the same results. I'm badly out of practice with the classic Bourne shell, and I haven't worked with ash before, so I may be missing something basic. Using this makefile: --- TESTS = foo bar baz all: @i=0; \ eval ; \ for tool in $(TESTS); do \ echo results_$${tool}=$$i; \ eval results_$${tool}=$$i; \ i=`expr $$i + 1`; \ done; \ echo results_foo = $$results_foo; \ echo results_bar = $$results_bar; \ echo results_baz = $$results_baz; \ for tool in $(TESTS); do \ eval result=\$$results_$$tool; \ echo results_$$tool = $$result;\ if [ $${result} -ne 0 ] ; then \ exit $$result; \ fi; \ done; --- with the 'eval ' line present I get: fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak results_foo=0 results_bar=1 results_baz=2 results_foo = 0 results_bar = 1 results_baz = 2 results_foo = 0 results_bar = 1 make: *** [all] Error 1 Delete the line with 'eval ' and: fulgurite-xpdbg% make -f /u/cygwin/src/winsup/testsuite/iterate.mak results_foo=0 results_bar=1 results_baz=2 results_foo = results_bar = 1 results_baz = 2 results_foo = [: 0: unknown operand results_bar = 1 make: *** [all] Error 1 This shell script, on the other hand, works just fine: --- i=0; \ for tool in foo bar baz; do \ echo results_${tool}=$i; \ eval results_${tool}=$i; \ i=`expr $i + 1`; \ done; \ echo results_foo = $results_foo; \ echo results_bar = $results_bar; \ echo results_baz = $results_baz; \ for tool in foo bar baz; do \ eval result=\$results_$tool; \ echo results_$tool = $result; \ if [ ${result} -ne 0 ] ; then \ exit $result; \ fi; \ done; ---
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Mon, 2005-06-06 at 16:51, Christopher Faylor wrote: Actually neither is right. The tests are supposed to run to completion, not stop on a failure. My first cut was this, but it could have led to a tedious accumulation of if/then/else/if/then/else: Index: winsup/testsuite/Makefile.in === RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v retrieving revision 1.20 diff -u -p -r1.20 Makefile.in --- winsup/testsuite/Makefile.in6 Jun 2005 21:13:31 - 1.20 +++ winsup/testsuite/Makefile.in7 Jun 2005 01:28:25 - @@ -186,8 +186,11 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \ export TCL_LIBRARY ; fi ; \ PATH=$(bupdir)/cygwin:$${PATH} ;\ - $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\ - $(RUNTEST) --tool cygload $(RUNTESTFLAGS) + $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ; WINSUPSTATUS=$$?;\ + $(RUNTEST) --tool cygload $(RUNTESTFLAGS) ; CYGLOADSTATUS=$$?;\ + if [ $$WINSUPSTATUS -ne 0 ] ; then \ + exit $$WINSUPSTATUS; \ + else exit $$CYGLOADSTATUS; fi; cygrun.o: cygrun.c $(CC) $(MINGW_CFLAGS) -o $@ -c $ So I wrote a more general script, discovered that cygwin uses ash instead of bash for /bin/sh, and rewrote the more general script so ash could handle it. Since ash doesn't seem to support arrays, I wound up using eval, and was thoroughly perplexed at the way that the first eval seems to get thrown away. Index: winsup/testsuite/Makefile.in === RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v retrieving revision 1.20 diff -u -p -r1.20 Makefile.in --- winsup/testsuite/Makefile.in6 Jun 2005 21:13:31 - 1.20 +++ winsup/testsuite/Makefile.in8 Jun 2005 18:39:42 - @@ -179,6 +179,8 @@ testsuite/site.exp: site.exp # Note: we set the PATH so that we can pick up cygwin0.dll +TOOLS = winsup cygload + check: $(TESTSUP_LIB_NAME) $(RUNTIME) cygrun.exe testsuite/site.exp cd testsuite; \ EXPECT=${EXPECT} ; export EXPECT ; \ @@ -186,8 +188,18 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \ export TCL_LIBRARY ; fi ; \ PATH=$(bupdir)/cygwin:$${PATH} ;\ - $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\ - $(RUNTEST) --tool cygload $(RUNTESTFLAGS) + eval ; \ + for tool in $(TOOLS); do \ + $(RUNTEST) --tool $$tool $(RUNTESTFLAGS); \ + eval results_$$tool=$$?; \ + done; \ + for tool in $(TOOLS) ; do \ + eval result=\$$results_$$tool; \ + if [ $${result:-0} -ne 0 ] ; then \ + echo $$tool failed: $$result; \ + exit $$result; \ + fi; \ + done; cygrun.o: cygrun.c $(CC) $(MINGW_CFLAGS) -o $@ -c $
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Mon, Jun 06, 2005 at 05:56:48PM -0700, Max Kaehn wrote: On Mon, 2005-06-06 at 14:33, Christopher Faylor wrote: So, I checked in the above and, after changing cygload.exp so that it compiles cygload.cc rather than cygload.cpp, I found a more serious error. I've attached the cygload.log file. It doesn't look pretty, unfortunately. You might notice the same thing if you configure your Cygwin DLL with --enable-debugging, like I do. I'm having trouble replicating the problem. Here's what I did: cd src/build rm -rf etc i686-pc-cygwin libiberty ../configure --enable-debugging=yes make cd i686-pc-cygwin/winsup make check cd testsuite runtest --tool cygload The first time I ran runtest --tool cygload, I got an error about mismatched heap addresses, so I copied new-cygwin1.dll to /bin/cygwin1.dll and reran the test. That time, it passed. What am I doing wrong? I've attached the output of runtest --tool cygload -v. (The mingw-cygwin.log referenced in there is empty.) I notice that I'm getting warnings about couldn't find the global config file and couldn't find tool init file, so there may be something wrong with my test setup. Hmm. Maybe it was cockpit error on my part. I can't duplicate the problem today. That's odd. cgf
RE: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
Original Message From: Christopher Faylor Sent: 07 June 2005 00:52 On Mon, Jun 06, 2005 at 04:11:32PM -0700, Max Kaehn wrote: On Mon, 2005-06-06 at 16:07, Igor Pechtchanski wrote: I take it you meant - $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\ + $(RUNTEST) --tool winsup $(RUNTESTFLAGS) \ Oh, right, this is the world of shell scripts, not C. Thanks for catching that. Actually neither is right. The tests are supposed to run to completion, not stop on a failure. cgf I'm of the opinion that cygload should be a subdirectory of winsup/testsuite/winsup.api, since it's a functionality of the winsup api that's being tested here, not an entire new tool. cheers, DaveK -- Can't think of a witty .sigline today
[Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
This patch contains a revised version of the cygload test utility, this time with even better adherence to cygwin naming and indentation. Igor, thanks for pointing me at indent-- it also pointed out that I was forgetting to put spaces in front of the parameter lists for my function calls. I'm using diff -upN against an empty directory winsup/testsuite/cyglode; I hope that's OK. --- ChangeLog for winsup/testsuite: 2005-05-27 Max Kaehn [EMAIL PROTECTED] * Makefile.in: now tests cygload. * cygload: New directory. * cygload/README: New file. * cygload/Makefile: Ditto. * cygload/cygload.h: Ditto. * cygload/cygload.cc: Ditto. * cygload/cygload.exp: Ditto. --- Index: winsup/testsuite/Makefile.in === RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v retrieving revision 1.19 diff -u -p -r1.19 Makefile.in --- winsup/testsuite/Makefile.in6 Jul 2003 21:45:21 - 1.19 +++ winsup/testsuite/Makefile.in6 Jun 2005 20:49:21 - @@ -186,7 +186,8 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \ export TCL_LIBRARY ; fi ; \ PATH=$(bupdir)/cygwin:$${PATH} ;\ - $(RUNTEST) --tool winsup $(RUNTESTFLAGS) + $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\ + $(RUNTEST) --tool cygload $(RUNTESTFLAGS) cygrun.o: cygrun.c $(CC) $(MINGW_CFLAGS) -o $@ -c $ diff -upN winsup/testsuite/cyglode/Makefile winsup/testsuite/cygload/Makefile --- winsup/testsuite/cyglode/Makefile 1969-12-31 16:00:00.0 -0800 +++ winsup/testsuite/cygload/Makefile 2005-06-06 13:18:01.0 -0700 @@ -0,0 +1,36 @@ +# Makefile for cygload + +### +### MinGW options +### +CC = gcc +CFLAGS = -mno-cygwin -Wall +LINKFLAGS = -lstdc++ -Wl,-e,[EMAIL PROTECTED] + +### +### MSVC options +### +ifndef MSVCDir +MSVCDir = C:/cygwin/usr/local/tools/i686_win32/vc7/Vc7 +endif + +CL = $(MSVCDir)/bin/cl +# If you want to look at the assembly, add /Famsvc-cygload.asm /FAs. +MSVCCFLAGS = /nologo /GX /MDd /Zi /W4 /TP +MSVCINCLUDES = /I $(MSVCDir)/include /I $(MSVCDir)/PlatformSDK/Include +# Using /ENTRY seems to automatically invoke /NODEFAULTLIBS. +MSVCLIBS = /link /LIBPATH:$(MSVCDir)/lib /LIBPATH:$(MSVCDir)/PlatformSDK/lib \ + /ENTRY:cygloadCRTStartup uuid.lib msvcprtd.lib msvcrtd.lib \ + oldnames.lib kernel32.lib + +all: mingw-cygload.exe + +mingw-cygload.exe: cygload.cc cygload.h + $(CC) $(CFLAGS) $ -o $@ $(LINKFLAGS) + +msvc-cygload.exe: cygload.cc cygload.h + $(CL) $(MSVCCFLAGS) $(MSVCINCLUDES) $ /o $@ $(MSVCLIBS) + +clean: + rm -f msvc-cygload.exe msvc-cygload.ilk cygload.obj \ + msvc-cygload.pdb vc70.pdb mingw-cygload.exe diff -upN winsup/testsuite/cyglode/README winsup/testsuite/cygload/README --- winsup/testsuite/cyglode/README 1969-12-31 16:00:00.0 -0800 +++ winsup/testsuite/cygload/README 2005-05-27 14:31:06.0 -0700 @@ -0,0 +1,18 @@ +cygload demonstrates how to dynamically load cygwin1.dll. The default +build uses MinGW to compile it; the Makefile also shows how to build +it using the Microsoft compiler. + +By default, the program will silently test basic functionality: +* Making space on the stack for cygtls +* Loading and initializing cygwin1.dll +* Path translation +* Error handling +* Signal handling + +Command line parameters are: + +-v Verbose output +-testinterruptsPause for 30 seconds to allow testing command line + interrupts (^C) +-cygwin xxxSpecifies an alternative DLL to load instead of + cygwin1.dll. diff -upN winsup/testsuite/cyglode/cygload.cc winsup/testsuite/cygload/cygload.cc --- winsup/testsuite/cyglode/cygload.cc 1969-12-31 16:00:00.0 -0800 +++ winsup/testsuite/cygload/cygload.cc 2005-06-06 13:54:31.0 -0700 @@ -0,0 +1,618 @@ +// cygload.cpp +// +// Copyright 2005, Red Hat, Inc. +// +// Written by Max Kaehn [EMAIL PROTECTED] +// +// This software is a copyrighted work licensed under the terms of the +// Cygwin license. Please consult the file CYGWIN_LICENSE for details. +// +// Note that dynamically linking to cygwin1.dll automatically places your code +// under the GPL unless you purchase a Cygwin Contract with Red Hat, Inc. +// See http://www.redhat.com/software/cygwin/ for more information. + + +// Options for this program: +// -v Verbose output. Normal operation is entirely silent, +// save for errors. +// -testinterrupts Pauses the program for 30 seconds so you can demonstrate +// that it handles ^C properly. +// -cygwin Name of DLL to load. Defaults to cygwin1.dll. + +#include cygload.h +#include iostream +#include sstream +#include vector +#include errno.h // for ENOENT +#include
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Mon, Jun 06, 2005 at 02:01:44PM -0700, Max Kaehn wrote: This patch contains a revised version of the cygload test utility, this time with even better adherence to cygwin naming and indentation. Igor, thanks for pointing me at indent-- it also pointed out that I was forgetting to put spaces in front of the parameter lists for my function calls. I'm using diff -upN against an empty directory winsup/testsuite/cyglode; I hope that's OK. --- ChangeLog for winsup/testsuite: 2005-05-27 Max Kaehn [EMAIL PROTECTED] * Makefile.in: now tests cygload. * cygload: New directory. * cygload/README: New file. * cygload/Makefile: Ditto. * cygload/cygload.h: Ditto. * cygload/cygload.cc: Ditto. * cygload/cygload.exp: Ditto. There were still some braces at the end of the line in cygload.h so I changed those. I also changed the ChangeLog entry now tests cygload to Test cygload. See http://cygwin.com/contrib.html for some common mistakes in ChangeLog entries. So, I checked in the above and, after changing cygload.exp so that it compiles cygload.cc rather than cygload.cpp, I found a more serious error. I've attached the cygload.log file. It doesn't look pretty, unfortunately. You might notice the same thing if you configure your Cygwin DLL with --enable-debugging, like I do. Another problem is that since you have separated out the Makefile into two separate invocations of $(RUNTEST) the error return from the Makefile will not be set correctly. To preserve previous operation, the makefile should do all of the tests and then return with a status of zero if things completed correctly or nonzero otherwise. cgf Opening log files in . Test Run By cgf on Mon Jun 6 17:27:17 2005 Native configuration is i686-pc-cygwin === cygload tests === setting trap for SIGTERM to terminated setting trap for SIGINT to interrupted by user setting trap for SIGQUIT to interrupted by user setting trap for SIGSEGV to segmentation violation dirlist is /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards pushing config for build, name is norton dirlist is /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards pushing config for host, name is norton Schedule of variations: unix target is unix Running target unix dirlist is /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards/norton /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards Using /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/baseboards/unix.exp as board description file for target. Using /cygnus/src/uberbaum/winsup/testsuite/../../dejagnu/config/unix.exp as generic interface file for target. Using /cygnus/src/uberbaum/winsup/testsuite/config/default.exp as tool-and-target-specific interface file. pushing config for target, name is unix Running /cygnus/src/uberbaum/winsup/testsuite/cygload/cygload.exp ... running gcc -mno-cygwin /cygnus/src/uberbaum/winsup/testsuite/cygload/cygload.cc -o mingw-cygload.exe -lstdc++ -Wl,-e,[EMAIL PROTECTED] running ./mingw-cygload.exe -cygwin j:/build/i686-pc-cygwin/winsup/cygwin/cygwin0.dll ./mingw-cygwin.log cygload: 1 { 3 [main] ? 1992 add_handle: void memory_init():257 - multiple attempts to add handle cygheap-shared_h0x774 79191 [main] ? 1992 add_handle: previously allocated by gned int shared_info::heap_chunk_size():257(_chunk_size()0x774) winpid 2600 86782 [main] ? 1992 add_handle: void user_shared_initialize(bool):185 - multiple attempts to add handle cygwin_user_h0x768 95160 [main] ? 1992 add_handle: previously allocated by :185(¸¨qaº0x768) winpid 2600 112620 [main] ? 1992 add_handle: void mtinfo_init():1176 - multiple attempts to add handle cygheap-mt_h0x76C 128555 [main] ? 1992 add_handle: previously allocated by aìº:1176(D$¸ÕaÇ$ïaè¼ùúÿ¡ ÿaì$èÌýÿÿÄ,Ãfhandler_dev_tape::fhandler_dev_tape()0x76C) winpid 2600} FAIL: cygload (execute) testcase /cygnus/src/uberbaum/winsup/testsuite/cygload/cygload.exp completed in 6 seconds === cygload Summary === # of unexpected failures1 runtest completed at Mon Jun 6 17:27:23 2005
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Mon, 6 Jun 2005, Max Kaehn wrote: On Mon, 2005-06-06 at 14:33, Christopher Faylor wrote: There were still some braces at the end of the line in cygload.h so I changed those. I also changed the ChangeLog entry now tests cygload to Test cygload. See http://cygwin.com/contrib.html for some common mistakes in ChangeLog entries. Got it. (Still wrapping my brain around using the present tense. :-) ) So, I checked in the above and, after changing cygload.exp so that it compiles cygload.cc rather than cygload.cpp, I found a more serious error. I've attached the cygload.log file. It doesn't look pretty, unfortunately. You might notice the same thing if you configure your Cygwin DLL with --enable-debugging, like I do. Aha! I'll rebuild and investigate. Thanks. Another problem is that since you have separated out the Makefile into two separate invocations of $(RUNTEST) the error return from the Makefile will not be set correctly. To preserve previous operation, the makefile should do all of the tests and then return with a status of zero if things completed correctly or nonzero otherwise. My goof. Like this? Index: winsup/testsuite/Makefile.in === RCS file: /cvs/src/src/winsup/testsuite/Makefile.in,v retrieving revision 1.20 diff -u -p -r1.20 Makefile.in --- winsup/testsuite/Makefile.in6 Jun 2005 21:13:31 - 1.20 +++ winsup/testsuite/Makefile.in6 Jun 2005 22:49:40 - @@ -186,7 +186,7 @@ check: $(TESTSUP_LIB_NAME) $(RUNTIME) cy TCL_LIBRARY=`cd .. ; cd ${srcdir}/../../tcl/library ; pwd` ; \ export TCL_LIBRARY ; fi ; \ PATH=$(bupdir)/cygwin:$${PATH} ;\ - $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\ + $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ||\ $(RUNTEST) --tool cygload $(RUNTESTFLAGS) I take it you meant - $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\ + $(RUNTEST) --tool winsup $(RUNTESTFLAGS) \ Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_[EMAIL PROTECTED] ZZZzz /,`.-'`'-. ;-;;,_[EMAIL PROTECTED] |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! The Sun will pass between the Earth and the Moon tonight for a total Lunar eclipse... -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Mon, 2005-06-06 at 16:07, Igor Pechtchanski wrote: I take it you meant - $(RUNTEST) --tool winsup $(RUNTESTFLAGS) ;\ + $(RUNTEST) --tool winsup $(RUNTESTFLAGS) \ Oh, right, this is the world of shell scripts, not C. Thanks for catching that.
Re: [Patch] Testing loads of cygwin1.dll from MinGW and MSVC, take 3
On Mon, 2005-06-06 at 14:33, Christopher Faylor wrote: So, I checked in the above and, after changing cygload.exp so that it compiles cygload.cc rather than cygload.cpp, I found a more serious error. I've attached the cygload.log file. It doesn't look pretty, unfortunately. You might notice the same thing if you configure your Cygwin DLL with --enable-debugging, like I do. I'm having trouble replicating the problem. Here's what I did: cd src/build rm -rf etc i686-pc-cygwin libiberty ../configure --enable-debugging=yes make cd i686-pc-cygwin/winsup make check cd testsuite runtest --tool cygload The first time I ran runtest --tool cygload, I got an error about mismatched heap addresses, so I copied new-cygwin1.dll to /bin/cygwin1.dll and reran the test. That time, it passed. What am I doing wrong? I've attached the output of runtest --tool cygload -v. (The mingw-cygwin.log referenced in there is empty.) I notice that I'm getting warnings about couldn't find the global config file and couldn't find tool init file, so there may be something wrong with my test setup. Expect binary is /bin/expect Using /usr/share/dejagnu/runtest.exp as main test driver Verbose level is 1 Login name is slothman Found ~/.dejagnurc .dejagnurc Found /u/cygwin/src/build/i686-pc-cygwin/winsup/testsuite/site.exp Using test sources in /u/cygwin/src/winsup/testsuite Using test binaries in /u/cygwin/src/build/i686-pc-cygwin/winsup/testsuite Tool root directory is /u/cygwin/src/build/i686-pc-cygwin Using /usr/share/dejagnu to find libraries Found /usr/share/dejagnu/libexec/config.guess Assuming build host is i686-pc-cygwin WARNING: Couldn't find the global config file. Loading /usr/share/dejagnu/utils.exp Loading /usr/share/dejagnu/framework.exp Loading /usr/share/dejagnu/debugger.exp Loading /usr/share/dejagnu/remote.exp Loading /usr/share/dejagnu/mondfe.exp Loading /usr/share/dejagnu/xsh.exp Loading /usr/share/dejagnu/telnet.exp Loading /usr/share/dejagnu/rlogin.exp Loading /usr/share/dejagnu/kermit.exp Loading /usr/share/dejagnu/tip.exp Loading /usr/share/dejagnu/rsh.exp Loading /usr/share/dejagnu/ftp.exp Loading /usr/share/dejagnu/target.exp Loading /usr/share/dejagnu/targetdb.exp Loading /usr/share/dejagnu/libgloss.exp WARNING: Couldn't find tool init file Testing cygload Opening log files in . Test Run By slothman on Mon Jun 6 17:52:09 2005 Native configuration is i686-pc-cygwin === cygload tests === setting trap for SIGTERM to terminated setting trap for SIGINT to interrupted by user setting trap for SIGQUIT to interrupted by user setting trap for SIGSEGV to segmentation violation dirlist is /usr/share/dejagnu/baseboards pushing config for build, name is levinbolt-xp dirlist is /usr/share/dejagnu/baseboards pushing config for host, name is levinbolt-xp Schedule of variations: unix target is unix Running target unix dirlist is /usr/share/dejagnu/baseboards/levinbolt-xp /usr/share/dejagnu/baseboards Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using /u/cygwin/src/winsup/testsuite/config/default.exp as tool-and-target-specific interface file. pushing config for target, name is unix Running /u/cygwin/src/winsup/testsuite/cygload/cygload.exp ... running gcc -mno-cygwin /u/cygwin/src/winsup/testsuite/cygload/cygload.cc -o mingw-cygload.exe -lstdc++ -Wl,-e,[EMAIL PROTECTED] running ./mingw-cygload.exe -cygwin u:/cygwin/src/build/i686-pc-cygwin/winsup/cygwin/cygwin0.dll ./mingw-cygwin.log === cygload Summary === # of expected passes1 runtest completed at Mon Jun 6 17:52:14 2005