Re: Exhaustive Instructions for Toolchain Generation

2017-09-26 Thread R0b0t1
On Wed, Sep 27, 2017 at 12:34 AM, Jonathan Wakely  wrote:
> On 27 September 2017 at 05:49, R0b0t1  wrote:
>> On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely  
>> wrote:
>>> On 26 September 2017 at 22:05, R0b0t1  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


Re: Exhaustive Instructions for Toolchain Generation

2017-09-26 Thread R0b0t1
On Wed, Sep 27, 2017 at 12:34 AM, Jonathan Wakely  wrote:
> On 27 September 2017 at 05:49, R0b0t1  wrote:
>> On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely  
>> wrote:
>>> On 26 September 2017 at 22:05, R0b0t1  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.
>

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.

Respectfully,
 R0b0t1

>
>> 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.
>>> 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


Re: Exhaustive Instructions for Toolchain Generation

2017-09-26 Thread Jonathan Wakely
On 27 September 2017 at 05:49, R0b0t1  wrote:
> On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely  
> wrote:
>> On 26 September 2017 at 22:05, R0b0t1  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.

> 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


Re: Exhaustive Instructions for Toolchain Generation

2017-09-26 Thread R0b0t1
On Tue, Sep 26, 2017 at 4:30 PM, Jonathan Wakely  wrote:
> On 26 September 2017 at 22:05, R0b0t1  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.

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.

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.

>
>> 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, 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.

Thank you,
 R0b0t1


[1]: http://www.tldp.org/HOWTO/Glibc2-HOWTO-6.html


gcc-5-20170926 is now available

2017-09-26 Thread gccadmin
Snapshot gcc-5-20170926 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/5-20170926/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 5 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-5-branch 
revision 253217

You'll find:

 gcc-5-20170926.tar.xzComplete GCC

  SHA256=dfa5537341d7efb44f0ce0db93c95012d4d34c9a1fdbbc2f4ddde582cc85ece3
  SHA1=101ba9525dedb95ee9ea5195f03da9c263c94488

Diffs from 5-20170919 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-5
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.


Re: Exhaustive Instructions for Toolchain Generation

2017-09-26 Thread Jonathan Wakely
On 26 September 2017 at 22:05, R0b0t1  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?

> 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.


> 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


Exhaustive Instructions for Toolchain Generation

2017-09-26 Thread R0b0t1
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.)

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.

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?

Is there anything else I should be aware of?

Respectfully,
 R0b0t1


Re: GCC Buildbot

2017-09-26 Thread Paulo Matos


On 26/09/17 10:43, Martin Liška wrote:
> On 09/25/2017 02:49 PM, Paulo Matos wrote:
>> For benchmarks like Qt, blitz (as mentioned in the gcc testing page), we
>> can plot the build time of the benchmark and resulting size when
>> compiling for size.
>>
> 
> Please consider using LNT:
> http://llvm.org/docs/lnt/
> 
> Usage:
> http://lnt.llvm.org/
> 
> I've been investigating the tools and I know that ARM people use the tool:
> https://gcc.gnu.org/wiki/cauldron2017#ARM-perf
> 

Good suggestion. I was actually at the presentation. The reason I was
going with influx+grafana was because I know the process and already use
that internally --- the LNT configuration was unknown to me but you're
right. It might be better in the long term. I will look at the
documentation.

Thanks.

-- 
Paulo Matos


Re: GCC Buildbot

2017-09-26 Thread Martin Liška
On 09/25/2017 02:49 PM, Paulo Matos wrote:
> For benchmarks like Qt, blitz (as mentioned in the gcc testing page), we
> can plot the build time of the benchmark and resulting size when
> compiling for size.
> 

Please consider using LNT:
http://llvm.org/docs/lnt/

Usage:
http://lnt.llvm.org/

I've been investigating the tools and I know that ARM people use the tool:
https://gcc.gnu.org/wiki/cauldron2017#ARM-perf

Martin