This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [RFC] Do we care about binary compatibility of code produced by cross-compilers?
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: Paolo Carlini <paolo dot carlini at oracle dot com>
- Cc: Mark Mitchell <mark at codesourcery dot com>, Ian Lance Taylor <iant at google dot com>, libstdc++ <libstdc++ at gcc dot gnu dot org>
- Date: Tue, 02 Sep 2008 12:07:21 +0200
- Subject: Re: [RFC] Do we care about binary compatibility of code produced by cross-compilers?
- References: <48A05898.9000705@oracle.com> <m37iane6sw.fsf@google.com> <48B160E6.3040908@oracle.com> <m3prnyksyx.fsf@google.com> <48B1DA23.2060404@oracle.com> <m3hc99lgsx.fsf@google.com> <48B2855E.5090907@oracle.com> <m38wulkkuh.fsf@google.com> <48B2FCDC.7080101@oracle.com> <48B30F10.70100@oracle.com> <48B31507.7040007@oracle.com> <m3zln0kdn3.fsf@google.com> <48BBD5F8.2040808@oracle.com> <48BC0DEA.2040908@codesourcery.com> <48BC1122.4080101@oracle.com> <48BCD0F7.8080208@gnu.org> <48BD0A8A.5080102@oracle.com>
> I see your point, in particular for checks using the C++ compiler, we
> have many in libstdc++.
>
> Still, in the case of checks like GCC_CHECK_TLS, if you try to abstract
> a bit from the current strcture of the build system, I'm sure you would
> agree with me that running it 4 times, to obtain exactly the same result
> each time, of course, *is* strange. I have no idea how to implement my
> idea of finding a way to run it only once, at the moment, still...
Not really. The idea is that in principle there's nothing that prevents
you from building the packages standalone, without the toplevel. The
toplevel's function is (should be) *purely* to orchestrate the build so
that everything is built with the right environment.
Then of course, some directories are intertwined with gcc so that it
becomes impossible to do so for some modules; these dependencies are of
two kinds:
1) some host modules expect to find other host modules in the tree. For
example, gcc depends on libiberty, libcpp and build-side fixincludes.
This is not a big deal.
2) some target modules (libada, libgcc, libobjc) used to live in the gcc
directory and they retrieve information from the gcc directory via the
libgcc.mvars file or other means. This should be considered a bug and
an incomplete transition.
> ... actually, if all the checks presently doing link-tests consistently
> get a parameter allowing to disable the test completely and also to set
> its value, I'm thinking with proper documentation nobody could be
> *really* unhappy with the change... Do you agree?
The cache file is a way to set the value of a test.
Paolo