Lttng packages bump
v2 cover Lttng packages bump
Hi all,
Here is the 2nd round of the LTTng related packages bump.
The main change it the way the liburcu/ARM gcc-4.8.2 bug 58854 is handled.
Yours,
Samuel
Samuel Martin (6):
liburcu: bump version to 0.8.3
lttng-libust: bump version to 2.4.0
lttng-modules: bump version to 2.4.0
lttng-tools: bump version to 2.4.0
lttng-babeltrace: bump version to 1.2.1
liburcu: disable build with gcc-4.8.x on ARM
package/liburcu/Config.in | 7 ++++ ...01-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch | 40 ++++++++++++++++++++++ package/liburcu/liburcu.mk | 6 ++-- package/lttng-babeltrace/lttng-babeltrace.mk | 6 ++-- package/lttng-libust/Config.in | 1 + package/lttng-libust/lttng-libust.mk | 4 +-- package/lttng-modules/lttng-modules.mk | 2 +- package/lttng-tools/Config.in | 1 + package/lttng-tools/lttng-tools.mk | 7 ++-- toolchain/toolchain-common.in | 3 ++ toolchain/toolchain-external/Config.in | 4 +++ 11 files changed, 68 insertions(+), 13 deletions(-) create mode 100644 package/liburcu/liburcu-0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch
--
1.9.0
PATCH v2 1/6 liburcu: bump version to 0.8.3
Also adjust the license details
---
changes v1 -> v2:
- rebase
--- package/liburcu/liburcu.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
package/liburcu/liburcu.mk +3 -3
@@ -4,11 +4,11 @@ # ################################################################################ -LIBURCU_VERSION = 0.7.7 +LIBURCU_VERSION = 0.8.3 LIBURCU_SITE = http://lttng.org/files/urcu/ LIBURCU_SOURCE = userspace-rcu-$(LIBURCU_VERSION).tar.bz2 -LIBURCU_LICENSE = LGPLv2.1+ for the library; MIT-like license for few source files listed in LICENSE -LIBURCU_LICENSE_FILES = lgpl-2.1.txt lgpl-relicensing.txt LICENSE +LIBURCU_LICENSE = LGPLv2.1+ for the library; MIT-like license for few source files listed in LICENSE; GPLv2+ for test; GPLv3 for few *.m4 files +LIBURCU_LICENSE_FILES = lgpl-2.1.txt lgpl-relicensing.txt gpl-2.0.txt LICENSE LIBURCU_INSTALL_STAGING = YES
Signature · 1 line
1.9.0
PATCH v2 2/6 lttng-libust: bump version to 2.4.0
In reply to Samuel MartinAlso adjust the license details
---
changes v1 -> v2
- rebase
--- package/lttng-libust/lttng-libust.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/lttng-libust/lttng-libust.mk +2 -2
@@ -5,9 +5,9 @@ ################################################################################ LTTNG_LIBUST_SITE = http://lttng.org/files/lttng-ust/ -LTTNG_LIBUST_VERSION = 2.2.0 +LTTNG_LIBUST_VERSION = 2.4.0 LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.bz2 -LTTNG_LIBUST_LICENSE = LGPLv2.1; GPLv2 for lttng-gen-tp and ust-ctl +LTTNG_LIBUST_LICENSE = LGPLv2.1; MIT for system headers; GPLv2 for liblttng-ust-ctl/ustctl.c (used by lttng-sessiond) LTTNG_LIBUST_LICENSE_FILES = COPYING LTTNG_LIBUST_INSTALL_STAGING = YES
Signature · 1 line
1.9.0
PATCH v2 3/6 lttng-modules: bump version to 2.4.0
In reply to Samuel Martin---
changes v1 -> v2:
- rebase
--- package/lttng-modules/lttng-modules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
package/lttng-modules/lttng-modules.mk +1 -1
@@ -4,7 +4,7 @@ # ################################################################################ -LTTNG_MODULES_VERSION = 2.2.0 +LTTNG_MODULES_VERSION = 2.4.0 LTTNG_MODULES_SITE = http://lttng.org/files/lttng-modules/ LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 LTTNG_MODULES_LICENSE = LGPLv2.1/GPLv2 for kernel modules; MIT for lib/bitfield.h and lib/prio_heap/*
Signature · 1 line
1.9.0
PATCH v2 4/6 lttng-tools: bump version to 2.4.0
In reply to Samuel MartinAlso adjust the license details
---
changes v1 -> v2:
- rebase
--- package/lttng-tools/lttng-tools.mk | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)
package/lttng-tools/lttng-tools.mk +3 -4
@@ -4,12 +4,11 @@ # ################################################################################ -LTTNG_TOOLS_VERSION = 2.2.0 +LTTNG_TOOLS_VERSION = 2.4.0 LTTNG_TOOLS_SITE = http://lttng.org/files/lttng-tools/ LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 -LTTNG_TOOLS_LICENSE = GPLv2; LGPLv2.1 for include/lttng/* and src/lib/lttng-ctl/* -# gpl-2.0.txt and lgpl-2.1.txt files are missing from the sources -LTTNG_TOOLS_LICENSE_FILES = LICENSE +LTTNG_TOOLS_LICENSE = GPLv2+; LGPLv2.1+ for include/lttng/* and src/lib/lttng-ctl/* +LTTNG_TOOLS_LICENSE_FILES = gpl-2.0.txt lgpl-2.1.txt LICENSE # The host-lttng-babeltrace technically isn't a required build # dependency. However, having the babeltrace utilities built for the
Signature · 1 line
1.9.0
PATCH v2 5/6 lttng-babeltrace: bump version to 1.2.1
In reply to Samuel MartinAlso adjust the license details
---
changes v1 -> v2:
- rebase
- bump version (1.2.0 -> 1.2.1)
--- package/lttng-babeltrace/lttng-babeltrace.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
package/lttng-babeltrace/lttng-babeltrace.mk +3 -3
@@ -5,10 +5,10 @@ ################################################################################ LTTNG_BABELTRACE_SITE = http://lttng.org/files/babeltrace/ -LTTNG_BABELTRACE_VERSION = 1.1.1 +LTTNG_BABELTRACE_VERSION = 1.2.1 LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2 -LTTNG_BABELTRACE_LICENSE = MIT; LGPLv2 for include/babeltrace/list.h; GPLv3+ for formats/ctf/metadata/ctf-parser.h -LTTNG_BABELTRACE_LICENSE_FILES = mit-license.txt LICENSE +LTTNG_BABELTRACE_LICENSE = MIT; LGPL2.1 for include/babeltrace/list.h; GPLv2+ for test code +LTTNG_BABELTRACE_LICENSE_FILES = mit-license.txt glp-2.0.txt LICENSE LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2
Signature · 1 line
1.9.0
PATCH v2 6/6 liburcu: disable build with gcc-4.8.x on ARM
In reply to Samuel MartinBecause 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
---
changes v1 -> v2:
- rebase
- do not blindly blacklist all ARM gcc-4.8.2 (ThomasP)
- introduce BR2_TOOLCHAIN_HAS_GCC_BUG_58854 symbol (ThomasP)
--- package/liburcu/Config.in | 7 ++++ ...01-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch | 40 ++++++++++++++++++++++ package/lttng-libust/Config.in | 1 + package/lttng-tools/Config.in | 1 + toolchain/toolchain-common.in | 3 ++ toolchain/toolchain-external/Config.in | 4 +++ 6 files changed, 56 insertions(+) create mode 100644 package/liburcu/liburcu-0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch
package/liburcu/Config.in +7 -0
@@ -1,6 +1,7 @@ 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)
@@ -8,6 +9,12 @@ config BR2_PACKAGE_LIBURCU 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"
package/liburcu/liburcu-0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch new file +40 -0
@@ -0,0 +1,40 @@ +From 54d8fe7ae40902d6d38e670f4024092f53c14e1f Mon Sep 17 00:00:00 2001 +From: Samuel Martin <[email protected]> +Date: Sat, 8 Mar 2014 13:19:14 +0100 +Subject: [PATCH] Only blacklist ARM gcc 4.8.0 and 4.8.1 + +Since many ARM toolchain providers include the bug fix for PR58854 in +their latest releases based on gcc-4.8.2, then only blacklist gcc 4.8.0 +and 4.8.1. + +Signed-off-by: Samuel Martin <[email protected]> +--- + urcu/compiler.h | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/urcu/compiler.h b/urcu/compiler.h +index 1e30903..56115f1 100644 +--- a/urcu/compiler.h ++++ b/urcu/compiler.h +@@ -118,10 +118,17 @@ + + __GNUC_PATCHLEVEL__) + + /* ++ * Official gcc releases from 4.8.0 to 4.8.2 have the following bug, ++ * however, many arm toolchain providers have the included the fix for ++ * their latest 4.8.2 releases. ++ * So, we only blacklist gcc 4.8.0 and 4.8.1. ++ * Unfortunately, this bug is not easy to test, so we rely on the ++ * knowledge of the user on its compiler. ++ * + * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58854 + */ + # ifdef __ARMEL__ +-# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40802 ++# if URCU_GCC_VERSION >= 40800 && URCU_GCC_VERSION <= 40801 + # error Your gcc version produces clobbered frame accesses + # endif + # endif +-- +1.9.0 +
package/lttng-libust/Config.in +1 -0
@@ -8,6 +8,7 @@ config BR2_PACKAGE_LTTNG_LIBUST depends on BR2_LARGEFILE # liburcu only works on some architectures and requires threads support" 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 tracing library for the Lttng tracing
package/lttng-tools/Config.in +1 -0
@@ -6,6 +6,7 @@ config BR2_PACKAGE_LTTNG_TOOLS select BR2_PACKAGE_UTIL_LINUX_LIBUUID # liburcu only works on some architectures and requires thread support 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_LARGEFILE depends on BR2_USE_WCHAR # util-linux depends on BR2_TOOLCHAIN_HAS_THREADS
toolchain/toolchain-common.in +3 -0
@@ -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
toolchain/toolchain-external/Config.in +4 -0
@@ -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
Signature · 1 line
1.9.0
PATCH v2 6/6 liburcu: disable build with gcc-4.8.x on ARM
Quoted 56 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Samuel" == Samuel Martin <[email protected]> writes:
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/122147Signed-off-by Samuel Martin <[email protected]>---
changes v1 -> v2:
- rebase
- do not blindly blacklist all ARM gcc-4.8.2 (ThomasP)
- introduceBR2_TOOLCHAIN_HAS_GCC_BUG_58854symbol (ThomasP)--- package/liburcu/Config.in | 7 ++++ ...01-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patch | 40 ++++++++++++++++++++++ package/lttng-libust/Config.in | 1 + package/lttng-tools/Config.in | 1 + toolchain/toolchain-common.in | 3 ++ toolchain/toolchain-external/Config.in | 4 +++ 6 files changed, 56 insertions(+) create mode 100644 package/liburcu/liburcu-0001-Only-blacklist-ARM-gcc-4.8.0-and-4.8.1.patchpackage/liburcu/Config.in +1
-0@@ -1,6 +1,7 @@ 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)@@ -8,6 +9,12 @@ config BR2_PACKAGE_LIBURCU the LTTng tracing infrastructure, but can be used for other purposes as well.
package/liburcu/Config.in config BR2_PACKAGE_LIBURCU · line 20
Quoted 10 lines
package/liburcu/Config.in +6
-0+ 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"
The toolchain comment should also depend on !BUG_58854 and another comment should be added (depending on BUG_58854) explaining why the package isn't available.
Same for lttng-libusb / lttng-tools.
Committed series with this fixed, thanks!
Signature · 1 line
Bye, Peter Korsgaard