All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735
@ 2017-02-09 17:47 Jörg Krause
  2017-02-09 17:47 ` [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by " Jörg Krause
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Jörg Krause @ 2017-02-09 17:47 UTC (permalink / raw)
  To: buildroot

libstdc++ does not support exception propagation without lock-free atomic int.
The issue has been filed as GCC PR libstdc++/64735 [1] and fixed in GCC trunk
r244051 [2] and will be available in GCC 7. Patch #1 adds an option for
toolchains affected by this bug.

Patch #2, #3, and #4 marks the architectures NIOS II, ARMv4, ARMv5 and SPARCv8
as affected by this bug.

At least package mpd version 0.20 does not build for those architectures as it uses
`exception_ptr`. The package was bumped within the current release cycle. Mark the
package as affected in patch #5.

Patch #6 adds a choice between version 0.20 and 0.19 to mpd to still allow
building the package for the above architectures. Version 0.19 does not use the
exception C++11 feature and is therefore unaffected by GCC PR libstdc++/64735.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735
[2] https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=244051

J?rg Krause (6):
  toolchain: add option for toolchains affected by GCC PR
    libstdc++/64735
  arch: mark NIOS II as affected by GCC PR libstdc++/64735
  arch/arm: mark ARMv{4,5} as affected by GCC PR libstdc++/64735
  arch/sparc: mark SPARCv8 as affected by GCC PR libstdc++/64735
  package/mpd: affected by GCC PR libstdc++/64735
  package/mpd: add choice between version 0.19 and 0.20

 arch/Config.in                |  1 +
 arch/Config.in.arm            |  2 ++
 arch/Config.in.sparc          |  1 +
 package/mpd/Config.in         | 27 +++++++++++++++++++++++++--
 package/mpd/mpd.mk            |  9 +++++++++
 toolchain/toolchain-common.in |  4 ++++
 6 files changed, 42 insertions(+), 2 deletions(-)

-- 
2.11.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by GCC PR libstdc++/64735
  2017-02-09 17:47 [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735 Jörg Krause
@ 2017-02-09 17:47 ` Jörg Krause
  2017-02-09 20:30   ` Thomas Petazzoni
  2017-02-09 17:47 ` [Buildroot] [PATCH 2/6] arch: mark NIOS II as " Jörg Krause
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Jörg Krause @ 2017-02-09 17:47 UTC (permalink / raw)
  To: buildroot

exception_ptr, nested_exception, and future from libstdc++ are not
available for architectures not supporting always lock-free atomic ints
before GCC 7.

Bug report:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735

