This is the mail archive of the gcc-patches@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: Fix simulator needs_status_wrapper/testglue usage without dejagnu-1.4.4 patches


> On Wed, 6 Oct 2004, Richard Earnshaw wrote:
> > This patch:
> >
> > libstdc++-v3:
> > 	* testsuite/lib/libstdc++.exp: Use gcc wrapper.exp and call
> > 	libstdc++_maybe_build_wrapper instead of using local code.
> >
> > gcc/testsuite:
> > 	* lib/gcc-defs.exp: Load wrapper.exp.
> > 	* lib/g++.exp (g++_init): Call g++_maybe_build_wrapper instead of
> > 	using local code.
> > 	* lib/gcc.exp (gcc_init): Similar.
> > 	* lib/gfortran.exp (gfortran_init): Similar.
> > 	* lib/objc.exp (objc_init): Similar.
> > 	* lib/treelang.exp (treelang_init): Similar.
> > 	* lib/wrapper.exp: New file with build_wrapper call machinery in
> > 	${tool}_maybe_build_wrapper.
> >
> > Well, specifically the libstdc++ bit is causing all Thumb multilib
> > variants of arm-elf to fail.
> 
> Things worked with exactly only this patch reversed, no other
> changes to the system?

Yep.
> 
> >  The problem is that the testglue file isn't
> > being rebuilt with the correct options for the multilib under test.  For
> > some reason this only happens with libstdc++ and not with gcc or g++
> > tests, but the failure mode is that all tests spin until they time out and
> > it's making testing impossible for me.
> 
> Sorry, browsing the patch, I don't see how your analysis could
> be correct: you lost me.  Compare the old libstdc++.exp wrapper
> with what's in the new wrapper.exp.  Neither does the kind of
> target-specific option business that could cause this mismatch:
> they're equal except that wrapper.exp saves options, adds -w and
> restores options around the wrapper call.  Are you sure it's not
> something unrelated to this patch; broken before as well?

The difference was that the previous code for libstdc++-v3 unconditionally 
rebuilt the testglue file, the new code only rebuilds it if it doesn't 
currently exist.

Anyway, I think I've found the problem, libstdc++.exp was missing a 
libstdc++_exit proc, so the testglue file wasn't being cleaned up (in gcc 
this is provided in gcc-defs.exp, but that's not used outside of the gcc 
subtree).  I'm currently testing a patch that adds such a function.  I'll 
let you know how it goes.

R.




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