[Buildroot] Generating external toolchains with Buildroot
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Tue Aug 28 12:12:02 UTC 2012
Le Tue, 28 Aug 2012 09:36:40 +0200,
Arnout Vandecappelle <arnout at mind.be> a écrit :
> > Problem 1: everything is in usr/
> > ================================
> >
> [snip]
> >
> > Question: should we be changing our host directory policy and use
> > --prefix=$(HOST_DIR) instead of --prefix=$(HOST_DIR)/usr ? Or
> > should we keep things as it is and leave with this little drawback ?
>
> Yes! I've always been annoyed with the redundant usr part,
> especially since two or three packages install in $(HOST_DIR)/bin...
Ah, really? Which ones?
> It's a big change but can probably easily be automated with sed.
Well, most of the host packages are probably using the
host-autotools-package infrastructure, so those are easy to change:
only one place. Of course, all the host-generic-package would need
manual intervention.
Peter, what's your feeling about this?
> > For the toolchains that I've put online at
> > http://autobuild.buildroot.org/toolchains/tarballs/, I've solved
> > this problem by modifying Buildroot so that it builds mpfr, gmp and
> > mpc as static libraries, so that the gcc binaries do not depend to
> > any shared libraries besides the C library. And this seems to work
> > fine, though it is not a completely satisfying solution.
>
> I'm not sure if linking mpfr, gmp and mpc statically is so bad...
No, it's not so bad. It's just that from a "beauty" point of view, I
would have preferred to be able to link dynamically against them. Just
because we _should_ be able to do it :-)
> How much larger do the binaries become with static linking? If it's
> not much larger, the startup of cc1 may actually become faster with
> static linking!
>
> Quick comparison: buildroot-built cc1 for gcc-4.5.3 is 11M;
> statically-linked cc1 from Sourcery's gcc-4.5.2 is 12M.
Yes, the impact is not that significant, you're right.
> I think crosstool-NG links statically as well. Yann?
Yes, crosstool-NG links statically.
> > Any ideas on this one? Should we add both -Wl,-rpath,$ORIGIN/../lib
> > and -Wl,-rpath,$ORIGIN/../../../../lib when building gcc to solve
> > this problem? Another solution?
>
> Not very nice. Perhaps a specific rpath for linking cc1 and
> friends?
That means diving into the internal gcc build process. You, crazy
guy? :-)
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the buildroot
mailing list