* [PATCH 0/3] ARC toolchian related fixes
@ 2019-12-06 19:39 Vineet Gupta
2019-12-06 19:39 ` [PATCH 1/3] toolchain,glibc: Allow ARC big endian glibc builds Vineet Gupta
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Vineet Gupta @ 2019-12-06 19:39 UTC (permalink / raw)
To: buildroot; +Cc: Evgeniy.Didin, linux-snps-arc, Vineet Gupta, Alexey.Brodkin
Hi,
PFA some improvements agan out of my glibc porting work.
Thx,
-Vineet
Vineet Gupta (3):
toolchain,glibc: Allow ARC big endian glibc builds
binutils/ARC: move ARC specific code together
toolchain/ARC: Enable ability to build with upstream gcc/binutils
arch/Config.in.arc | 4 ++++
package/binutils/Config.in.host | 6 +++---
package/binutils/binutils.mk | 7 ++-----
package/gcc/Config.in.host | 4 ++--
toolchain/toolchain-buildroot/Config.in | 2 +-
5 files changed, 12 insertions(+), 11 deletions(-)
--
2.20.1
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/3] toolchain,glibc: Allow ARC big endian glibc builds
2019-12-06 19:39 [PATCH 0/3] ARC toolchian related fixes Vineet Gupta
@ 2019-12-06 19:39 ` Vineet Gupta
2019-12-06 21:18 ` [Buildroot] [PATCH 1/3] toolchain, glibc: " Thomas Petazzoni
2019-12-06 19:39 ` [PATCH 2/3] binutils/ARC: move ARC specific code together Vineet Gupta
2019-12-06 19:39 ` [PATCH 3/3] toolchain/ARC: Enable ability to build with upstream gcc/binutils Vineet Gupta
2 siblings, 1 reply; 13+ messages in thread
From: Vineet Gupta @ 2019-12-06 19:39 UTC (permalink / raw)
To: buildroot; +Cc: Evgeniy.Didin, linux-snps-arc, Vineet Gupta, Alexey.Brodkin
From: Vineet Gupta <Vineet.Gupta1@synopsys.com>
Apparently big endian glibc builds just work, if we let the endian
header allow that (which prev was #error).
The current ARC glibc version in buildroot arc-2019.09-rc1 already
contains that fix.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
toolchain/toolchain-buildroot/Config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 95d513004aa0..a980f766ac14 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -48,7 +48,7 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC
BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
BR2_riscv || BR2_sh || BR2_sparc64 || \
BR2_x86_64 || BR2_microblaze || BR2_nios2 || \
- (BR2_arcle && BR2_ARC_ATOMIC_EXT) || BR2_csky
+ (BR2_arc && BR2_ARC_ATOMIC_EXT) || BR2_csky
depends on BR2_USE_MMU
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
--
2.20.1
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/3] binutils/ARC: move ARC specific code together
2019-12-06 19:39 [PATCH 0/3] ARC toolchian related fixes Vineet Gupta
2019-12-06 19:39 ` [PATCH 1/3] toolchain,glibc: Allow ARC big endian glibc builds Vineet Gupta
@ 2019-12-06 19:39 ` Vineet Gupta
2019-12-06 21:19 ` [Buildroot] " Thomas Petazzoni
2019-12-06 19:39 ` [PATCH 3/3] toolchain/ARC: Enable ability to build with upstream gcc/binutils Vineet Gupta
2 siblings, 1 reply; 13+ messages in thread
From: Vineet Gupta @ 2019-12-06 19:39 UTC (permalink / raw)
To: buildroot; +Cc: Evgeniy.Didin, linux-snps-arc, Vineet Gupta, Alexey.Brodkin
That way ARC specific version update needs to be done in 1 place only
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
package/binutils/binutils.mk | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index a19d6940f7c1..ecc78b81e59f 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -8,14 +8,11 @@
# If not, we do like other packages
BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
ifeq ($(BINUTILS_VERSION),)
-ifeq ($(BR2_arc),y)
-BINUTILS_VERSION = arc-2019.09-rc1
-else
BINUTILS_VERSION = 2.32
endif
-endif # BINUTILS_VERSION
-ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
+ifeq ($(BR2_arc),y)
+BINUTILS_VERSION = arc-2019.09-rc1
BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
BINUTILS_FROM_GIT = y
--
2.20.1
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/3] toolchain/ARC: Enable ability to build with upstream gcc/binutils
2019-12-06 19:39 [PATCH 0/3] ARC toolchian related fixes Vineet Gupta
2019-12-06 19:39 ` [PATCH 1/3] toolchain,glibc: Allow ARC big endian glibc builds Vineet Gupta
2019-12-06 19:39 ` [PATCH 2/3] binutils/ARC: move ARC specific code together Vineet Gupta
@ 2019-12-06 19:39 ` Vineet Gupta
2019-12-06 21:26 ` [Buildroot] " Thomas Petazzoni
2 siblings, 1 reply; 13+ messages in thread
From: Vineet Gupta @ 2019-12-06 19:39 UTC (permalink / raw)
To: buildroot; +Cc: Evgeniy.Didin, linux-snps-arc, Vineet Gupta, Alexey.Brodkin
While ARC upstream gcc/binutils work, they are still trailing behind
the more up to date code at github. To help expedite this gap, we want
to test the upstreeam versiosn more often, hence this patch. It allows
ARC tools to be built of upstream gcc/binutils.
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
arch/Config.in.arc | 4 ++++
package/binutils/Config.in.host | 6 +++---
package/binutils/binutils.mk | 2 +-
package/gcc/Config.in.host | 4 ++--
4 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/arch/Config.in.arc b/arch/Config.in.arc
index fdfafda31c72..c389ba8b42c9 100644
--- a/arch/Config.in.arc
+++ b/arch/Config.in.arc
@@ -59,6 +59,10 @@ config BR2_arc
bool
default y if BR2_arcle || BR2_arceb
+config BR2_arc_gh
+ bool "ARC github tools"
+ default y if BR2_arc
+
config BR2_ENDIAN
default "LITTLE" if BR2_arcle
default "BIG" if BR2_arceb
diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
index 514f620086eb..78785878cecc 100644
--- a/package/binutils/Config.in.host
+++ b/package/binutils/Config.in.host
@@ -7,8 +7,8 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
choice
prompt "Binutils Version"
- default BR2_BINUTILS_VERSION_2_32_X if !BR2_arc && !BR2_csky
- default BR2_BINUTILS_VERSION_ARC if BR2_arc
+ default BR2_BINUTILS_VERSION_2_32_X if !BR2_arc_gh && !BR2_csky
+ default BR2_BINUTILS_VERSION_ARC if BR2_arc_gh
default BR2_BINUTILS_VERSION_CSKY if BR2_csky
help
Select the version of binutils you wish to use.
@@ -27,7 +27,7 @@ config BR2_BINUTILS_VERSION_2_33_X
config BR2_BINUTILS_VERSION_ARC
bool "binutils arc (2.31)"
- depends on BR2_arc
+ depends on BR2_arc_gh
config BR2_BINUTILS_VERSION_CSKY
bool "binutils csky"
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index ecc78b81e59f..63567db069ab 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -11,7 +11,7 @@ ifeq ($(BINUTILS_VERSION),)
BINUTILS_VERSION = 2.32
endif
-ifeq ($(BR2_arc),y)
+ifeq ($(BR2_arc_gh),y)
BINUTILS_VERSION = arc-2019.09-rc1
BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 92af40b19fc3..d9f4c6cae14b 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -2,7 +2,7 @@ comment "GCC Options"
choice
prompt "GCC compiler Version"
- default BR2_GCC_VERSION_ARC if BR2_arc
+ default BR2_GCC_VERSION_ARC if BR2_arc_gh
default BR2_GCC_VERSION_CSKY if BR2_csky
default BR2_GCC_VERSION_OR1K if BR2_or1k
default BR2_GCC_VERSION_8_X
@@ -12,7 +12,7 @@ choice
config BR2_GCC_VERSION_ARC
bool "gcc arc (9.x)"
# Only supported architecture
- depends on BR2_arc
+ depends on BR2_arc_gh
select BR2_TOOLCHAIN_GCC_AT_LEAST_9
config BR2_GCC_VERSION_CSKY
--
2.20.1
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Buildroot] [PATCH 1/3] toolchain, glibc: Allow ARC big endian glibc builds
2019-12-06 19:39 ` [PATCH 1/3] toolchain,glibc: Allow ARC big endian glibc builds Vineet Gupta
@ 2019-12-06 21:18 ` Thomas Petazzoni
0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2019-12-06 21:18 UTC (permalink / raw)
To: Vineet Gupta; +Cc: buildroot, Evgeniy.Didin, linux-snps-arc, Alexey.Brodkin
On Fri, 6 Dec 2019 11:39:22 -0800
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> From: Vineet Gupta <Vineet.Gupta1@synopsys.com>
>
> Apparently big endian glibc builds just work, if we let the endian
> header allow that (which prev was #error).
>
> The current ARC glibc version in buildroot arc-2019.09-rc1 already
> contains that fix.
>
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
> toolchain/toolchain-buildroot/Config.in | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Applied to master with an improved commit title/log. Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Buildroot] [PATCH 2/3] binutils/ARC: move ARC specific code together
2019-12-06 19:39 ` [PATCH 2/3] binutils/ARC: move ARC specific code together Vineet Gupta
@ 2019-12-06 21:19 ` Thomas Petazzoni
2019-12-17 21:32 ` [PATCH v2] binutils/ARC: cleanup Vineet Gupta
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2019-12-06 21:19 UTC (permalink / raw)
To: Vineet Gupta; +Cc: buildroot, Evgeniy.Didin, linux-snps-arc, Alexey.Brodkin
On Fri, 6 Dec 2019 11:39:23 -0800
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> That way ARC specific version update needs to be done in 1 place only
>
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
> package/binutils/binutils.mk | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
> index a19d6940f7c1..ecc78b81e59f 100644
> --- a/package/binutils/binutils.mk
> +++ b/package/binutils/binutils.mk
> @@ -8,14 +8,11 @@
> # If not, we do like other packages
> BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
> ifeq ($(BINUTILS_VERSION),)
> -ifeq ($(BR2_arc),y)
> -BINUTILS_VERSION = arc-2019.09-rc1
> -else
> BINUTILS_VERSION = 2.32
> endif
> -endif # BINUTILS_VERSION
>
> -ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
> +ifeq ($(BR2_arc),y)
This is not going to work well with your PATCH 3/3 (on which I have
comments). Indeed, BR2_arc=y does not necessarily imply that we want to
use the ARC-specific binutils version.
You can however use ifeq ($(BR2_BINUTILS_VERSION_ARC),y) instead.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Buildroot] [PATCH 3/3] toolchain/ARC: Enable ability to build with upstream gcc/binutils
2019-12-06 19:39 ` [PATCH 3/3] toolchain/ARC: Enable ability to build with upstream gcc/binutils Vineet Gupta
@ 2019-12-06 21:26 ` Thomas Petazzoni
0 siblings, 0 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2019-12-06 21:26 UTC (permalink / raw)
To: Vineet Gupta; +Cc: buildroot, Evgeniy.Didin, linux-snps-arc, Alexey.Brodkin
On Fri, 6 Dec 2019 11:39:24 -0800
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> While ARC upstream gcc/binutils work, they are still trailing behind
> the more up to date code at github. To help expedite this gap, we want
> to test the upstreeam versiosn more often, hence this patch. It allows
> ARC tools to be built of upstream gcc/binutils.
>
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
> arch/Config.in.arc | 4 ++++
> package/binutils/Config.in.host | 6 +++---
> package/binutils/binutils.mk | 2 +-
> package/gcc/Config.in.host | 4 ++--
> 4 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/arch/Config.in.arc b/arch/Config.in.arc
> index fdfafda31c72..c389ba8b42c9 100644
> --- a/arch/Config.in.arc
> +++ b/arch/Config.in.arc
> @@ -59,6 +59,10 @@ config BR2_arc
> bool
> default y if BR2_arcle || BR2_arceb
>
> +config BR2_arc_gh
> + bool "ARC github tools"
> + default y if BR2_arc
That's not how we want to handle this.
> +
> config BR2_ENDIAN
> default "LITTLE" if BR2_arcle
> default "BIG" if BR2_arceb
> diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host
> index 514f620086eb..78785878cecc 100644
> --- a/package/binutils/Config.in.host
> +++ b/package/binutils/Config.in.host
> @@ -7,8 +7,8 @@ config BR2_PACKAGE_HOST_BINUTILS_SUPPORTS_CFI
>
> choice
> prompt "Binutils Version"
> - default BR2_BINUTILS_VERSION_2_32_X if !BR2_arc && !BR2_csky
> - default BR2_BINUTILS_VERSION_ARC if BR2_arc
> + default BR2_BINUTILS_VERSION_2_32_X if !BR2_arc_gh && !BR2_csky
> + default BR2_BINUTILS_VERSION_ARC if BR2_arc_gh
> default BR2_BINUTILS_VERSION_CSKY if BR2_csky
> help
> Select the version of binutils you wish to use.
> @@ -27,7 +27,7 @@ config BR2_BINUTILS_VERSION_2_33_X
>
> config BR2_BINUTILS_VERSION_ARC
> bool "binutils arc (2.31)"
> - depends on BR2_arc
> + depends on BR2_arc_gh
For binutils, you can already select any upstream version, or the ARC
specific version on ARC. So there is nothing to change here: you can
already select either upstream or ARC-specific.
> diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
> index 92af40b19fc3..d9f4c6cae14b 100644
> --- a/package/gcc/Config.in.host
> +++ b/package/gcc/Config.in.host
> @@ -2,7 +2,7 @@ comment "GCC Options"
Ditto for gcc, you can already chose any upstream gcc version >= 7.x
for ARC, or the ARC-specific version.
So, I don't understand what your patch brings: what you describe in
your commit log is already possible today.
The following defconfig is already possible with Buildroot today:
BR2_arcle=y
BR2_archs38=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
BR2_BINUTILS_VERSION_2_33_X=y
BR2_GCC_VERSION_9_X=y
It builds an ARC HS38 glibc toolchain with upstream gcc 9.x and
upstream binutils 2.33.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v2] binutils/ARC: cleanup
2019-12-06 21:19 ` [Buildroot] " Thomas Petazzoni
@ 2019-12-17 21:32 ` Vineet Gupta
2019-12-22 21:41 ` [Buildroot] " Thomas Petazzoni
0 siblings, 1 reply; 13+ messages in thread
From: Vineet Gupta @ 2019-12-17 21:32 UTC (permalink / raw)
To: buildroot; +Cc: Evgeniy.Didin, linux-snps-arc, Vineet Gupta, Alexey.Brodkin
Remove special handling for ARC - as it is not needed for cksy etc.
A nice side benefit is that the ARC specific version now only needs to
be specified in single place (vs 3 currently) in binutils/Config.in.host
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
---
package/binutils/binutils.mk | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
index a19d6940f7c1..3ae5561d67d3 100644
--- a/package/binutils/binutils.mk
+++ b/package/binutils/binutils.mk
@@ -8,14 +8,10 @@
# If not, we do like other packages
BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
ifeq ($(BINUTILS_VERSION),)
-ifeq ($(BR2_arc),y)
-BINUTILS_VERSION = arc-2019.09-rc1
-else
BINUTILS_VERSION = 2.32
endif
-endif # BINUTILS_VERSION
-ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
+ifeq ($(BR2_BINUTILS_VERSION_ARC),y)
BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
BINUTILS_FROM_GIT = y
--
2.20.1
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Buildroot] [PATCH v2] binutils/ARC: cleanup
2019-12-17 21:32 ` [PATCH v2] binutils/ARC: cleanup Vineet Gupta
@ 2019-12-22 21:41 ` Thomas Petazzoni
2020-01-13 17:48 ` Vineet Gupta
2020-09-10 23:21 ` Vineet Gupta
0 siblings, 2 replies; 13+ messages in thread
From: Thomas Petazzoni @ 2019-12-22 21:41 UTC (permalink / raw)
To: Vineet Gupta; +Cc: buildroot, Evgeniy.Didin, linux-snps-arc, Alexey.Brodkin
Hello Vineet,
On Tue, 17 Dec 2019 13:32:53 -0800
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> Remove special handling for ARC - as it is not needed for cksy etc.
>
> A nice side benefit is that the ARC specific version now only needs to
> be specified in single place (vs 3 currently) in binutils/Config.in.host
>
> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
> ---
> package/binutils/binutils.mk | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
> index a19d6940f7c1..3ae5561d67d3 100644
> --- a/package/binutils/binutils.mk
> +++ b/package/binutils/binutils.mk
> @@ -8,14 +8,10 @@
> # If not, we do like other packages
> BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
> ifeq ($(BINUTILS_VERSION),)
> -ifeq ($(BR2_arc),y)
> -BINUTILS_VERSION = arc-2019.09-rc1
> -else
> BINUTILS_VERSION = 2.32
> endif
> -endif # BINUTILS_VERSION
>
> -ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
> +ifeq ($(BR2_BINUTILS_VERSION_ARC),y)
> BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
> BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
> BINUTILS_FROM_GIT = y
In fact, I was wrong, this also does not work, in the following
situation:
- You're using a pre-compiled external toolchain, so host-binutils is
not selected/enabled, so the version selection in
package/binutils/Config.in.host is not used, and therefore
BR2_BINUTILS_VERSION_ARC cannot be set to 'y'.
- You have binutils enabled for the target.
Then, with your patch, we will no longer select the ARC-specific fork
of binutils.
Basically, for the target binutils (just like for target gdb), we don't
have any version selection, so we force using one specific version
depending on the architecture.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Buildroot] [PATCH v2] binutils/ARC: cleanup
2019-12-22 21:41 ` [Buildroot] " Thomas Petazzoni
@ 2020-01-13 17:48 ` Vineet Gupta
2020-09-10 23:21 ` Vineet Gupta
1 sibling, 0 replies; 13+ messages in thread
From: Vineet Gupta @ 2020-01-13 17:48 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot, Evgeniy Didin, linux-snps-arc, Alexey Brodkin
Hi Thomas,
On 12/22/19 1:41 PM, Thomas Petazzoni wrote:
> Hello Vineet,
>
> On Tue, 17 Dec 2019 13:32:53 -0800
> Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
>
>> Remove special handling for ARC - as it is not needed for cksy etc.
>>
>> A nice side benefit is that the ARC specific version now only needs to
>> be specified in single place (vs 3 currently) in binutils/Config.in.host
>>
>> Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
>> ---
>> package/binutils/binutils.mk | 6 +-----
>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
>> index a19d6940f7c1..3ae5561d67d3 100644
>> --- a/package/binutils/binutils.mk
>> +++ b/package/binutils/binutils.mk
>> @@ -8,14 +8,10 @@
>> # If not, we do like other packages
>> BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
>> ifeq ($(BINUTILS_VERSION),)
>> -ifeq ($(BR2_arc),y)
>> -BINUTILS_VERSION = arc-2019.09-rc1
>> -else
>> BINUTILS_VERSION = 2.32
>> endif
>> -endif # BINUTILS_VERSION
>>
>> -ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
>> +ifeq ($(BR2_BINUTILS_VERSION_ARC),y)
>> BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
>> BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
>> BINUTILS_FROM_GIT = y
> In fact, I was wrong, this also does not work, in the following
> situation:
>
> - You're using a pre-compiled external toolchain, so host-binutils is
> not selected/enabled, so the version selection in
> package/binutils/Config.in.host is not used, and therefore
> BR2_BINUTILS_VERSION_ARC cannot be set to 'y'.
>
> - You have binutils enabled for the target.
>
> Then, with your patch, we will no longer select the ARC-specific fork
> of binutils.
>
> Basically, for the target binutils (just like for target gdb), we don't
> have any version selection, so we force using one specific version
> depending on the architecture.
Does that mean that other arch in that file (csky) with custom github location is
affected with the issue you mentioned above ?
-Vineet
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] binutils/ARC: cleanup
2019-12-22 21:41 ` [Buildroot] " Thomas Petazzoni
2020-01-13 17:48 ` Vineet Gupta
@ 2020-09-10 23:21 ` Vineet Gupta
2020-09-11 9:18 ` Thomas Petazzoni
1 sibling, 1 reply; 13+ messages in thread
From: Vineet Gupta @ 2020-09-10 23:21 UTC (permalink / raw)
To: thomas.petazzoni, Vineet Gupta
Cc: Evgeniy Didin, arcml, Alexey Brodkin, buildroot
Hi Thomas,
On 12/22/19 1:41 PM, Thomas Petazzoni wrote:
> Hello Vineet,
>
> On Tue, 17 Dec 2019 13:32:53 -0800
> Vineet Gupta <Vineet.Gupta1-HKixBCOQz3hWk0Htik3J/w@public.gmane.org> wrote:
>
>> Remove special handling for ARC - as it is not needed for cksy etc.
>>
>> A nice side benefit is that the ARC specific version now only needs to
>> be specified in single place (vs 3 currently) in binutils/Config.in.host
>>
>> Signed-off-by: Vineet Gupta <vgupta-HKixBCOQz3hWk0Htik3J/w@public.gmane.org>
>> ---
>> package/binutils/binutils.mk | 6 +-----
>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>
>> diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk
>> index a19d6940f7c1..3ae5561d67d3 100644
>> --- a/package/binutils/binutils.mk
>> +++ b/package/binutils/binutils.mk
>> @@ -8,14 +8,10 @@
>> # If not, we do like other packages
>> BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION))
>> ifeq ($(BINUTILS_VERSION),)
>> -ifeq ($(BR2_arc),y)
>> -BINUTILS_VERSION = arc-2019.09-rc1
>> -else
>> BINUTILS_VERSION = 2.32
>> endif
>> -endif # BINUTILS_VERSION
>>
>> -ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
>> +ifeq ($(BR2_BINUTILS_VERSION_ARC),y)
Looks like we need this specific thunk anyways. When I select pristine upstream
binutils (not ARC fork @ github), the above forces it to download from github
which it should not and will not if the tag/branch has not been mirrored there.
>> BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
>> BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
>> BINUTILS_FROM_GIT = y
>
> In fact, I was wrong, this also does not work, in the following
> situation:
>
> - You're using a pre-compiled external toolchain, so host-binutils is
> not selected/enabled, so the version selection in
> package/binutils/Config.in.host is not used, and therefore
> BR2_BINUTILS_VERSION_ARC cannot be set to 'y'.
>
> - You have binutils enabled for the target.
>
> Then, with your patch, we will no longer select the ARC-specific fork
> of binutils.
>
> Basically, for the target binutils (just like for target gdb), we don't
> have any version selection, so we force using one specific version
> depending on the architecture.
>
> Best regards,
>
> Thomas
>
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] binutils/ARC: cleanup
2020-09-10 23:21 ` Vineet Gupta
@ 2020-09-11 9:18 ` Thomas Petazzoni
2020-09-11 19:37 ` Vineet Gupta
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Petazzoni @ 2020-09-11 9:18 UTC (permalink / raw)
To: Vineet Gupta; +Cc: Evgeniy Didin, arcml, Alexey Brodkin, buildroot
Hello Vineet,
On Thu, 10 Sep 2020 23:21:43 +0000
Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
> >> -ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
> >> +ifeq ($(BR2_BINUTILS_VERSION_ARC),y)
>
> Looks like we need this specific thunk anyways. When I select pristine upstream
> binutils (not ARC fork @ github), the above forces it to download from github
> which it should not and will not if the tag/branch has not been mirrored there.
So I guess you're talking about the situation where a host-binutils is
not enabled, and only a target binutils is used. In this case, indeed:
ifeq ($(BINUTILS_VERSION),)
ifeq ($(BR2_arc),y)
BINUTILS_VERSION = arc-2020.03-release
else
BINUTILS_VERSION = 2.33.1
endif
endif # BINUTILS_VERSION
will kick in and set BINUTILS_VERSION to arc-2020.03-release, which
will lead to:
ifeq ($(BINUTILS_VERSION),arc-2020.03-release)
BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
BINUTILS_FROM_GIT = y
endif
being taken into account.
What happens with target binutils is:
(1) If a host-binutils is built (because Buildroot is building the
toolchain), then we're using the same version as the
host-binutils, which is defined by the choice in
package/binutils/Config.in.host.
(2) If not host-binutils is built (because we're using an external
toolchain), then there is no version selection: we unconditionally
use 2.33.1, except on ARC where we use the special ARC fork.
So I guess the decision to take is: do we want to switch to using the
upstream binutils, even for ARC, when no host-binutils is built ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v2] binutils/ARC: cleanup
2020-09-11 9:18 ` Thomas Petazzoni
@ 2020-09-11 19:37 ` Vineet Gupta
0 siblings, 0 replies; 13+ messages in thread
From: Vineet Gupta @ 2020-09-11 19:37 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Evgeniy Didin, arcml, Alexey Brodkin, buildroot
On 9/11/20 2:18 AM, Thomas Petazzoni wrote:
> Hello Vineet,
>
> On Thu, 10 Sep 2020 23:21:43 +0000
> Vineet Gupta <Vineet.Gupta1@synopsys.com> wrote:
>
>>>> -ifeq ($(BINUTILS_VERSION),arc-2019.09-rc1)
>>>> +ifeq ($(BR2_BINUTILS_VERSION_ARC),y)
>> Looks like we need this specific thunk anyways. When I select pristine upstream
>> binutils (not ARC fork @ github), the above forces it to download from github
>> which it should not and will not if the tag/branch has not been mirrored there.
> So I guess you're talking about the situation where a host-binutils is
> not enabled, and only a target binutils is used.
No sorry, I was not. I was trying to build a host binutils off upstream 2.34 and
must have some local change to make it download 2.34 off of github ARC fork. I
can't reproduce it now.
> In this case, indeed:
>
> ifeq ($(BINUTILS_VERSION),)
> ifeq ($(BR2_arc),y)
> BINUTILS_VERSION = arc-2020.03-release
> else
> BINUTILS_VERSION = 2.33.1
> endif
> endif # BINUTILS_VERSION
>
> will kick in and set BINUTILS_VERSION to arc-2020.03-release, which
> will lead to:
>
> ifeq ($(BINUTILS_VERSION),arc-2020.03-release)
> BINUTILS_SITE = $(call github,foss-for-synopsys-dwc-arc-processors,binutils-gdb,$(BINUTILS_VERSION))
> BINUTILS_SOURCE = binutils-gdb-$(BINUTILS_VERSION).tar.gz
> BINUTILS_FROM_GIT = y
> endif
The use of a single release string to decide where to download off of seems a bit
fragile. But given we are moving away from fork gradually it seems OK.
> being taken into account.
>
> What happens with target binutils is:
>
> (1) If a host-binutils is built (because Buildroot is building the
> toolchain), then we're using the same version as the
> host-binutils, which is defined by the choice in
> package/binutils/Config.in.host.
>
> (2) If not host-binutils is built (because we're using an external
> toolchain), then there is no version selection: we unconditionally
> use 2.33.1, except on ARC where we use the special ARC fork.
>
> So I guess the decision to take is: do we want to switch to using the
> upstream binutils, even for ARC, when no host-binutils is built ?
I suppose so. upstream binutils is perhaps an odd commit or two behind the fork,
if at all.
I'll pester Alexey to just ditch binutils fork for upstream buildroot.
>
> Best regards,
>
> Thomas
_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-09-11 19:37 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-06 19:39 [PATCH 0/3] ARC toolchian related fixes Vineet Gupta
2019-12-06 19:39 ` [PATCH 1/3] toolchain,glibc: Allow ARC big endian glibc builds Vineet Gupta
2019-12-06 21:18 ` [Buildroot] [PATCH 1/3] toolchain, glibc: " Thomas Petazzoni
2019-12-06 19:39 ` [PATCH 2/3] binutils/ARC: move ARC specific code together Vineet Gupta
2019-12-06 21:19 ` [Buildroot] " Thomas Petazzoni
2019-12-17 21:32 ` [PATCH v2] binutils/ARC: cleanup Vineet Gupta
2019-12-22 21:41 ` [Buildroot] " Thomas Petazzoni
2020-01-13 17:48 ` Vineet Gupta
2020-09-10 23:21 ` Vineet Gupta
2020-09-11 9:18 ` Thomas Petazzoni
2020-09-11 19:37 ` Vineet Gupta
2019-12-06 19:39 ` [PATCH 3/3] toolchain/ARC: Enable ability to build with upstream gcc/binutils Vineet Gupta
2019-12-06 21:26 ` [Buildroot] " Thomas Petazzoni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).