This is the mail archive of the
mailing list for the GCC project.
Re: Exhaustive Instructions for Toolchain Generation
- From: R0b0t1 <r030t1 at gmail dot com>
- To: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- Cc: GCC Development <gcc at gcc dot gnu dot org>
- Date: Wed, 27 Sep 2017 01:03:31 -0500
- Subject: Re: Exhaustive Instructions for Toolchain Generation
- Authentication-results: sourceware.org; auth=none
- References: <CAAD4mYhF0JAkvLcBzHCocB9L5iTd5XU9K33WHeDsJo=_GxqfLg@mail.gmail.com> <CAH6eHdSLuB=uZ4Hseb-CQeT9=E8JTb8=J3yHxBu2DLm7kq=2DA@mail.gmail.com> <CAAD4mYinDcV_Avb9_KwLEmofAiSri_2kHiQrfdu1=LZL0+L3YA@mail.gmail.com> <CAH6eHdTC3yKYy56fZPS4BdCS4y3V2FFHJqhWmgu5VJzj9j-oAA@mail.gmail.com>
On Wed, Sep 27, 2017 at 12:34 AM, Jonathan Wakely <firstname.lastname@example.org> wrote:
> On 27 September 2017 at 05:49, R0b0t1 <email@example.com> wrote:
>> On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely <firstname.lastname@example.org> wrote:
>>> On 26 September 2017 at 22:05, R0b0t1 <email@example.com> wrote:
>>>> I am having problems understanding the build instructions for GCC. I
>>>> can almost always produce toolchains which function but I can find
>>>> programs or scripts which do more or less the same thing that produce
>>>> nonfunctional toolchains or which abort at some stage of compilation.
>>>> (To clarify: I have no problem compiling the project, but I need help
>>>> knowing all options which must be configured.)
>>> What does "knowing all options which must be configured" mean?
>>> Must be configured for what?
>> For a working, "self contained" toolchain (no dependencies outside of
>> some directory). I'm sorry I can't be more specific, that is part of
>> the problem.
>> It is possible I am aware of all steps that anyone else is aware of.
>> If that is the case perhaps I am experiencing bugs or configuration
>>>> This is related to my questions about generating an arm-none-eabi
>>>> toolchain, however I also wish to build targets for
>>>> x86_64-pc-linux-gnu, aarch64-unknown-linux-gnu,
>>>> powerpc64le-unknown-linux-gnu, etc.
>>>> Broadly, I have the following questions:
>>>> 1) What is the complete list of dependencies for a GCC based
>>>> toolchain? I am led to believe it is: zlib, gmp, mpfr, mpc, isl,
>>>> expat, binutils, gcc, glibc, and gdb.
>>> https://gcc.gnu.org/install/prerequisites.html should be clear.
>>> isl is optional, it's not required. expat is not needed. zlib is not
>>> needed, because the source for it is included in the GCC tree.
>> Thank you, this explains some earlier confusion I had about there
>> being no --with-zlib switch, but I still wonder why it is not present
>> (c.f. gmp, mpfr, etc.).
>> I am still left with the question of how to link GCC with a
>> nonstandard libc. Instructions for doing this with miscellaneous
>> programs are available, but it does not seem like there is any way
>> to do it via configure.
> Build it with a compiler that uses the libc you want to use.
It looks like the circle is broken with the --sysroot option. I may
also need --with-local-prefix and --with-native-system-header-dir.
I apologize for not finding the proper documentation. I originally
approached the problem from a different angle and became very
confused. As my messages to this list indicate, I am not very
intelligent. Keeping my mouth closed serves me well.
>> Are you (or anyone else) able to make a recommendation?
>> I have tried to refer to each project's documentation and the Linux
>> From Scratch documentation, but they do not seem to plan for precisely
>> what I am doing.
> You haven't explained what you're doing. You're being very vague, so
> it's not clear what you're trying to do.
>> E.g. I would like to compile most non-system programs against
>> non-system libraries and run them as my user. I can do this and don't
>> mean to ask general questions on this list. However, the main problem
>> existing solutions have is that do not seem to configure GCC properly.
> Define "properly".
>>>> 2) How do I specify each of the above to be reliant on the versions of
>>>> other programs that it may depend on being used for the toolchain?
>>>> Ideally these toolchains would not use system libraries if CHOST is
>>>> the same as BHOST.
>>>> 3) Are there any architecture specific options for any of the possible targets?
>>> Read the docs.
>> I did not know this page existed,
> It's linked to from the start of https://gcc.gnu.org/install/ which is
> linked to from https://gcc.gnu.org/ so you don't seem to have looked
> very far.
>> but it seems more like errata. It
>> doesn't give helpful pointers as to configuration you may need to
>> accomplish X. It may be that what I am looking for does not exist,
>> which I expected may be the case.
> It would depend what X is. I don't see how anyone can help you with
> this vagueness.
>> Thank you,
>> : http://www.tldp.org/HOWTO/Glibc2-HOWTO-6.html