diff options
author | Samuel Martin <s.martin49@gmail.com> | 2014-03-08 15:38:31 +0100 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2014-03-23 23:17:56 +0100 |
commit | a1a86ebfbad1bcce471376ae74e42304553e725e (patch) | |
tree | 7578653d579c858377413444a617f73bd7c4a6b5 /toolchain | |
parent | 7e634a4836c5a2754cf94924baee7082efa9dd49 (diff) | |
download | buildroot-a1a86ebfbad1bcce471376ae74e42304553e725e.tar.gz buildroot-a1a86ebfbad1bcce471376ae74e42304553e725e.zip |
liburcu: disable build with gcc-4.8.x on ARM
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.
However a bug fix exists [3] and may be backported by ARM toolchain
providers; that's what is done in Buildroot [4] or Linaro [5].
So, this change:
- add a patch in liburcu to allow build with ARM gcc-4.8.2;
- adds a new hidden symbol to reflect the toolchain status with regard
to this bug [1];
- and controls liburcu visibility.
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
[3] http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=204665
[4] http://git.buildroot.net/buildroot/commit/?id=c443c2be1768ebbdcb76c55d0a08fd7c983488c8
[5] http://bazaar.launchpad.net/~linaro-toolchain-dev/gcc-linaro/4.8/revision/122147
[Peter: hide normal toolchain comment if bug, add comment explaining issue if bug]
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/toolchain-common.in | 3 | ||||
-rw-r--r-- | toolchain/toolchain-external/Config.in | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in index 8927bf70f4..9dd2f5de63 100644 --- a/toolchain/toolchain-common.in +++ b/toolchain/toolchain-common.in @@ -11,6 +11,9 @@ config BR2_LARGEFILE config BR2_INET_IPV6 bool +config BR2_TOOLCHAIN_HAS_GCC_BUG_58854 + bool + config BR2_TOOLCHAIN_HAS_NATIVE_RPC bool diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 7ad46c3f19..3990336195 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -13,6 +13,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_11 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABIHF depends on !BR2_PREFER_STATIC_LIB + select BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # toolchain generated before fix backport select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP @@ -36,6 +37,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_10 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABIHF depends on !BR2_PREFER_STATIC_LIB + select BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # toolchain generated before fix backport select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP @@ -59,6 +61,7 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_2013_09 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABIHF depends on !BR2_PREFER_STATIC_LIB + select BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # toolchain generated before fix backport select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP @@ -86,6 +89,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201311 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" depends on BR2_ARM_EABI depends on !BR2_PREFER_STATIC_LIB + select BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # based-on gcc-4.8.1 select BR2_TOOLCHAIN_EXTERNAL_GLIBC select BR2_TOOLCHAIN_HAS_NATIVE_RPC select BR2_INSTALL_LIBSTDCPP |