toolchain: add option for toolchains affected by GCC PR libstdc++/64735
authorJörg Krause <joerg.krause@embedded.rocks>
Thu, 9 Feb 2017 17:47:54 +0000 (18:47 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 9 Feb 2017 20:26:22 +0000 (21:26 +0100)
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>
[Thomas:
 - directly define the value where BR2_TOOLCHAIN_HAS_GCC_BUG_64735
   rather than having additional patches touching affected architectures
   Config.in files
 - add a better comment above the Config.in option.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
toolchain/toolchain-common.in

index 7a217b65c47822673469721555fef8550757dbcb..c64f2046f9015bea3a20ed9af0ebf5341eb26035 100644 (file)
@@ -7,6 +7,18 @@ source "package/gdb/Config.in.host"
 
 comment "Toolchain Generic Options"
 
+# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735
+# exception_ptr, nested_exception, and future from libstdc++ are not
+# available for architectures not supporting always lock-free atomic
+# ints before GCC 7
+config BR2_TOOLCHAIN_HAS_GCC_BUG_64735
+       bool
+       default y
+       depends on !BR2_nios2
+       depends on !BR2_ARM_CPU_ARMV4
+       depends on !BR2_ARM_CPU_ARMV5
+       depends on !BR2_sparc_v8
+
 # https://sourceware.org/bugzilla/show_bug.cgi?id=19405
 config BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19405
        bool