This is the mail archive of the
mailing list for the GCC project.
Re: libgcc move to the top level
Daniel Jacobowitz wrote:
On Wed, Dec 20, 2006 at 08:56:39AM +0100, Paolo Bonzini wrote:
Just to make it clearer, I'm ok with having to convert a directory at a
time (arm, rs6000, i386, ...). So, if your proof-of-concept works only
with one target, but breaks only those targets that share the same cpu
directory, I'm fine with this.
If possible, I would like a proof of concept that it is possible to
migrate the building of the extra parts incrementally without breaking
non-converted targets, before committing (unless another maintainer
OK, I'll do that (later).
I'd rather have it break nothing. So that's what I did. Of course,
the risk of collateral damage here is quite high; our configuration is
a terrible maze today. So, I have not removed any information about
which startfiles to build from the gcc directory yet. If information
is provided by both the gcc and libgcc configury, then they are
compared and there will be loud failure if they differ.
The attached two patches correct some omissions in my previous
config.host file, and move building of EXTRA_PARTS to the libgcc
subdirectory for all GNU/Linux targets. It involves updating
config.host to indicate which parts, and adding the necessary
rules. The rules are similar to the ones in gcc/ with only
minor adjustments (for automatic dependency tracking, using $(CC),
removal of $(T), et cetera). It's easy to do other targets.
Both patches committed to the branch. Look good?
Yes (I am reviewing now the libgcc configury itself, but it looks
promising), but with a few changes:
List of extra object files that should be compiled
for this target machine.
This may be overridden by setting EXTRA_PARTS
in a tmake_file fragment.
Any good reason to allow both two possibilities? What about complaining
loudly if EXTRA_PARTS is set by the tmake_file?
2) No need for the extra-parts variable, which is a bit confusing
because of the confusion with extra_parts. You can instead do this:
3) You have this
+ INSTALL_PARTS = $(EXTRA_PARTS)
+ INSTALL_PARTS = $(GCC_EXTRA_PARTS)
I'd rather merge the setting of INSTALL_PARTS with the setting of
extra-parts above, like this:
INSTALL_PARTS = $(EXTRA_PARTS)
INSTALL_PARTS = $(GCC_EXTRA_PARTS)
3) No blank line here:
+ exit 1
+ # Early copyback; see "all" above for the rationale. The