buildroot/package/liburcu/Config.in
Samuel Martin a1a86ebfba 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>
2014-03-23 23:17:56 +01:00

27 lines
1.0 KiB
Plaintext

config BR2_PACKAGE_LIBURCU
bool "liburcu"
depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # liburcu/gcc-4.8.x bug
depends on BR2_TOOLCHAIN_HAS_THREADS
help
Userspace implementation of the Read-Copy-Update (RCU)
synchronization mechanism. This library is mainly used by
the LTTng tracing infrastructure, but can be used for other
purposes as well.
On ARM, because of bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854
liburcu cannot be built using gcc 4.8.0, 4.8.1 or 4.8.2 without the
following bug fix:
http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=204665
http://lttng.org/urcu
comment "liburcu needs a toolchain w/ threads"
depends on BR2_arm || BR2_armeb || BR2_i386 || BR2_powerpc || BR2_x86_64
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_58854 # liburcu/gcc-4.8.x bug
depends on !BR2_TOOLCHAIN_HAS_THREADS
comment "liburcu needs a toolchain not affected by GCC bug 58854"
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_58854