This is the mail archive of the
mailing list for the GCC project.
Re: Testsuite breakages on Cygwin
- From: Daniel Santos <daniel dot santos at pobox dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: gcc <gcc at gcc dot gnu dot org>, Mike Stump <mikestump at comcast dot net>, Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>, Kai Tietz <ktietz at redhat dot com>, Dave Korn <dave dot korn dot cygwin at gmail dot com>, JonY <10walls at gmail dot com>
- Date: Mon, 13 Mar 2017 10:01:52 -0500
- Subject: Re: Testsuite breakages on Cygwin
- Authentication-results: sourceware.org; auth=none
- References: <firstname.lastname@example.org> <alpine.DEB.email@example.com>
On 03/10/2017 11:23 AM, Joseph Myers wrote:
On Fri, 10 Mar 2017, Daniel Santos wrote:
3. Wouldn't it be better to move this logic up into DejaGnu and restrict gcc
to using a black-box interface for modifying the environment?
GCC is meant to work with a wide range of different DejaGnu versions.
There would be a long gap between adding board-file interfaces for
controlling library paths - because that's the right level, interfaces
that a board file can define alongside open, close, load, exec, spawn,
etc. - and being able to assume they are available. Of course you might
try to arrange things so that existing board files not defining such
interfaces continue to work (most custom board files are likely to be for
bare metal where shared libraries don't exist) and so that GCC continues
to work with versions of DejaGnu without such interfaces.
Thanks for the explanation. So maybe the best approach is to migrate
this upstream, but also corral this functionality into a single place in
gcc and use gcc's implementation when the DejaGnu doesn't have the new
Finding shared libraries is generally simpler with installed testing, in
that it becomes the responsibility of the board file, site.exp and the
rest of the user-provided test environment to arrange for shared libraries
to be in locations where they are found automatically.
In my case I have 8 full tests that need to be run, so this would mean
installing and uninstalling 8 times. I have a crude patch set that
seems to be doing the job for now. I guess I'm trying to work out a
reasonable and clean solution for a patch set that I would actually
submit. :) It would be a lot easier if cygwin had an ldconfig
implementation, but almost all shared libs just sit in /bin.