* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
@ 2016-11-23 11:14 Arnout Vandecappelle
2016-11-23 12:22 ` Thomas Petazzoni
2016-11-23 22:21 ` Thomas Petazzoni
0 siblings, 2 replies; 10+ messages in thread
From: Arnout Vandecappelle @ 2016-11-23 11:14 UTC (permalink / raw)
To: buildroot
We currently support gcc as old as 4.3. However, Buildroot works
perfectly well with even older gcc versions (tested with 4.1). So we
can add an option BR2_TOOLCHAIN_EXTERNAL_GCC_OLD to support that. The
help text of this option is written with plenty of discouragement.
We use _OLD and not something like _PRE_4_3, because at some point we
will likely remove the 4.3 option and what would then require a name
change.
We don't set any _AT_LEAST option in this case because it's no use -
there is no lower bound on the version in this case. We therefore leave
BR2_TOOLCHAIN_GCC_AT_LEAST empty (the implicit default). When it is
empty, we don't do a version check at all in check_gcc_version. Indeed,
it makes perfect sense to not set any BR2_TOOLCHAIN_GCC_AT_LEAST
option.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
---
This patch conflicts with the external toolchain rework - I'll rebase
the one which "looses" in the first-to-be-committed contest.
We should also remove the 4.3 and 4.4 options, because they are
currently unused and also untested in the autobuilders.
I think something similar should be done for kernel headers.
---
toolchain/helpers.mk | 3 +--
toolchain/toolchain-external/Config.in | 11 +++++++++++
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
index 3991bc1..72e7292 100644
--- a/toolchain/helpers.mk
+++ b/toolchain/helpers.mk
@@ -145,8 +145,7 @@ check_kernel_headers_version = \
check_gcc_version = \
expected_version="$(strip $2)" ; \
if [ -z "$${expected_version}" ]; then \
- printf "Internal error, gcc version unknown (no GCC_AT_LEAST_X_Y selected)\n"; \
- exit 1 ; \
+ exit 0 ; \
fi; \
real_version=`$(1) --version | sed -r -e '1!d; s/^[^)]+\) ([^[:space:]]+).*/\1/;'` ; \
if [[ ! "$${real_version}" =~ ^$${expected_version}\. ]] ; then \
diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index 5324599..7a3c504 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -712,6 +712,17 @@ config BR2_TOOLCHAIN_EXTERNAL_GCC_4_3
bool "4.3.x"
select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
+config BR2_TOOLCHAIN_EXTERNAL_GCC_OLD
+ bool "older"
+ help
+ Use this option if your GCC version is older than any of the
+ above.
+
+ Note that the Buildroot community doesn't do any testing with
+ such old toolchains. Some packages may fail to build in
+ surprising ways, or the generated root filesystem may not
+ work at all. Use such old toolchains at your own risk.
+
endchoice
choice
--
2.10.2
^ permalink raw reply related [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-23 11:14 [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3 Arnout Vandecappelle
@ 2016-11-23 12:22 ` Thomas Petazzoni
2016-11-23 12:27 ` Arnout Vandecappelle
2016-11-23 22:21 ` Thomas Petazzoni
1 sibling, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2016-11-23 12:22 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 23 Nov 2016 12:14:04 +0100, Arnout Vandecappelle
(Essensium/Mind) wrote:
> We should also remove the 4.3 and 4.4 options, because they are
> currently unused and also untested in the autobuilders.
The Blackfin ADI toolchains use gcc 4.3, if I remember correctly.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-23 12:22 ` Thomas Petazzoni
@ 2016-11-23 12:27 ` Arnout Vandecappelle
2016-11-23 22:19 ` Thomas Petazzoni
0 siblings, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2016-11-23 12:27 UTC (permalink / raw)
To: buildroot
On 23-11-16 13:22, Thomas Petazzoni wrote:
> Hello,
>
> On Wed, 23 Nov 2016 12:14:04 +0100, Arnout Vandecappelle
> (Essensium/Mind) wrote:
>
>> We should also remove the 4.3 and 4.4 options, because they are
>> currently unused and also untested in the autobuilders.
>
> The Blackfin ADI toolchains use gcc 4.3, if I remember correctly.
Sorry, let me correct my statement: because they are currently unused by any
package and will very soon be untested in the autobuilders.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-23 12:27 ` Arnout Vandecappelle
@ 2016-11-23 22:19 ` Thomas Petazzoni
2016-11-23 23:36 ` Arnout Vandecappelle
0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2016-11-23 22:19 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 23 Nov 2016 13:27:38 +0100, Arnout Vandecappelle wrote:
> > The Blackfin ADI toolchains use gcc 4.3, if I remember correctly.
>
> Sorry, let me correct my statement: because they are currently unused by any
> package and will very soon be untested in the autobuilders.
Huh?
toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in: select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
So it's definitely used, at least until we remove the ADI Blackfin
toolchain.
Bets regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-23 11:14 [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3 Arnout Vandecappelle
2016-11-23 12:22 ` Thomas Petazzoni
@ 2016-11-23 22:21 ` Thomas Petazzoni
2016-11-23 23:38 ` Arnout Vandecappelle
1 sibling, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2016-11-23 22:21 UTC (permalink / raw)
To: buildroot
Hello,
On Wed, 23 Nov 2016 12:14:04 +0100, Arnout Vandecappelle
(Essensium/Mind) wrote:
> This patch conflicts with the external toolchain rework - I'll rebase
> the one which "looses" in the first-to-be-committed contest.
external toolchain rework committed :)
>
> We should also remove the 4.3 and 4.4 options, because they are
> currently unused and also untested in the autobuilders.
>
> I think something similar should be done for kernel headers.
We already have something like this: we have
BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD.
> toolchain/helpers.mk | 3 +--
> toolchain/toolchain-external/Config.in | 11 +++++++++++
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
> index 3991bc1..72e7292 100644
> --- a/toolchain/helpers.mk
> +++ b/toolchain/helpers.mk
> @@ -145,8 +145,7 @@ check_kernel_headers_version = \
> check_gcc_version = \
> expected_version="$(strip $2)" ; \
> if [ -z "$${expected_version}" ]; then \
> - printf "Internal error, gcc version unknown (no GCC_AT_LEAST_X_Y selected)\n"; \
> - exit 1 ; \
> + exit 0 ; \
Why?
Assuming you will respin, I've marked this one as Changes Requested.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-23 22:19 ` Thomas Petazzoni
@ 2016-11-23 23:36 ` Arnout Vandecappelle
0 siblings, 0 replies; 10+ messages in thread
From: Arnout Vandecappelle @ 2016-11-23 23:36 UTC (permalink / raw)
To: buildroot
On 23-11-16 23:19, Thomas Petazzoni wrote:
> Hello,
>
> On Wed, 23 Nov 2016 13:27:38 +0100, Arnout Vandecappelle wrote:
>
>>> The Blackfin ADI toolchains use gcc 4.3, if I remember correctly.
>>
>> Sorry, let me correct my statement: because they are currently unused by any
>> package and will very soon be untested in the autobuilders.
>
> Huh?
>
> toolchain/toolchain-external/toolchain-external-blackfin-uclinux/Config.in: select BR2_TOOLCHAIN_GCC_AT_LEAST_4_3
>
> So it's definitely used, at least until we remove the ADI Blackfin
> toolchain.
When I say package, I mean: no package depends on _AT_LEAST_4_3 or _4_4.
And the ADI Blackfin removal patch is coming up :-)
Regards,
Arnout
>
> Bets regards,
>
> Thomas
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-23 22:21 ` Thomas Petazzoni
@ 2016-11-23 23:38 ` Arnout Vandecappelle
2016-11-24 8:01 ` Thomas Petazzoni
0 siblings, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2016-11-23 23:38 UTC (permalink / raw)
To: buildroot
On 23-11-16 23:21, Thomas Petazzoni wrote:
[snip]
>> diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
>> index 3991bc1..72e7292 100644
>> --- a/toolchain/helpers.mk
>> +++ b/toolchain/helpers.mk
>> @@ -145,8 +145,7 @@ check_kernel_headers_version = \
>> check_gcc_version = \
>> expected_version="$(strip $2)" ; \
>> if [ -z "$${expected_version}" ]; then \
>> - printf "Internal error, gcc version unknown (no GCC_AT_LEAST_X_Y selected)\n"; \
>> - exit 1 ; \
>> + exit 0 ; \
>
> Why?
As stated in the commit log:
When [BR2_TOOLCHAIN_GCC_AT_LEAST] is
empty, we don't do a version check at all in check_gcc_version.
Perhaps I should add to that "(previously we errored out)".
Regards,
Arnout
>
> Assuming you will respin, I've marked this one as Changes Requested.
>
> Thanks!
>
> Thomas
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-23 23:38 ` Arnout Vandecappelle
@ 2016-11-24 8:01 ` Thomas Petazzoni
2016-11-24 8:39 ` Arnout Vandecappelle
0 siblings, 1 reply; 10+ messages in thread
From: Thomas Petazzoni @ 2016-11-24 8:01 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 24 Nov 2016 00:38:33 +0100, Arnout Vandecappelle wrote:
> On 23-11-16 23:21, Thomas Petazzoni wrote:
> [snip]
> >> diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
> >> index 3991bc1..72e7292 100644
> >> --- a/toolchain/helpers.mk
> >> +++ b/toolchain/helpers.mk
> >> @@ -145,8 +145,7 @@ check_kernel_headers_version = \
> >> check_gcc_version = \
> >> expected_version="$(strip $2)" ; \
> >> if [ -z "$${expected_version}" ]; then \
> >> - printf "Internal error, gcc version unknown (no GCC_AT_LEAST_X_Y selected)\n"; \
> >> - exit 1 ; \
> >> + exit 0 ; \
> >
> > Why?
>
> As stated in the commit log:
>
> When [BR2_TOOLCHAIN_GCC_AT_LEAST] is
> empty, we don't do a version check at all in check_gcc_version.
>
> Perhaps I should add to that "(previously we errored out)".
Well, we're still erroring out, but with a 0 exit code. So I must be
missing something.
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-24 8:01 ` Thomas Petazzoni
@ 2016-11-24 8:39 ` Arnout Vandecappelle
2016-11-24 8:48 ` Thomas Petazzoni
0 siblings, 1 reply; 10+ messages in thread
From: Arnout Vandecappelle @ 2016-11-24 8:39 UTC (permalink / raw)
To: buildroot
On 24-11-16 09:01, Thomas Petazzoni wrote:
> Hello,
>
> On Thu, 24 Nov 2016 00:38:33 +0100, Arnout Vandecappelle wrote:
>> On 23-11-16 23:21, Thomas Petazzoni wrote:
>> [snip]
>>>> diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk
>>>> index 3991bc1..72e7292 100644
>>>> --- a/toolchain/helpers.mk
>>>> +++ b/toolchain/helpers.mk
>>>> @@ -145,8 +145,7 @@ check_kernel_headers_version = \
>>>> check_gcc_version = \
>>>> expected_version="$(strip $2)" ; \
>>>> if [ -z "$${expected_version}" ]; then \
>>>> - printf "Internal error, gcc version unknown (no GCC_AT_LEAST_X_Y selected)\n"; \
>>>> - exit 1 ; \
>>>> + exit 0 ; \
>>>
>>> Why?
>>
>> As stated in the commit log:
>>
>> When [BR2_TOOLCHAIN_GCC_AT_LEAST] is
>> empty, we don't do a version check at all in check_gcc_version.
>>
>> Perhaps I should add to that "(previously we errored out)".
>
> Well, we're still erroring out, but with a 0 exit code. So I must be
> missing something.
0 is not an error, right?
Too early in the morning?
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3
2016-11-24 8:39 ` Arnout Vandecappelle
@ 2016-11-24 8:48 ` Thomas Petazzoni
0 siblings, 0 replies; 10+ messages in thread
From: Thomas Petazzoni @ 2016-11-24 8:48 UTC (permalink / raw)
To: buildroot
Hello,
On Thu, 24 Nov 2016 09:39:13 +0100, Arnout Vandecappelle wrote:
> >> When [BR2_TOOLCHAIN_GCC_AT_LEAST] is
> >> empty, we don't do a version check at all in check_gcc_version.
> >>
> >> Perhaps I should add to that "(previously we errored out)".
> >
> > Well, we're still erroring out, but with a 0 exit code. So I must be
> > missing something.
>
> 0 is not an error, right?
Hum, right. I think what confused me is that "exit 0" doesn't abort the
build. It exists the sub-shell started by make, with a zero exit code,
so make continues the build. I was thinking it would abort the build
completely, which is why I was confused.
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2016-11-24 8:48 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-23 11:14 [Buildroot] [PATCH/next] toolchain-external: support gcc < 4.3 Arnout Vandecappelle
2016-11-23 12:22 ` Thomas Petazzoni
2016-11-23 12:27 ` Arnout Vandecappelle
2016-11-23 22:19 ` Thomas Petazzoni
2016-11-23 23:36 ` Arnout Vandecappelle
2016-11-23 22:21 ` Thomas Petazzoni
2016-11-23 23:38 ` Arnout Vandecappelle
2016-11-24 8:01 ` Thomas Petazzoni
2016-11-24 8:39 ` Arnout Vandecappelle
2016-11-24 8:48 ` Thomas Petazzoni
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.