Fix available starting from GCC 7 (not yet released):
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=244051

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 toolchain/toolchain-common.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in
index 7a217b65c..0bd80c9fd 100644
--- a/toolchain/toolchain-common.in
+++ b/toolchain/toolchain-common.in
@@ -7,6 +7,10 @@ source "package/gdb/Config.in.host"
 
 comment "Toolchain Generic Options"
 
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735
+config BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+	bool
+
 # https://sourceware.org/bugzilla/show_bug.cgi?id=19405
 config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405
 	bool
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/6] arch: mark NIOS II as affected by GCC PR libstdc++/64735
  2017-02-09 17:47 [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735 Jörg Krause
  2017-02-09 17:47 ` [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by " Jörg Krause
@ 2017-02-09 17:47 ` Jörg Krause
  2017-02-09 20:32   ` Thomas Petazzoni
  2017-02-09 17:47 ` [Buildroot] [PATCH 3/6] arch/arm: mark ARMv{4, 5} " Jörg Krause
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Jörg Krause @ 2017-02-09 17:47 UTC (permalink / raw)
  To: buildroot

NIOS II does not support always lock-free atomic ints. Therefore,
exception_ptr, nested_exception, and future from libstdc++ are not
available before GCC 7.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 arch/Config.in | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/Config.in b/arch/Config.in
index 7149b2cb3..31e674d92 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -154,6 +154,7 @@ config BR2_mips64el
 config BR2_nios2
 	bool "Nios II"
 	select BR2_ARCH_HAS_MMU_MANDATORY
+	select BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 	help
 	  Nios II is a soft core processor from Altera Corporation.
 	  http://www.altera.com/
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 3/6] arch/arm: mark ARMv{4, 5} as affected by GCC PR libstdc++/64735
  2017-02-09 17:47 [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735 Jörg Krause
  2017-02-09 17:47 ` [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by " Jörg Krause
  2017-02-09 17:47 ` [Buildroot] [PATCH 2/6] arch: mark NIOS II as " Jörg Krause
@ 2017-02-09 17:47 ` Jörg Krause
  2017-02-09 17:47 ` [Buildroot] [PATCH 4/6] arch/sparc: mark SPARCv8 " Jörg Krause
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Jörg Krause @ 2017-02-09 17:47 UTC (permalink / raw)
  To: buildroot

ARMv4 and ARMv5 does not support always lock-free atomic ints.
Therefore, exception_ptr, nested_exception, and future from libstdc++
are not available before GCC 7.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 arch/Config.in.arm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index 2617976f1..0cf1ef5cd 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -46,9 +46,11 @@ config BR2_ARM_CPU_HAS_THUMB2
 
 config BR2_ARM_CPU_ARMV4
 	bool
+	select BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
 config BR2_ARM_CPU_ARMV5
 	bool
+	select BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 
 config BR2_ARM_CPU_ARMV6
 	bool
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 4/6] arch/sparc: mark SPARCv8 as affected by GCC PR libstdc++/64735
  2017-02-09 17:47 [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735 Jörg Krause
                   ` (2 preceding siblings ...)
  2017-02-09 17:47 ` [Buildroot] [PATCH 3/6] arch/arm: mark ARMv{4, 5} " Jörg Krause
@ 2017-02-09 17:47 ` Jörg Krause
  2017-02-09 17:47 ` [Buildroot] [PATCH 5/6] package/mpd: " Jörg Krause
  2017-02-09 17:47 ` [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20 Jörg Krause
  5 siblings, 0 replies; 15+ messages in thread
From: Jörg Krause @ 2017-02-09 17:47 UTC (permalink / raw)
  To: buildroot

SPARCv8 does not support always lock-free atomic ints. Therefore,
exception_ptr, nested_exception, and future from libstdc++ are not
available before GCC 7.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 arch/Config.in.sparc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/Config.in.sparc b/arch/Config.in.sparc
index 307540fdb..85b7c8cd8 100644
--- a/arch/Config.in.sparc
+++ b/arch/Config.in.sparc
@@ -9,6 +9,7 @@ choice
 config BR2_sparc_v8
 	bool "v8"
 	depends on BR2_sparc
+	select BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 config BR2_sparc_leon3
 	bool "leon3"
 	depends on BR2_sparc
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 5/6] package/mpd: affected by GCC PR libstdc++/64735
  2017-02-09 17:47 [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735 Jörg Krause
                   ` (3 preceding siblings ...)
  2017-02-09 17:47 ` [Buildroot] [PATCH 4/6] arch/sparc: mark SPARCv8 " Jörg Krause
@ 2017-02-09 17:47 ` Jörg Krause
  2017-02-09 20:33   ` Thomas Petazzoni
  2017-02-09 17:47 ` [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20 Jörg Krause
  5 siblings, 1 reply; 15+ messages in thread
From: Jörg Krause @ 2017-02-09 17:47 UTC (permalink / raw)
  To: buildroot

MPD uses `exception_ptr` from libstdc++ which is not available for
architectures affected by GCC PR libstdc++/64735.

Fixes:
http://autobuild.buildroot.net/results/552/552e0c4d6482b60045a91fd398c4ffecd8877cce/
http://autobuild.buildroot.net/results/4d3/4d384950b6dba21163bdcd7721ddad133beeb72b/
http://autobuild.buildroot.net/results/842/842e992315dd78765938e6b629386a18fa9bb00c/
.. and many more.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/mpd/Config.in | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 9b22f68ce..8a28b4f1a 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -5,6 +5,7 @@ menuconfig BR2_PACKAGE_MPD
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # fork
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
+	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
@@ -319,3 +320,6 @@ comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9"
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
 		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+
+comment "mpd needs a toolchain not affected by GCC bug 64735"
+	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20
  2017-02-09 17:47 [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735 Jörg Krause
                   ` (4 preceding siblings ...)
  2017-02-09 17:47 ` [Buildroot] [PATCH 5/6] package/mpd: " Jörg Krause
@ 2017-02-09 17:47 ` Jörg Krause
  2017-02-09 20:34   ` Thomas Petazzoni
  5 siblings, 1 reply; 15+ messages in thread
From: Jörg Krause @ 2017-02-09 17:47 UTC (permalink / raw)
  To: buildroot

MPD version 0.20 being affected by GCC PR libstdc++/64735 means no mpd
package available in Buildroot for the architectures NIOSII, ARMv4,
ARMv5 and SPARCv8 until GCC 7 is released.

As the next Buildroot release is in 2017.02 which is before GCC 7 is
expected to be released add a choise between version 0.19 and 0.20, so
that there is still an mpd package available for the affected
architectures.

Note, that we bumped the version from 0.19 to 0.20 within the current Buildroot
release cycle.

Note, that for the version 0.19 MPD requires libglib2.

Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
---
 package/mpd/Config.in | 31 +++++++++++++++++++++++++------
 package/mpd/mpd.mk    |  9 +++++++++
 2 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/package/mpd/Config.in b/package/mpd/Config.in
index 8a28b4f1a..2f993737f 100644
--- a/package/mpd/Config.in
+++ b/package/mpd/Config.in
@@ -4,8 +4,6 @@ menuconfig BR2_PACKAGE_MPD
 	depends on BR2_USE_WCHAR # flac
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_USE_MMU # fork
-	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
-	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	select BR2_PACKAGE_BOOST
 	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
@@ -20,6 +18,30 @@ menuconfig BR2_PACKAGE_MPD
 
 if BR2_PACKAGE_MPD
 
+choice
+	prompt "MPD version"
+
+config BR2_MPD_VERSION_0_20
+	bool "0.20"
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
+	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+
+comment "version 0.20 needs toolchain w/ gcc >= 4.9"
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+
+comment "version 0.20 needs a toolchain not affected by GCC bug 64735"
+	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+
+config BR2_MPD_VERSION_0_19
+	bool "0.19"
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
+	select BR2_PACKAGE_LIBGLIB2
+
+comment "version 0.19 needs toolchain w/ gcc >= 4.6"
+	depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_6
+
+endchoice
+
 comment "Archive plugins"
 
 config BR2_PACKAGE_MPD_BZIP2
@@ -319,7 +341,4 @@ comment "mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9"
 	depends on BR2_USE_MMU
 	depends on BR2_TOOLCHAIN_HAS_ATOMIC
 	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
-		!BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
-
-comment "mpd needs a toolchain not affected by GCC bug 64735"
-	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+		!BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/mpd/mpd.mk b/package/mpd/mpd.mk
index 0efc8685f..ad5d2a678 100644
--- a/package/mpd/mpd.mk
+++ b/package/mpd/mpd.mk
@@ -4,8 +4,13 @@
 #
 ################################################################################
 
+ifeq ($(BR2_MPD_VERSION_0_20),y)
 MPD_VERSION_MAJOR = 0.20
 MPD_VERSION = $(MPD_VERSION_MAJOR).4
+else
+MPD_VERSION_MAJOR = 0.19
+MPD_VERSION = $(MPD_VERSION_MAJOR).21
+endif
 MPD_SOURCE = mpd-$(MPD_VERSION).tar.xz
 MPD_SITE = http://www.musicpd.org/download/mpd/$(MPD_VERSION_MAJOR)
 MPD_DEPENDENCIES = host-pkgconf boost
@@ -13,6 +18,10 @@ MPD_LICENSE = GPLv2+
 MPD_LICENSE_FILES = COPYING
 MPD_AUTORECONF = YES
 
+ifeq ($(BR2_MPD_VERSION_0_19),y)
+MPD_DEPENDENCIES += libglib2
+endif
+
 # Some options need an explicit --disable or --enable
 
 # Zeroconf support depends on libdns_sd from avahi.
-- 
2.11.1

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by GCC PR libstdc++/64735
  2017-02-09 17:47 ` [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by " Jörg Krause
@ 2017-02-09 20:30   ` Thomas Petazzoni
  2017-02-10  6:52     ` Jörg Krause
  0 siblings, 1 reply; 15+ messages in thread
From: Thomas Petazzoni @ 2017-02-09 20:30 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu,  9 Feb 2017 18:47:54 +0100, J?rg Krause wrote:

> +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735

I've taken a part of your commit log, and added it as a comment here.

> +config BR2_TOOLCHAIN_HAS_GCC_BUG_64735
> +	bool

Instead of having this option selected by the architecture code, I've
added the relevant "default y" and "depends on" here. I believe it's
not worth spreading these selects all over the place.

Now that I write this, I realize I've written the logic in the wrong
way, I'll fix that up now.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 2/6] arch: mark NIOS II as affected by GCC PR libstdc++/64735
  2017-02-09 17:47 ` [Buildroot] [PATCH 2/6] arch: mark NIOS II as " Jörg Krause
@ 2017-02-09 20:32   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-02-09 20:32 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu,  9 Feb 2017 18:47:55 +0100, J?rg Krause wrote:
> NIOS II does not support always lock-free atomic ints. Therefore,
> exception_ptr, nested_exception, and future from libstdc++ are not
> available before GCC 7.
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
>  arch/Config.in | 1 +
>  1 file changed, 1 insertion(+)

I've marked patches 2, 3 and 4 as rejected in patchwork.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 5/6] package/mpd: affected by GCC PR libstdc++/64735
  2017-02-09 17:47 ` [Buildroot] [PATCH 5/6] package/mpd: " Jörg Krause
@ 2017-02-09 20:33   ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-02-09 20:33 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu,  9 Feb 2017 18:47:58 +0100, J?rg Krause wrote:
> MPD uses `exception_ptr` from libstdc++ which is not available for
> architectures affected by GCC PR libstdc++/64735.
> 
> Fixes:
> http://autobuild.buildroot.net/results/552/552e0c4d6482b60045a91fd398c4ffecd8877cce/
> http://autobuild.buildroot.net/results/4d3/4d384950b6dba21163bdcd7721ddad133beeb72b/
> http://autobuild.buildroot.net/results/842/842e992315dd78765938e6b629386a18fa9bb00c/
> .. and many more.
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> ---
>  package/mpd/Config.in | 4 ++++
>  1 file changed, 4 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20
  2017-02-09 17:47 ` [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20 Jörg Krause
@ 2017-02-09 20:34   ` Thomas Petazzoni
  2017-02-10  7:04     ` Jörg Krause
  2017-02-10  7:34     ` Jörg Krause
  0 siblings, 2 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-02-09 20:34 UTC (permalink / raw)
  To: buildroot

Hello,

On Thu,  9 Feb 2017 18:47:59 +0100, J?rg Krause wrote:
> MPD version 0.20 being affected by GCC PR libstdc++/64735 means no mpd
> package available in Buildroot for the architectures NIOSII, ARMv4,
> ARMv5 and SPARCv8 until GCC 7 is released.
> 
> As the next Buildroot release is in 2017.02 which is before GCC 7 is
> expected to be released add a choise between version 0.19 and 0.20, so
> that there is still an mpd package available for the affected
> architectures.
> 
> Note, that we bumped the version from 0.19 to 0.20 within the current Buildroot
> release cycle.
> 
> Note, that for the version 0.19 MPD requires libglib2.
> 
> Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>

I am not sure we want to support a version choice for mpd just for the
sake of NIOSII, ARMv4, ARMv5 and SPARCv8.

I'll let Peter Korsgaard decide if he believes this is worth the
additional complexity.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by GCC PR libstdc++/64735
  2017-02-09 20:30   ` Thomas Petazzoni
@ 2017-02-10  6:52     ` Jörg Krause
  0 siblings, 0 replies; 15+ messages in thread
From: Jörg Krause @ 2017-02-10  6:52 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Thu, 2017-02-09 at 21:30 +0100, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu,??9 Feb 2017 18:47:54 +0100, J?rg Krause wrote:
> 
> > +# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735
> 
> I've taken a part of your commit log, and added it as a comment here.
> 
> > +config BR2_TOOLCHAIN_HAS_GCC_BUG_64735
> > +	bool
> 
> Instead of having this option selected by the architecture code, I've
> added the relevant "default y" and "depends on" here. I believe it's
> not worth spreading these selects all over the place.

You're right! It's much cleaner this way. Thanks!

> Now that I write this, I realize I've written the logic in the wrong
> way, I'll fix that up now.

J?rg

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20
  2017-02-09 20:34   ` Thomas Petazzoni
@ 2017-02-10  7:04     ` Jörg Krause
  2017-02-11 14:25       ` Thomas Petazzoni
  2017-02-10  7:34     ` Jörg Krause
  1 sibling, 1 reply; 15+ messages in thread
From: Jörg Krause @ 2017-02-10  7:04 UTC (permalink / raw)
  To: buildroot

On Thu, 2017-02-09 at 21:34 +0100, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu,??9 Feb 2017 18:47:59 +0100, J?rg Krause wrote:
> > MPD version 0.20 being affected by GCC PR libstdc++/64735 means no
> > mpd
> > package available in Buildroot for the architectures NIOSII, ARMv4,
> > ARMv5 and SPARCv8 until GCC 7 is released.
> > 
> > As the next Buildroot release is in 2017.02 which is before GCC 7
> > is
> > expected to be released add a choise between version 0.19 and 0.20,
> > so
> > that there is still an mpd package available for the affected
> > architectures.
> > 
> > Note, that we bumped the version from 0.19 to 0.20 within the
> > current Buildroot
> > release cycle.
> > 
> > Note, that for the version 0.19 MPD requires libglib2.
> > 
> > Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> 
> I am not sure we want to support a version choice for mpd just for
> the
> sake of NIOSII, ARMv4, ARMv5 and SPARCv8.

I'm using an ARMv5 board with MPD?myself. I really like to have that
package available for this arch in the next Buildroot release.

> I'll let Peter Korsgaard decide if he believes this is worth the
> additional complexity.

Thanks!

J?rg

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20
  2017-02-09 20:34   ` Thomas Petazzoni
  2017-02-10  7:04     ` Jörg Krause
@ 2017-02-10  7:34     ` Jörg Krause
  1 sibling, 0 replies; 15+ messages in thread
From: Jörg Krause @ 2017-02-10  7:34 UTC (permalink / raw)
  To: buildroot

On Thu, 2017-02-09 at 21:34 +0100, Thomas Petazzoni wrote:
> Hello,
> 
> On Thu,??9 Feb 2017 18:47:59 +0100, J?rg Krause wrote:
> > MPD version 0.20 being affected by GCC PR libstdc++/64735 means no
> > mpd
> > package available in Buildroot for the architectures NIOSII, ARMv4,
> > ARMv5 and SPARCv8 until GCC 7 is released.
> > 
> > As the next Buildroot release is in 2017.02 which is before GCC 7
> > is
> > expected to be released add a choise between version 0.19 and 0.20,
> > so
> > that there is still an mpd package available for the affected
> > architectures.
> > 
> > Note, that we bumped the version from 0.19 to 0.20 within the
> > current Buildroot
> > release cycle.
> > 
> > Note, that for the version 0.19 MPD requires libglib2.
> > 
> > Signed-off-by: J?rg Krause <joerg.krause@embedded.rocks>
> 
> I am not sure we want to support a version choice for mpd just for
> the
> sake of NIOSII, ARMv4, ARMv5 and SPARCv8.
> 
> I'll let Peter Korsgaard decide if he believes this is worth the
> additional complexity.

Just noticed I forgot the hash for mpd 0.19. If Peter decides to accept
this patch, I can send an updated version.

J?rg

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20
  2017-02-10  7:04     ` Jörg Krause
@ 2017-02-11 14:25       ` Thomas Petazzoni
  0 siblings, 0 replies; 15+ messages in thread
From: Thomas Petazzoni @ 2017-02-11 14:25 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 10 Feb 2017 08:04:32 +0100, J?rg Krause wrote:

> > I am not sure we want to support a version choice for mpd just for
> > the
> > sake of NIOSII, ARMv4, ARMv5 and SPARCv8.  
> 
> I'm using an ARMv5 board with MPD?myself. I really like to have that
> package available for this arch in the next Buildroot release.

OK, makes sense. So could you send an updated version with the following
changes:

 - Hash for 0.19, as you mentioned.

 - Removal of visible options. Just use 0.20 if possible (recent enough
   and non-buggy compiler) and fallback to 0.19 if not. A visible
   choice is really not needed for this. Also, if you use any
   Config.in option for that, they should be prefixed BR2_PACKAGE_MPD
   and not BR2_MPD like your patch was doing.

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-02-11 14:25 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-09 17:47 [Buildroot] [PATCH 0/6] Deal with GCC PR libstdc++/64735 Jörg Krause
2017-02-09 17:47 ` [Buildroot] [PATCH 1/6] toolchain: add option for toolchains affected by " Jörg Krause
2017-02-09 20:30   ` Thomas Petazzoni
2017-02-10  6:52     ` Jörg Krause
2017-02-09 17:47 ` [Buildroot] [PATCH 2/6] arch: mark NIOS II as " Jörg Krause
2017-02-09 20:32   ` Thomas Petazzoni
2017-02-09 17:47 ` [Buildroot] [PATCH 3/6] arch/arm: mark ARMv{4, 5} " Jörg Krause
2017-02-09 17:47 ` [Buildroot] [PATCH 4/6] arch/sparc: mark SPARCv8 " Jörg Krause
2017-02-09 17:47 ` [Buildroot] [PATCH 5/6] package/mpd: " Jörg Krause
2017-02-09 20:33   ` Thomas Petazzoni
2017-02-09 17:47 ` [Buildroot] [PATCH 6/6] package/mpd: add choice between version 0.19 and 0.20 Jörg Krause
2017-02-09 20:34   ` Thomas Petazzoni
2017-02-10  7:04     ` Jörg Krause
2017-02-11 14:25       ` Thomas Petazzoni
2017-02-10  7:34     ` Jörg Krause

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.