This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Exhaustive Instructions for Toolchain Generation


On Wed, Sep 27, 2017 at 12:34 AM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
> On 27 September 2017 at 05:49, R0b0t1 <r030t1@gmail.com> wrote:
>> On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>>> On 26 September 2017 at 22:05, R0b0t1 <r030t1@gmail.com> wrote:
>>>> Hello,
>>>>
>>>> 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
>> issues.
>>
>>>> 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,[1] 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.
>
>
>> 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.
>

For completeness - I am attempting a more comprehensive version of
what is detailed at https://wiki.gentoo.org/wiki/Prefix/libc.

>> 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.
>>> https://gcc.gnu.org/install/specific.html
>>
>> 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,
>>      R0b0t1
>>
>>
>> [1]: http://www.tldp.org/HOWTO/Glibc2-HOWTO-6.html


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]