This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: legitimate parallel make check?



On 9 Mar 2010, at 19:36, Rainer Orth wrote:


IainS <developer@sandoe-acoustics.co.uk> writes:

.. I don't seem to get the bus errors on a 4CPU g5 or a Core 2 duo .. but
.. the 8-core machine is faster .. so ... race conditions are more likely
to manifest there.

But race conditions don't manifest themselves in make SEGVs ;-( I'm
regularly running make -k -j128 on a T5220, or -j32 on a Sun Fire X4450

I'm running memchecks on my 8-core machine ..


Indeed, as well as using a site.exp and pointing the DEJAGNU environment
variable at it, as I've learned from looking at the regression tester
sources in contrib/regression. Here's what I use for that:


global target_list

case "$target_triplet" in {
   { "i?86-*-solaris2.1[0-9]" } {
	# FIXME: Disable multilib testing if the host cannot execute AMD64
	# binaries.  Should be exceedingly rare now (cf. erebus).
	set target_list { "unix{,-m64}" }
   }
   { "mips-sgi-irix6*" } {
	# FIXME: Disable multilib testing if the host cannot execute N64
	# binaries.  We cannot selectively disable only one multilib during
	# the build.
	set target_list { "unix{,-mabi=32,-mabi=64}" }
   }
   { "sparc*-*-solaris2*" } {
	set target_list { "unix{,-m64}" }
   }
   default {
	# Works for alpha*-*-osf*, i?86-*-solaris2.[89] and mips-sgi-irix5*
	# testing.
       set target_list { "unix" }
   }
}

that's really neat indeed - I should have spotted the potential looking at the code in contrib
... although the site.exp is hardwired in btest.sh at present ;
I guess one might be able to use .dejagnurc - just need to check on the order that the files are processed.


FWIW: I'm trying to update contrib/btest.sh script to handle m32 & m64 plus
a few other things ...

No need: works already via DEJAGNU described above.

hmm. I see that the make check would work using that neat method above...
... however,


1/ I want a different language list than the default...
2/ also some other different configure options...

but mainly
3/
... As I read it - btest.sh strips everything but the testname from the PASSES and FAILS files. (the awk lines that print $2 for a match of /FAIL: / etc.)
This means (e.g.) that if a test passes at m32 and fails at m64 I think it will appear in both PASSES and FAILS..
... this seems destined to result in confusion...


I would like to identify regressions separately for m32 and m64 - esp. in obj-c/c++ where there are huge differences on NeXT runtime systems.

if I've missed the blindingly obvious (the day job is taking up most of my mental resources ;-)) please point it out :-)

Iain


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