This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Bootstrapping cross-toolchain for ia64
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: libc-alpha at sourceware dot org
- Date: Fri, 4 Nov 2016 10:10:09 -0200
- Subject: Re: Bootstrapping cross-toolchain for ia64
- Authentication-results: sourceware.org; auth=none
- References: <alpine.DEB.2.20.1611040044150.20687@digraph.polyomino.org.uk>
On 03/11/2016 22:51, Joseph Myers wrote:
> The current cleanest approach for bootstrapping cross toolchains for
> GNU/Linux targets is (following the guidance at
> <https://sourceware.org/ml/libc-alpha/2012-03/msg00960.html>):
>
> * Build binutils.
>
> * Install kernel headers.
>
> * Build static-only, C-only GCC, configured so that inhibit_libc is
> defined, and using --with-glibc-version so things like stack-smashing
> protection are correctly configured without glibc headers being available.
>
> * Build glibc, which should be identical to what you get from a longer
> sequence of alternating GCC and glibc builds (following fixes I made a few
> years ago for building like that with the initial bootstrap compiler).
>
> * Build GCC with shared libraries and C++ support.
>
> * If you want to run the glibc tests, you should reconfigure / rebuild
> with the new compiler to get everything required for all the tests.
>
> This doesn't work for ia64 because libgcc depends on system headers even
> with inhibit_libc. What's the cleanest approach (assuming recent-enough
> GCC and glibc) for building a cross toolchain for ia64-linux-gnu target,
> so I can make build-many-glibcs.py do whatever's necessary?
I faced the same issue and the solution I found was to configure gcc with
'--disable-shared'. It is not an optimal approach for a complete toolchain,
but it is at least suffice to correctly build glibc.