[Buildroot] [PATCH 6/6] liburcu: disable build with gcc-4.8.x on ARM
Samuel Martin
s.martin49 at gmail.com
Sat Mar 1 23:39:53 UTC 2014
Because of a gcc bug [1], liburcu checks for compiler version [2] and
stops the build prematurely if gcc-4.8.[0-2] is detected for ARM.
So, this patch tries to reflect this toolchain dependency on liburcu and
all its reverse dependency packages.
However, a limitation of this is when the user is using a custom
toolchain; that's why the bug details have been added in the liburcu
help message.
[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854
[2] http://git.lttng.org/?p=userspace-rcu.git;a=commitdiff;h=4b79310
Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
---
package/liburcu/Config.in | 11 +++++++++++
package/lttng-libust/Config.in | 6 ++++++
package/lttng-tools/Config.in | 6 ++++++
3 files changed, 23 insertions(+)
diff --git a/package/liburcu/Config.in b/package/liburcu/Config.in
index 15ad5bd..90e9199 100644
--- a/package/liburcu/Config.in
+++ b/package/liburcu/Config.in
@@ -1,6 +1,12 @@
config BR2_PACKAGE_LIBURCU
bool "liburcu"
depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
+ # liburcu/gcc-4.8.x bug
+ depends on !((BR2_arm || BR2_armeb) && (BR2_GCC_VERSION_4_8_X || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_11 || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_10 || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_09 || \
+ BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311))
depends on BR2_TOOLCHAIN_HAS_THREADS
help
Userspace implementation of the Read-Copy-Update (RCU)
@@ -8,6 +14,11 @@ config BR2_PACKAGE_LIBURCU
the LTTng tracing infrastructure, but can be used for other
purposes as well.
+ On ARM, liburcu cannot be built using gcc 4.8.0, 4.8.1 or 4.8.2
+ because of:
+ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854
+ http://git.lttng.org/?p=userspace-rcu.git;a=commitdiff;h=4b79310
+
http://lttng.org/urcu
comment "liburcu needs a toolchain w/ threads"
diff --git a/package/lttng-libust/Config.in b/package/lttng-libust/Config.in
index 5e1a6d4..7ec5053 100644
--- a/package/lttng-libust/Config.in
+++ b/package/lttng-libust/Config.in
@@ -1,5 +1,11 @@
config BR2_PACKAGE_LTTNG_LIBUST
bool "lttng-libust"
+ # liburcu/gcc-4.8.x bug
+ depends on !((BR2_arm || BR2_armeb) && (BR2_GCC_VERSION_4_8_X || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_11 || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_10 || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_09 || \
+ BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311))
select BR2_PACKAGE_LIBURCU
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
diff --git a/package/lttng-tools/Config.in b/package/lttng-tools/Config.in
index 1e9e0c3..0f31bee 100644
--- a/package/lttng-tools/Config.in
+++ b/package/lttng-tools/Config.in
@@ -1,5 +1,11 @@
config BR2_PACKAGE_LTTNG_TOOLS
bool "lttng-tools"
+ # liburcu/gcc-4.8.x bug
+ depends on !((BR2_arm || BR2_armeb) && (BR2_GCC_VERSION_4_8_X || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_11 || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_10 || \
+ BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_09 || \
+ BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311))
select BR2_PACKAGE_LIBURCU
select BR2_PACKAGE_POPT
select BR2_PACKAGE_UTIL_LINUX
--
1.9.0
More information about the buildroot
mailing list