All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0
@ 2016-11-02  6:55 Philippe Proulx
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 1/4] lttng-tools: bump to version 2.8.2 Philippe Proulx
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Philippe Proulx @ 2016-11-02  6:55 UTC (permalink / raw)
  To: buildroot

See if this is okay and I will rename lttng-babeltrace to babeltrace
again and submit this last patch.

Philippe Proulx (4):
  lttng-tools: bump to version 2.8.2
  lttng-babeltrace: bump to version 1.4.0
  lttng-babeltrace: add host Babeltrace as host utility
  lttng-babeltrace: add debug info support

 package/Config.in.host                             |   1 +
 .../0001-no-posix-fallocate-in-uclibc.patch        |  37 --
 ...b-Makefile.am-remove-unneeded-static-flag.patch |  36 ++
 ...ix-uuid-support-detection-on-static-build.patch |  63 ---
 ...-m4-ax_lib_elfutils.m4-add-cache-variable.patch |  74 ++++
 package/lttng-babeltrace/Config.in                 |  29 +-
 package/lttng-babeltrace/Config.in.host            |  14 +
 package/lttng-babeltrace/lttng-babeltrace.hash     |  11 +-
 package/lttng-babeltrace/lttng-babeltrace.mk       |  16 +-
 ...ld-failure-when-__GLIBC_PREREQ-is-missing.patch |  55 ---
 ...Fix-snapshot-del-output-with-name-on-musl.patch |  32 ++
 .../0002-Fix-add-missing-sys-types.h-header.patch  |  29 --
 ...Fix-strerror_r-behavior-is-glibc-specific.patch |  30 ++
 ...et-thread-stack-size-to-ulimit-soft-value.patch | 431 +++++++++++++++++++++
 package/lttng-tools/lttng-tools.hash               |   6 +-
 package/lttng-tools/lttng-tools.mk                 |  10 +-
 16 files changed, 667 insertions(+), 207 deletions(-)
 delete mode 100644 package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch
 create mode 100644 package/lttng-babeltrace/0001-tests-lib-Makefile.am-remove-unneeded-static-flag.patch
 delete mode 100644 package/lttng-babeltrace/0002-configure-fix-uuid-support-detection-on-static-build.patch
 create mode 100644 package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
 create mode 100644 package/lttng-babeltrace/Config.in.host
 delete mode 100644 package/lttng-tools/0001-Fix-build-failure-when-__GLIBC_PREREQ-is-missing.patch
 create mode 100644 package/lttng-tools/0001-Fix-snapshot-del-output-with-name-on-musl.patch
 delete mode 100644 package/lttng-tools/0002-Fix-add-missing-sys-types.h-header.patch
 create mode 100644 package/lttng-tools/0002-Fix-strerror_r-behavior-is-glibc-specific.patch
 create mode 100644 package/lttng-tools/0003-Set-thread-stack-size-to-ulimit-soft-value.patch

-- 
2.9.3

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 1/4] lttng-tools: bump to version 2.8.2
  2016-11-02  6:55 [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Philippe Proulx
@ 2016-11-02  6:55 ` Philippe Proulx
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 2/4] lttng-babeltrace: bump to version 1.4.0 Philippe Proulx
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Philippe Proulx @ 2016-11-02  6:55 UTC (permalink / raw)
  To: buildroot

The current patches are dropped because they were merged upstream.

The new patches exist to fix the build with musl. They were submitted on
the lttng-dev mailing list, but not merged yet, or not merged in 2.8.2.

LTTng-tools now has its man pages written in AsciiDoc and they get
converted to troff at build time. This is not needed in a Buildroot
image anyway.

The --enable-lttng-ust/--disable-lttng-ust configure options are renamed
to --with-lttng-ust/--without-lttng-ust in v2.8.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
---
Changes v3 -> v4:
  - Fix patch file that does not apply.

Changes v2 -> v3:
  - Add links to original patches in patch files.
  - Remove the original patch index from the subject of patch files.

Changes v1 -> v2:
  - Detailed commit message.
  - Complete patches with author and date.

 ...ld-failure-when-__GLIBC_PREREQ-is-missing.patch |  55 ---
 ...Fix-snapshot-del-output-with-name-on-musl.patch |  32 ++
 .../0002-Fix-add-missing-sys-types.h-header.patch  |  29 --
 ...Fix-strerror_r-behavior-is-glibc-specific.patch |  30 ++
 ...et-thread-stack-size-to-ulimit-soft-value.patch | 431 +++++++++++++++++++++
 package/lttng-tools/lttng-tools.hash               |   6 +-
 package/lttng-tools/lttng-tools.mk                 |  10 +-
 7 files changed, 502 insertions(+), 91 deletions(-)
 delete mode 100644 package/lttng-tools/0001-Fix-build-failure-when-__GLIBC_PREREQ-is-missing.patch
 create mode 100644 package/lttng-tools/0001-Fix-snapshot-del-output-with-name-on-musl.patch
 delete mode 100644 package/lttng-tools/0002-Fix-add-missing-sys-types.h-header.patch
 create mode 100644 package/lttng-tools/0002-Fix-strerror_r-behavior-is-glibc-specific.patch
 create mode 100644 package/lttng-tools/0003-Set-thread-stack-size-to-ulimit-soft-value.patch

diff --git a/package/lttng-tools/0001-Fix-build-failure-when-__GLIBC_PREREQ-is-missing.patch b/package/lttng-tools/0001-Fix-build-failure-when-__GLIBC_PREREQ-is-missing.patch
deleted file mode 100644
index 2c01dea..0000000
--- a/package/lttng-tools/0001-Fix-build-failure-when-__GLIBC_PREREQ-is-missing.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Tue, 8 Mar 2016 14:25:34 +0200
-Subject: [PATCH] Fix: build failure when __GLIBC_PREREQ is missing
-
-The musl C library does not provide the __GLIBC_PREREQ macro. Instead of
-relying on glibc version test, check directly for the availability of
-epoll_create1().
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Patch status: sent upstream rebased on master branch
-(http://lists.lttng.org/pipermail/lttng-dev/2016-March/025593.html)
-
- configure.ac             | 2 +-
- src/common/compat/poll.h | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 66d83b60b017..4fc1160c9a08 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -70,7 +70,7 @@ AC_CHECK_FUNCS([ \
- 	gethostbyname gethostname getpagesize localtime_r memchr memset \
- 	mkdir munmap putenv realpath rmdir socket strchr strcspn strdup \
- 	strncasecmp strndup strpbrk strrchr strstr strtol strtoul \
--	strtoull \
-+	strtoull epoll_create1 \
- ])
- 
- # Babeltrace viewer check
-diff --git a/src/common/compat/poll.h b/src/common/compat/poll.h
-index 699901848dc1..84f25d5c85aa 100644
---- a/src/common/compat/poll.h
-+++ b/src/common/compat/poll.h
-@@ -73,7 +73,7 @@ enum {
- 	LPOLLNVAL = EPOLLHUP,
- 	LPOLLRDHUP = EPOLLRDHUP,
- 	/* Close on exec feature of epoll */
--#if __GLIBC_PREREQ(2, 9)
-+#if defined(HAVE_EPOLL_CREATE1) && defined(EPOLL_CLOEXEC)
- 	LTTNG_CLOEXEC = EPOLL_CLOEXEC,
- #else
- 	/*
-@@ -127,7 +127,7 @@ extern int compat_epoll_create(struct lttng_poll_event *events,
- #define lttng_poll_create(events, size, flags) \
- 	compat_epoll_create(events, size, flags)
- 
--#if __GLIBC_PREREQ(2, 9)
-+#if defined(HAVE_EPOLL_CREATE1) && defined(EPOLL_CLOEXEC)
- static inline int compat_glibc_epoll_create(int size __attribute__((unused)),
- 		int flags)
- {
--- 
-2.7.0
-
diff --git a/package/lttng-tools/0001-Fix-snapshot-del-output-with-name-on-musl.patch b/package/lttng-tools/0001-Fix-snapshot-del-output-with-name-on-musl.patch
new file mode 100644
index 0000000..102a02b
--- /dev/null
+++ b/package/lttng-tools/0001-Fix-snapshot-del-output-with-name-on-musl.patch
@@ -0,0 +1,32 @@
+From: mjeanson at efficios.com Michael Jeanson
+Date: Wed, 15 Jun 2016 17:18:02 -0400
+Subject: [lttng-dev] [PATCH] Fix: snapshot del-output with name on musl
+
+Some implementations of strtol() like the one in musl will
+return EINVAL in perror when no valid number was found in
+the string.
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+[Philippe: grabbed from the mailing list:
+    https://lists.lttng.org/pipermail/lttng-dev/2016-June/026192.html
+ and adapted to 2.8.2.]
+Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
+---
+ src/bin/lttng/commands/snapshot.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/bin/lttng/commands/snapshot.c b/src/bin/lttng/commands/snapshot.c
+index d948226..00aa5b7 100644
+--- a/src/bin/lttng/commands/snapshot.c
++++ b/src/bin/lttng/commands/snapshot.c
+@@ -447,7 +447,7 @@ static int cmd_del_output(int argc, const char **argv)
+
+ 	errno = 0;
+ 	id = strtol(argv[1], &name, 10);
+-	if (id == 0 && errno == 0) {
++	if (id == 0 && (errno == 0 || errno == EINVAL)) {
+ 		if (lttng_opt_mi) {
+ 			ret = mi_del_output(UINT32_MAX, name);
+ 		} else {
+--
+2.7.4
diff --git a/package/lttng-tools/0002-Fix-add-missing-sys-types.h-header.patch b/package/lttng-tools/0002-Fix-add-missing-sys-types.h-header.patch
deleted file mode 100644
index 5ce2da5..0000000
--- a/package/lttng-tools/0002-Fix-add-missing-sys-types.h-header.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Tue, 8 Mar 2016 14:40:49 +0200
-Subject: [PATCH] Fix: add missing sys/types.h header
-
-The musl C library requires inclusion of sys/types.h for mode_t.
-
-Signed-off-by: Baruch Siach <baruch@tkos.co.il>
----
-Patch status: sent upstream
-(http://lists.lttng.org/pipermail/lttng-dev/2016-March/025594.html)
-
- src/common/runas.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/common/runas.h b/src/common/runas.h
-index 2c5565af3646..ac1143eecf84 100644
---- a/src/common/runas.h
-+++ b/src/common/runas.h
-@@ -19,6 +19,7 @@
-  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-  */
- 
-+#include <sys/types.h>
- #include <unistd.h>
- #include <pthread.h>
- 
--- 
-2.7.0
-
diff --git a/package/lttng-tools/0002-Fix-strerror_r-behavior-is-glibc-specific.patch b/package/lttng-tools/0002-Fix-strerror_r-behavior-is-glibc-specific.patch
new file mode 100644
index 0000000..5608a1e
--- /dev/null
+++ b/package/lttng-tools/0002-Fix-strerror_r-behavior-is-glibc-specific.patch
@@ -0,0 +1,30 @@
+From fc743b22fc26eab9f9dbf48e4505ed2394924bba Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Mon, 13 Jun 2016 18:44:17 -0400
+Subject: [PATCH lttng-tools 4/4] Fix: strerror_r behavior is glibc specific
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+[Philippe: grabbed from the mailing list:
+    https://lists.lttng.org/pipermail/lttng-dev/2016-June/026194.html
+]
+Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
+---
+ src/common/error.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/error.h b/src/common/error.h
+index 0fbd3a2..e8c811e 100644
+--- a/src/common/error.h
++++ b/src/common/error.h
+@@ -198,7 +198,7 @@ static inline void __lttng_print_check_abort(enum lttng_error_level type)
+ 
+ #define _PERROR(fmt, args...) _ERRMSG("PERROR", PRINT_ERR, fmt, ## args)
+ 
+-#if !defined(__linux__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE))
++#if !defined(__GLIBC__) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE))
+ 
+ /*
+  * Version using XSI strerror_r.
+-- 
+2.7.4
+
diff --git a/package/lttng-tools/0003-Set-thread-stack-size-to-ulimit-soft-value.patch b/package/lttng-tools/0003-Set-thread-stack-size-to-ulimit-soft-value.patch
new file mode 100644
index 0000000..c0dd067
--- /dev/null
+++ b/package/lttng-tools/0003-Set-thread-stack-size-to-ulimit-soft-value.patch
@@ -0,0 +1,431 @@
+From 451f4d875537c073a966d6ccfb2fe08a497fbd7b Mon Sep 17 00:00:00 2001
+From: Michael Jeanson <mjeanson@efficios.com>
+Date: Wed, 15 Jun 2016 11:01:08 -0500
+Subject: [PATCH] Set thread stack size to ulimit soft value
+
+Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
+[Philippe: grabbed from the mailing list:
+    https://lists.lttng.org/pipermail/lttng-dev/2016-June/026196.html
+]
+Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
+---
+ src/bin/lttng-consumerd/lttng-consumerd.c | 17 ++++++----
+ src/bin/lttng-relayd/live.c               | 10 +++---
+ src/bin/lttng-relayd/live.h               |  2 +-
+ src/bin/lttng-relayd/main.c               | 14 +++++---
+ src/bin/lttng-sessiond/main.c             | 27 +++++++++------
+ src/common/utils.c                        | 56 +++++++++++++++++++++++++++++++
+ src/common/utils.h                        |  1 +
+ 7 files changed, 99 insertions(+), 28 deletions(-)
+
+diff --git a/src/bin/lttng-consumerd/lttng-consumerd.c b/src/bin/lttng-consumerd/lttng-consumerd.c
+index 00660fc..2f1d01c 100644
+--- a/src/bin/lttng-consumerd/lttng-consumerd.c
++++ b/src/bin/lttng-consumerd/lttng-consumerd.c
+@@ -57,6 +57,8 @@
+ static pthread_t channel_thread, data_thread, metadata_thread,
+ 		sessiond_thread, metadata_timer_thread, health_thread;
+ 
++static pthread_attr_t *tattr;
++
+ /* to count the number of times the user pressed ctrl+c */
+ static int sigintcount = 0;
+ 
+@@ -351,6 +353,9 @@ int main(int argc, char **argv)
+ 		}
+ 	}
+ 
++	/* Get stacksize limit */
++	tattr = get_pthread_attr_stacksize();
++
+ 	/*
+ 	 * Starting from here, we can create threads. This needs to be after
+ 	 * lttng_daemonize due to RCU.
+@@ -498,7 +503,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage the client socket */
+-	ret = pthread_create(&health_thread, NULL,
++	ret = pthread_create(&health_thread, tattr,
+ 			thread_manage_health, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -517,7 +522,7 @@ int main(int argc, char **argv)
+ 	cmm_smp_mb();	/* Read ready before following operations */
+ 
+ 	/* Create thread to manage channels */
+-	ret = pthread_create(&channel_thread, NULL,
++	ret = pthread_create(&channel_thread, tattr,
+ 			consumer_thread_channel_poll,
+ 			(void *) ctx);
+ 	if (ret) {
+@@ -528,7 +533,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage the polling/writing of trace metadata */
+-	ret = pthread_create(&metadata_thread, NULL,
++	ret = pthread_create(&metadata_thread, tattr,
+ 			consumer_thread_metadata_poll,
+ 			(void *) ctx);
+ 	if (ret) {
+@@ -539,7 +544,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage the polling/writing of trace data */
+-	ret = pthread_create(&data_thread, NULL, consumer_thread_data_poll,
++	ret = pthread_create(&data_thread, tattr, consumer_thread_data_poll,
+ 			(void *) ctx);
+ 	if (ret) {
+ 		errno = ret;
+@@ -549,7 +554,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create the thread to manage the receive of fd */
+-	ret = pthread_create(&sessiond_thread, NULL,
++	ret = pthread_create(&sessiond_thread, tattr,
+ 			consumer_thread_sessiond_poll,
+ 			(void *) ctx);
+ 	if (ret) {
+@@ -563,7 +568,7 @@ int main(int argc, char **argv)
+ 	 * Create the thread to manage the UST metadata periodic timer and
+ 	 * live timer.
+ 	 */
+-	ret = pthread_create(&metadata_timer_thread, NULL,
++	ret = pthread_create(&metadata_timer_thread, tattr,
+ 			consumer_timer_thread, (void *) ctx);
+ 	if (ret) {
+ 		errno = ret;
+diff --git a/src/bin/lttng-relayd/live.c b/src/bin/lttng-relayd/live.c
+index e2096ec..32efab1 100644
+--- a/src/bin/lttng-relayd/live.c
++++ b/src/bin/lttng-relayd/live.c
+@@ -2147,13 +2147,13 @@ int relayd_live_join(void)
+ /*
+  * main
+  */
+-int relayd_live_create(struct lttng_uri *uri)
++int relayd_live_create(struct lttng_uri *uri, const pthread_attr_t *tattr)
+ {
+ 	int ret = 0, retval = 0;
+ 	void *status;
+ 	int is_root;
+ 
+-	if (!uri) {
++	if (!uri || !tattr) {
+ 		retval = -1;
+ 		goto exit_init_data;
+ 	}
+@@ -2186,7 +2186,7 @@ int relayd_live_create(struct lttng_uri *uri)
+ 	}
+ 
+ 	/* Setup the dispatcher thread */
+-	ret = pthread_create(&live_dispatcher_thread, NULL,
++	ret = pthread_create(&live_dispatcher_thread, tattr,
+ 			thread_dispatcher, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -2196,7 +2196,7 @@ int relayd_live_create(struct lttng_uri *uri)
+ 	}
+ 
+ 	/* Setup the worker thread */
+-	ret = pthread_create(&live_worker_thread, NULL,
++	ret = pthread_create(&live_worker_thread, tattr,
+ 			thread_worker, NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -2206,7 +2206,7 @@ int relayd_live_create(struct lttng_uri *uri)
+ 	}
+ 
+ 	/* Setup the listener thread */
+-	ret = pthread_create(&live_listener_thread, NULL,
++	ret = pthread_create(&live_listener_thread, tattr,
+ 			thread_listener, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+diff --git a/src/bin/lttng-relayd/live.h b/src/bin/lttng-relayd/live.h
+index 2b8a3a0..6cd85e9 100644
+--- a/src/bin/lttng-relayd/live.h
++++ b/src/bin/lttng-relayd/live.h
+@@ -24,7 +24,7 @@
+ 
+ #include "lttng-relayd.h"
+ 
+-int relayd_live_create(struct lttng_uri *live_uri);
++int relayd_live_create(struct lttng_uri *live_uri, const pthread_attr_t *tattr);
+ int relayd_live_stop(void);
+ int relayd_live_join(void);
+ 
+diff --git a/src/bin/lttng-relayd/main.c b/src/bin/lttng-relayd/main.c
+index 6ad6566..505e884 100644
+--- a/src/bin/lttng-relayd/main.c
++++ b/src/bin/lttng-relayd/main.c
+@@ -119,6 +119,8 @@ static pthread_t dispatcher_thread;
+ static pthread_t worker_thread;
+ static pthread_t health_thread;
+ 
++static pthread_attr_t *tattr;
++
+ /*
+  * last_relay_stream_id_lock protects last_relay_stream_id increment
+  * atomicity on 32-bit architectures.
+@@ -2778,6 +2780,8 @@ int main(int argc, char **argv)
+ 		}
+ 	}
+ 
++	/* Get stack size limit */
++	tattr = get_pthread_attr_stacksize();
+ 
+ 	/* Initialize thread health monitoring */
+ 	health_relayd = health_app_create(NR_HEALTH_RELAYD_TYPES);
+@@ -2840,7 +2844,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage the client socket */
+-	ret = pthread_create(&health_thread, NULL,
++	ret = pthread_create(&health_thread, tattr,
+ 			thread_manage_health, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -2850,7 +2854,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Setup the dispatcher thread */
+-	ret = pthread_create(&dispatcher_thread, NULL,
++	ret = pthread_create(&dispatcher_thread, tattr,
+ 			relay_thread_dispatcher, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -2860,7 +2864,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Setup the worker thread */
+-	ret = pthread_create(&worker_thread, NULL,
++	ret = pthread_create(&worker_thread, tattr,
+ 			relay_thread_worker, NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -2870,7 +2874,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Setup the listener thread */
+-	ret = pthread_create(&listener_thread, NULL,
++	ret = pthread_create(&listener_thread, tattr,
+ 			relay_thread_listener, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -2879,7 +2883,7 @@ int main(int argc, char **argv)
+ 		goto exit_listener_thread;
+ 	}
+ 
+-	ret = relayd_live_create(live_uri);
++	ret = relayd_live_create(live_uri, tattr);
+ 	if (ret) {
+ 		ERR("Starting live viewer threads");
+ 		retval = -1;
+diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c
+index c8e4e53..b8f1bde 100644
+--- a/src/bin/lttng-sessiond/main.c
++++ b/src/bin/lttng-sessiond/main.c
+@@ -212,6 +212,8 @@ static pthread_t ht_cleanup_thread;
+ static pthread_t agent_reg_thread;
+ static pthread_t load_session_thread;
+ 
++static pthread_attr_t *tattr;
++
+ /*
+  * UST registration command queue. This queue is tied with a futex and uses a N
+  * wakers / 1 waiter implemented and detailed in futex.c/.h
+@@ -2402,7 +2404,7 @@ static int spawn_consumer_thread(struct consumer_data *consumer_data)
+ 		goto error;
+ 	}
+ 
+-	ret = pthread_create(&consumer_data->thread, NULL, thread_manage_consumer,
++	ret = pthread_create(&consumer_data->thread, tattr, thread_manage_consumer,
+ 			consumer_data);
+ 	if (ret) {
+ 		errno = ret;
+@@ -5638,6 +5640,9 @@ int main(int argc, char **argv)
+ 		goto exit_create_run_as_worker_cleanup;
+ 	}
+ 
++	/* Get stack size limit */
++	tattr = get_pthread_attr_stacksize();
++
+ 	/*
+ 	 * Starting from here, we can create threads. This needs to be after
+ 	 * lttng_daemonize due to RCU.
+@@ -5672,7 +5677,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to clean up RCU hash tables */
+-	ret = pthread_create(&ht_cleanup_thread, NULL,
++	ret = pthread_create(&ht_cleanup_thread, tattr,
+ 			thread_ht_cleanup, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6044,7 +6049,7 @@ int main(int argc, char **argv)
+ 	load_info->path = opt_load_session_path;
+ 
+ 	/* Create health-check thread */
+-	ret = pthread_create(&health_thread, NULL,
++	ret = pthread_create(&health_thread, tattr,
+ 			thread_manage_health, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6054,7 +6059,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage the client socket */
+-	ret = pthread_create(&client_thread, NULL,
++	ret = pthread_create(&client_thread, tattr,
+ 			thread_manage_clients, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6064,7 +6069,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to dispatch registration */
+-	ret = pthread_create(&dispatch_thread, NULL,
++	ret = pthread_create(&dispatch_thread, tattr,
+ 			thread_dispatch_ust_registration, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6074,7 +6079,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage application registration. */
+-	ret = pthread_create(&reg_apps_thread, NULL,
++	ret = pthread_create(&reg_apps_thread, tattr,
+ 			thread_registration_apps, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6084,7 +6089,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage application socket */
+-	ret = pthread_create(&apps_thread, NULL,
++	ret = pthread_create(&apps_thread, tattr,
+ 			thread_manage_apps, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6094,7 +6099,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create thread to manage application notify socket */
+-	ret = pthread_create(&apps_notify_thread, NULL,
++	ret = pthread_create(&apps_notify_thread, tattr,
+ 			ust_thread_manage_notify, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6104,7 +6109,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create agent registration thread. */
+-	ret = pthread_create(&agent_reg_thread, NULL,
++	ret = pthread_create(&agent_reg_thread, tattr,
+ 			agent_thread_manage_registration, (void *) NULL);
+ 	if (ret) {
+ 		errno = ret;
+@@ -6116,7 +6121,7 @@ int main(int argc, char **argv)
+ 	/* Don't start this thread if kernel tracing is not requested nor root */
+ 	if (is_root && !opt_no_kernel) {
+ 		/* Create kernel thread to manage kernel event */
+-		ret = pthread_create(&kernel_thread, NULL,
++		ret = pthread_create(&kernel_thread, tattr,
+ 				thread_manage_kernel, (void *) NULL);
+ 		if (ret) {
+ 			errno = ret;
+@@ -6127,7 +6132,7 @@ int main(int argc, char **argv)
+ 	}
+ 
+ 	/* Create session loading thread. */
+-	ret = pthread_create(&load_session_thread, NULL, thread_load_session,
++	ret = pthread_create(&load_session_thread, tattr, thread_load_session,
+ 			load_info);
+ 	if (ret) {
+ 		errno = ret;
+diff --git a/src/common/utils.c b/src/common/utils.c
+index 1e52ae0..593d6cc 100644
+--- a/src/common/utils.c
++++ b/src/common/utils.c
+@@ -31,6 +31,8 @@
+ #include <pwd.h>
+ #include <sys/file.h>
+ #include <unistd.h>
++#include <stdbool.h>
++#include <sys/resource.h>
+ 
+ #include <common/common.h>
+ #include <common/runas.h>
+@@ -1383,3 +1385,57 @@ int utils_show_man_page(int section, const char *page_name)
+ 		section_string, page_name, NULL);
+ 	return ret;
+ }
++
++static bool pthread_ss_done = false;
++static pthread_attr_t *tattr = NULL;
++static pthread_attr_t tattr_value;
++
++LTTNG_HIDDEN
++pthread_attr_t *get_pthread_attr_stacksize() {
++	int ret = 0;
++	size_t ptstacksize;
++	struct rlimit rlim;
++
++	/* Return cached value */
++	if (pthread_ss_done) {
++		goto end;
++	}
++
++	/* Get stack size limits */
++	ret = getrlimit(RLIMIT_STACK, &rlim);
++	if (ret < 0) {
++		PERROR("getrlimit");
++		goto end;
++	}
++	DBG("Stack size limits: soft %lld, hard %lld bytes",
++			(long long) rlim.rlim_cur,
++			(long long) rlim.rlim_max);
++
++	/* Get default thread stack size */
++	ret = pthread_attr_getstacksize(&tattr_value, &ptstacksize);
++	if (ret < 0) {
++		PERROR("pthread_attr_getstacksize");
++		goto end;
++	}
++	DBG("Default pthread stack size is %zu bytes", ptstacksize);
++
++	/* Check if default thread stack size respects ulimits */
++	if (ptstacksize < rlim.rlim_cur) {
++		DBG("Your libc doesn't honor stack size limits, setting thread stack size to soft limit (%lld bytes)", (long long) rlim.rlim_cur);
++
++		/* Create pthread_attr_t struct with ulimit stack size */
++		ret = pthread_attr_setstacksize(&tattr_value, rlim.rlim_cur);
++		if (ret < 0) {
++			PERROR("pthread_attr_setstacksize");
++			goto end;
++		}
++
++		/* Set pointer */
++		tattr = &tattr_value;
++	}
++
++	/* Enable cached value */
++	pthread_ss_done = true;
++end:
++	return tattr;
++}
+diff --git a/src/common/utils.h b/src/common/utils.h
+index 7285f5c..568c123 100644
+--- a/src/common/utils.h
++++ b/src/common/utils.h
+@@ -60,5 +60,6 @@ int utils_create_lock_file(const char *filepath);
+ int utils_recursive_rmdir(const char *path);
+ int utils_truncate_stream_file(int fd, off_t length);
+ int utils_show_man_page(int section, const char *page_name);
++pthread_attr_t *get_pthread_attr_stacksize();
+ 
+ #endif /* _COMMON_UTILS_H */
+-- 
+2.7.4
+
diff --git a/package/lttng-tools/lttng-tools.hash b/package/lttng-tools/lttng-tools.hash
index f05b0e3..267da80 100644
--- a/package/lttng-tools/lttng-tools.hash
+++ b/package/lttng-tools/lttng-tools.hash
@@ -1,2 +1,6 @@
+# From http://lttng.org/files/lttng-tools/lttng-tools-2.8.2.tar.bz2.{md5,sha1}
+md5     cac8d64111711ae1b632d0dc12fe92c1  lttng-tools-2.8.2.tar.bz2
+sha1    870874ba9644691de8e564a1fa1459aa5fef42ba  lttng-tools-2.8.2.tar.bz2
+
 # Locally generated
-sha256  0c799fb21dfa42475feaa1507ded934608b2e531039b46c40e944a5b81c7b21c  lttng-tools-2.7.1.tar.bz2
+sha256  a07e00e9519dad2577d9330bcaf040ab3dc1b289fbcb8c702c39d520422e7565  lttng-tools-2.8.2.tar.bz2
diff --git a/package/lttng-tools/lttng-tools.mk b/package/lttng-tools/lttng-tools.mk
index 3fb1691..0591633 100644
--- a/package/lttng-tools/lttng-tools.mk
+++ b/package/lttng-tools/lttng-tools.mk
@@ -4,22 +4,20 @@
 #
 ################################################################################
 
-LTTNG_TOOLS_VERSION = 2.7.1
+LTTNG_TOOLS_VERSION = 2.8.2
 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+ (include/lttng/*, src/lib/lttng-ctl/*)
 LTTNG_TOOLS_LICENSE_FILES = gpl-2.0.txt lgpl-2.1.txt LICENSE
-LTTNG_TOOLS_CONF_OPTS += --with-xml-prefix=$(STAGING_DIR)/usr
-# Patching configure.ac
-LTTNG_TOOLS_AUTORECONF = YES
+LTTNG_TOOLS_CONF_OPTS += --with-xml-prefix=$(STAGING_DIR)/usr --disable-man-pages
 
 LTTNG_TOOLS_DEPENDENCIES = liburcu libxml2 popt util-linux
 
 ifeq ($(BR2_PACKAGE_LTTNG_LIBUST),y)
-LTTNG_TOOLS_CONF_OPTS += --enable-lttng-ust
+LTTNG_TOOLS_CONF_OPTS += --with-lttng-ust
 LTTNG_TOOLS_DEPENDENCIES += lttng-libust
 else
-LTTNG_TOOLS_CONF_OPTS += --disable-lttng-ust
+LTTNG_TOOLS_CONF_OPTS += --without-lttng-ust
 endif
 
 $(eval $(autotools-package))
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 2/4] lttng-babeltrace: bump to version 1.4.0
  2016-11-02  6:55 [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Philippe Proulx
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 1/4] lttng-tools: bump to version 2.8.2 Philippe Proulx
@ 2016-11-02  6:55 ` Philippe Proulx
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 3/4] lttng-babeltrace: add host Babeltrace as host utility Philippe Proulx
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Philippe Proulx @ 2016-11-02  6:55 UTC (permalink / raw)
  To: buildroot

Current patches are dropped because they were merged upstream.

Official upstream site of Babeltrace for the distribution of tarballs
changed from lttng.org to efficios.com (see
<http://diamon.org/babeltrace>).

Official Babeltrace's website changed from
<http://www.efficios.com/babeltrace> to <http://diamon.org/babeltrace>.

I explicitly disable the support for debug informations in this patch to
add it in a separate patch.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
---
Changes v3 -> v4:
  - Remove patch related to configure.ac for elfutils (not needed here
  	since debug infos are disabled).
  - Fix patch file that does not apply.

Changes v2 -> v3:
  - Add links to original patches in patch files.
  - Do not take care of debug info stuff in this patch.
  - Do not remove the host babeltrace build (needed for the next patch).

Changes v1 -> v2:
  - Detailed commit message.
  - Detailed patch messages.
  - Add comment above `LTTNG_BABELTRACE_AUTORECONF = YES` in
    `lttng-babeltrace.mk`.

 .../0001-no-posix-fallocate-in-uclibc.patch        | 37 -------------
 ...b-Makefile.am-remove-unneeded-static-flag.patch | 36 +++++++++++++
 ...ix-uuid-support-detection-on-static-build.patch | 63 ----------------------
 package/lttng-babeltrace/Config.in                 | 10 ++--
 package/lttng-babeltrace/lttng-babeltrace.hash     | 11 ++--
 package/lttng-babeltrace/lttng-babeltrace.mk       |  9 ++--
 6 files changed, 48 insertions(+), 118 deletions(-)
 delete mode 100644 package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch
 create mode 100644 package/lttng-babeltrace/0001-tests-lib-Makefile.am-remove-unneeded-static-flag.patch
 delete mode 100644 package/lttng-babeltrace/0002-configure-fix-uuid-support-detection-on-static-build.patch

diff --git a/package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch b/package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch
deleted file mode 100644
index d77825f..0000000
--- a/package/lttng-babeltrace/0001-no-posix-fallocate-in-uclibc.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Do not call posix_fallocate() on uClibc
-
-uClibc does not implement posix_fallocate(), and posix_fallocate() is
-mostly only an hint to the kernel that we will need such or such
-amount of space inside a file. So we just don't call posix_fallocate()
-when building against uClibc.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-[Peter: add #include <features.h>
----
- formats/ctf/ctf.c |    3 +++
- 1 file changed, 3 insertions(+)
-
-Index: lttng-babeltrace-0.8/formats/ctf/ctf.c
-===================================================================
---- lttng-babeltrace-0.8.orig/formats/ctf/ctf.c
-+++ lttng-babeltrace-0.8/formats/ctf/ctf.c
-@@ -32,6 +32,7 @@
- #include <sys/stat.h>
- #include <fcntl.h>
- #include <dirent.h>
-+#include <features.h>
- #include <glib.h>
- #include <unistd.h>
- #include <stdlib.h>
-@@ -384,9 +385,11 @@
- 		}
- 		pos->content_size = -1U;	/* Unknown at this point */
- 		pos->packet_size = WRITE_PACKET_LEN;
-+#ifndef __UCLIBC__
- 		off = posix_fallocate(pos->fd, pos->mmap_offset,
- 				      pos->packet_size / CHAR_BIT);
- 		assert(off >= 0);
-+#endif
- 		pos->offset = 0;
- 	} else {
- 	read_next_packet:
diff --git a/package/lttng-babeltrace/0001-tests-lib-Makefile.am-remove-unneeded-static-flag.patch b/package/lttng-babeltrace/0001-tests-lib-Makefile.am-remove-unneeded-static-flag.patch
new file mode 100644
index 0000000..b903d87
--- /dev/null
+++ b/package/lttng-babeltrace/0001-tests-lib-Makefile.am-remove-unneeded-static-flag.patch
@@ -0,0 +1,36 @@
+From 27e37d2621317d25e08ba0683bf8540b05b9347d Mon Sep 17 00:00:00 2001
+From: Philippe Proulx <eeppeliteloop@gmail.com>
+Date: Fri, 28 Oct 2016 02:09:20 -0400
+Subject: [PATCH] tests/lib/Makefile.am: remove unneeded -static flag
+
+Having those -static flags breaks the build in shared-only builds.
+
+Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
+[Philippe: grabbed from this pull request:
+    https://github.com/efficios/babeltrace/pull/49
+]
+---
+ tests/lib/Makefile.am | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tests/lib/Makefile.am b/tests/lib/Makefile.am
+index 33ada16..c685e77 100644
+--- a/tests/lib/Makefile.am
++++ b/tests/lib/Makefile.am
+@@ -31,13 +31,11 @@ check_SCRIPTS = test_seek_big_trace \
+ 		test_ctf_writer_complete
+ 
+ if ENABLE_DEBUG_INFO
+-test_dwarf_LDFLAGS = -static
+ test_dwarf_LDADD = $(LIBTAP) \
+ 	$(top_builddir)/lib/libbabeltrace.la \
+ 	$(top_builddir)/lib/libdebug-info.la
+ test_dwarf_SOURCES = test_dwarf.c
+ 
+-test_bin_info_LDFLAGS = -static
+ test_bin_info_LDADD = $(LIBTAP) \
+ 	$(top_builddir)/lib/libbabeltrace.la \
+ 	$(top_builddir)/lib/libdebug-info.la
+-- 
+2.9.3
+
diff --git a/package/lttng-babeltrace/0002-configure-fix-uuid-support-detection-on-static-build.patch b/package/lttng-babeltrace/0002-configure-fix-uuid-support-detection-on-static-build.patch
deleted file mode 100644
index 849c0a3..0000000
--- a/package/lttng-babeltrace/0002-configure-fix-uuid-support-detection-on-static-build.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 670d0961a823df0db28f39a354430f3dc2519418 Mon Sep 17 00:00:00 2001
-From: Samuel Martin <s.martin49@gmail.com>
-Date: Sat, 28 May 2016 12:53:33 +0200
-Subject: [PATCH] configure: fix uuid support detection on static build
-
-This change adds uuid support detection using pkg-config, before falling
-back on default AC_CHECK_LIB calls.
-
-Using flags from pkg-config is useful for static build, because they
-also include dependency flags; whereas
-
-AC_CHECK_LIB function achieves its test by trying to link against the
-requested library, without taking care of its dependency
-requirements/flags. Therefore, in case of static build, it can fail on
-the uuid detection like [1], because the uuid's dependency flags
-(regarding gettext) are missing.
-Instead, using pkg-config to do the check will take care of getting and
-setting all required flags.
-
-This change adds uuid detection using pkg-config helper before falling
-back on the standard AC_CHECK_LIB detection for platforms missing
-pkg-config.
-
-This issue [1] has been triggered on Buildroot farms.
-
-[1] http://autobuild.buildroot.net/results/43b/43b98ddf9eb44152ed9ac4a98d887af14831d8da/build-end.log
-
-Signed-off-by: Samuel Martin <s.martin49@gmail.com>
----
- configure.ac | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
-diff --git a/configure.ac b/configure.ac
-index 632fe39..b344fa8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -65,6 +65,15 @@ esac
- AM_CONDITIONAL([BABELTRACE_BUILD_WITH_MINGW], [test "x$MINGW32" = "xyes"])
- 
- # Check for libuuid
-+PKG_CHECK_MODULES([UUID], [uuid],
-+[
-+	LIBS="${UUID_LIBS} ${LIBS}"
-+	CFLAGS="${CFLAGS} ${UUID_CFLAGS}"
-+	AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
-+	have_libuuid=yes
-+],
-+[
-+# try detecting libuuid without pkg-config
- AC_CHECK_LIB([uuid], [uuid_generate],
- [
- 	AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.])
-@@ -83,6 +92,7 @@ AC_CHECK_LIB([uuid], [uuid_generate],
- 			AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.])
- 		fi
- 	])
-+])
- ]
- )
- AM_CONDITIONAL([BABELTRACE_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"])
--- 
-2.8.3
-
diff --git a/package/lttng-babeltrace/Config.in b/package/lttng-babeltrace/Config.in
index d362779..2e8d778 100644
--- a/package/lttng-babeltrace/Config.in
+++ b/package/lttng-babeltrace/Config.in
@@ -14,18 +14,16 @@ config BR2_PACKAGE_LTTNG_BABELTRACE
 	  to/from another trace format.
 
 	  Babeltrace is the reference implementation of the Common
-	  Trace Format (see <http://diamon.org/docs/ctf/>). Babeltrace
+	  Trace Format (see <http://diamon.org/ctf/>). Babeltrace
 	  can decode and display LTTng traces, since the latter are
 	  written using the CTF format.
 
 	  Having this tool on the target is not mandatory. You can
 	  transfer the binary trace output from the target to your
-	  development workstation, and use babeltrace here. Buildroot
-	  automatically builds a host babeltrace in
-	  $(O)/host/usr/bin/babeltrace as a dependency of the
-	  lttng-tools package.
+	  development workstation, and use babeltrace here. Babeltrace
+	  is packaged for all major Linux distributions.
 
-	  http://www.efficios.com/babeltrace
+	  http://diamon.org/babeltrace
 
 comment "lttng-babeltrace needs a toolchain w/ wchar, threads"
 	depends on BR2_USE_MMU
diff --git a/package/lttng-babeltrace/lttng-babeltrace.hash b/package/lttng-babeltrace/lttng-babeltrace.hash
index a9f45b2..bca0bdb 100644
--- a/package/lttng-babeltrace/lttng-babeltrace.hash
+++ b/package/lttng-babeltrace/lttng-babeltrace.hash
@@ -1,7 +1,6 @@
-# From http://lttng.org/files/babeltrace/babeltrace-1.2.4.tar.bz2.md5
-md5     20a806fa7570e69a91707855a98f3ca6 babeltrace-1.2.4.tar.bz2
-# From http://lttng.org/files/babeltrace/babeltrace-1.2.4.tar.bz2.sha1
-sha1    c72a80e8fd905cb1ae3b0cf88885517faafe0fa1  babeltrace-1.2.4.tar.bz2
-# Locally generated
-sha256  666e3a1ad2dc7d5703059963056e7800f0eab59c8eeb6be2efe4f3acc5209eb1  babeltrace-1.2.4.tar.bz2
+# From http://www.efficios.com/files/babeltrace/babeltrace-1.4.0.tar.bz2.{md5,sha1}
+md5     fa99064048af5c9c6ff00e489ac809c2  babeltrace-1.4.0.tar.bz2
+sha1    3b162480ee883625e8581bf163817f78a4b6487b  babeltrace-1.4.0.tar.bz2
 
+# Locally generated
+sha256  9469eeb22617cd12668683b04c27003e5337e9ac66ade914988df3642fc0d0e4  babeltrace-1.4.0.tar.bz2
diff --git a/package/lttng-babeltrace/lttng-babeltrace.mk b/package/lttng-babeltrace/lttng-babeltrace.mk
index b2e03a9..291a561 100644
--- a/package/lttng-babeltrace/lttng-babeltrace.mk
+++ b/package/lttng-babeltrace/lttng-babeltrace.mk
@@ -4,18 +4,15 @@
 #
 ################################################################################
 
-LTTNG_BABELTRACE_SITE = http://lttng.org/files/babeltrace
-LTTNG_BABELTRACE_VERSION = 1.2.4
+LTTNG_BABELTRACE_SITE = http://www.efficios.com/files/babeltrace
+LTTNG_BABELTRACE_VERSION = 1.4.0
 LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2
 LTTNG_BABELTRACE_LICENSE = MIT, LGPLv2.1 (include/babeltrace/list.h), GPLv2 (test code)
 LTTNG_BABELTRACE_LICENSE_FILES = mit-license.txt gpl-2.0.txt LICENSE
-
 LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 host-pkgconf
+LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
 HOST_LTTNG_BABELTRACE_DEPENDENCIES = \
 	host-popt host-util-linux host-libglib2 host-pkgconf
 
-# for 0002-configure-fix-uuid-support-detection-on-static-build.patch
-LTTNG_BABELTRACE_AUTORECONF = YES
-
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 3/4] lttng-babeltrace: add host Babeltrace as host utility
  2016-11-02  6:55 [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Philippe Proulx
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 1/4] lttng-tools: bump to version 2.8.2 Philippe Proulx
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 2/4] lttng-babeltrace: bump to version 1.4.0 Philippe Proulx
@ 2016-11-02  6:55 ` Philippe Proulx
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support Philippe Proulx
  2016-11-02 22:08 ` [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Thomas Petazzoni
  4 siblings, 0 replies; 11+ messages in thread
From: Philippe Proulx @ 2016-11-02  6:55 UTC (permalink / raw)
  To: buildroot

Although Babeltrace is available for all major Linux distributions, some
of them have a quite old version of this project.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
---
Changes v3 -> v4:
  - Config.in.host: remove paragraph about the fact that you can
    transfer traces on the host and use a host Babeltrace (as requested
    by Yann).

 package/Config.in.host                       |  1 +
 package/lttng-babeltrace/Config.in           |  6 ++++--
 package/lttng-babeltrace/Config.in.host      | 14 ++++++++++++++
 package/lttng-babeltrace/lttng-babeltrace.mk |  1 +
 4 files changed, 20 insertions(+), 2 deletions(-)
 create mode 100644 package/lttng-babeltrace/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index e33cbb5..3b115c5 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -22,6 +22,7 @@ menu "Host utilities"
 	source "package/jq/Config.in.host"
 	source "package/jsmin/Config.in.host"
 	source "package/lpc3250loader/Config.in.host"
+	source "package/lttng-babeltrace/Config.in.host"
 	source "package/mfgtools/Config.in.host"
 	source "package/mke2img/Config.in.host"
 	source "package/mkpasswd/Config.in.host"
diff --git a/package/lttng-babeltrace/Config.in b/package/lttng-babeltrace/Config.in
index 2e8d778..95b635d 100644
--- a/package/lttng-babeltrace/Config.in
+++ b/package/lttng-babeltrace/Config.in
@@ -20,8 +20,10 @@ config BR2_PACKAGE_LTTNG_BABELTRACE
 
 	  Having this tool on the target is not mandatory. You can
 	  transfer the binary trace output from the target to your
-	  development workstation, and use babeltrace here. Babeltrace
-	  is packaged for all major Linux distributions.
+	  development workstation, and use babeltrace here.
+
+	  See the lttng-babeltrace host utility to install Babeltrace
+	  on the host.
 
 	  http://diamon.org/babeltrace
 
diff --git a/package/lttng-babeltrace/Config.in.host b/package/lttng-babeltrace/Config.in.host
new file mode 100644
index 0000000..71b9c7d
--- /dev/null
+++ b/package/lttng-babeltrace/Config.in.host
@@ -0,0 +1,14 @@
+config BR2_PACKAGE_HOST_LTTNG_BABELTRACE
+	bool "host lttng-babeltrace"
+	help
+	  The Babeltrace project provides trace read and write
+	  libraries, as well as a trace converter application. Plugins
+	  can be created for any trace format to allow its conversion
+	  to/from another trace format.
+
+	  Babeltrace is the reference implementation of the Common
+	  Trace Format (see <http://diamon.org/ctf/>). Babeltrace
+	  can decode and display LTTng traces, since the latter are
+	  written using the CTF format.
+
+	  http://diamon.org/babeltrace
diff --git a/package/lttng-babeltrace/lttng-babeltrace.mk b/package/lttng-babeltrace/lttng-babeltrace.mk
index 291a561..deb2d07 100644
--- a/package/lttng-babeltrace/lttng-babeltrace.mk
+++ b/package/lttng-babeltrace/lttng-babeltrace.mk
@@ -13,6 +13,7 @@ LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 host-pkgconf
 LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
 HOST_LTTNG_BABELTRACE_DEPENDENCIES = \
 	host-popt host-util-linux host-libglib2 host-pkgconf
+HOST_LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
 
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support
  2016-11-02  6:55 [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Philippe Proulx
                   ` (2 preceding siblings ...)
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 3/4] lttng-babeltrace: add host Babeltrace as host utility Philippe Proulx
@ 2016-11-02  6:55 ` Philippe Proulx
  2016-11-02 22:10   ` Thomas Petazzoni
  2016-11-02 22:08 ` [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Thomas Petazzoni
  4 siblings, 1 reply; 11+ messages in thread
From: Philippe Proulx @ 2016-11-02  6:55 UTC (permalink / raw)
  To: buildroot

Since Babeltrace 1.4, there is support for printing debug information
along with compatible traces and event records. Babeltrace needs
elfutils in this case. If elfutils can be built with the current
configuration, the lttng-babeltrace package selects it and builds
with support for debug information. Otherwise the menuconfig shows
a comment which explains why debug information support cannot be
built.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
---
Changes v3 -> v4:
  - Remove duplicate --disable-debug-info.
  - Replace patch to remove line in configure.ac with patch submitted
    upstream to add a cache variable to the elfutils check.
  - Use said cache variable in LTTNG_BABELTRACE_CONF_ENV.

 ...-m4-ax_lib_elfutils.m4-add-cache-variable.patch | 74 ++++++++++++++++++++++
 package/lttng-babeltrace/Config.in                 | 17 +++++
 package/lttng-babeltrace/lttng-babeltrace.mk       | 12 +++-
 3 files changed, 102 insertions(+), 1 deletion(-)
 create mode 100644 package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch

diff --git a/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch b/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
new file mode 100644
index 0000000..b592d7f
--- /dev/null
+++ b/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
@@ -0,0 +1,74 @@
+From 697ab0905c59561562dc52cd3b925781e07814f3 Mon Sep 17 00:00:00 2001
+From: Philippe Proulx <eeppeliteloop@gmail.com>
+Date: Wed, 2 Nov 2016 01:40:12 -0400
+Subject: [PATCH 1/3] m4/ax_lib_elfutils.m4: add cache variable
+
+Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
+[Philippe: grabbed from this pull request:
+    https://github.com/efficios/babeltrace/pull/52
+]
+---
+ m4/ax_lib_elfutils.m4 | 32 +++++++++++++++++---------------
+ 1 file changed, 17 insertions(+), 15 deletions(-)
+
+diff --git a/m4/ax_lib_elfutils.m4 b/m4/ax_lib_elfutils.m4
+index fcfe06b..f4fcb0d 100644
+--- a/m4/ax_lib_elfutils.m4
++++ b/m4/ax_lib_elfutils.m4
+@@ -21,7 +21,9 @@
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ #
+ # Check the currently installed version of elfutils by using the
+-# _ELFUTILS_PREREQ macro defined in elfutils/version.h.
++# `_ELFUTILS_PREREQ` macro defined in <elfutils/version.h>.
++#
++# The cache variable for this test is `bt_cv_lib_elfutils`.
+ #
+ # AX_LIB_ELFUTILS(MAJOR_VERSION, MINOR_VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
+ # ---------------------------------------------------------------------------
+@@ -29,7 +31,6 @@ AC_DEFUN([AX_LIB_ELFUTILS], [
+ 	m4_pushdef([major_version], [$1])
+ 	m4_pushdef([minor_version], [$2])
+ 
+-	AC_MSG_CHECKING([for elfutils version >= major_version.minor_version])
+ 	m4_if([$#], 3, [
+ 		m4_pushdef([true_action], [$3])
+ 	], [
+@@ -43,20 +44,21 @@ AC_DEFUN([AX_LIB_ELFUTILS], [
+ 			AC_MSG_ERROR(elfutils >= major_version.minor_version is required)])
+ 	])
+ 
+-	AC_RUN_IFELSE([
+-		AC_LANG_SOURCE([
+-			#include <stdlib.h>
+-			#include <elfutils/version.h>
++	AC_CACHE_CHECK(
++		[for elfutils version >= major_version.minor_version],
++		[bt_cv_lib_elfutils], [
++			AC_RUN_IFELSE([AC_LANG_SOURCE([
++				#include <stdlib.h>
++				#include <elfutils/version.h>
++
++				int main(void) {
++					return _ELFUTILS_PREREQ(major_version, minor_version) ? EXIT_SUCCESS : EXIT_FAILURE;
++				}
++			])], [bt_cv_lib_elfutils=yes], [bt_cv_lib_elfutils=no])
++		]
++	)
+ 
+-			int main(void) {
+-				return _ELFUTILS_PREREQ(major_version, minor_version) ? EXIT_SUCCESS : EXIT_FAILURE;
+-			}
+-		])
+-	],
+-		echo yes
+-		true_action,
+-		echo no
+-		false_action)
++	AS_IF([test "x$bt_cv_lib_elfutils" = "xyes"], [true_action], [false_action])
+ 
+ 	m4_popdef([false_action])
+ 	m4_popdef([true_action])
+-- 
+2.9.3
+
diff --git a/package/lttng-babeltrace/Config.in b/package/lttng-babeltrace/Config.in
index 95b635d..55e2143 100644
--- a/package/lttng-babeltrace/Config.in
+++ b/package/lttng-babeltrace/Config.in
@@ -27,6 +27,23 @@ config BR2_PACKAGE_LTTNG_BABELTRACE
 
 	  http://diamon.org/babeltrace
 
+if BR2_PACKAGE_LTTNG_BABELTRACE
+
+config BR2_PACKAGE_LTTNG_BABELTRACE_DEBUG_INFO
+	bool
+	default y
+	depends on !BR2_bfin # elfutils
+	depends on !BR2_STATIC_LIBS # elfutils
+	depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
+	select BR2_PACKAGE_ELFUTILS
+
+comment "handling debug info in traces needs a glibc or uClibc toolchain w/ dynamic library"
+	depends on !BR2_bfin # elfutils
+	depends on BR2_STATIC_LIBS \
+		|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
+
+endif
+
 comment "lttng-babeltrace needs a toolchain w/ wchar, threads"
 	depends on BR2_USE_MMU
 	depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/lttng-babeltrace/lttng-babeltrace.mk b/package/lttng-babeltrace/lttng-babeltrace.mk
index deb2d07..2139435 100644
--- a/package/lttng-babeltrace/lttng-babeltrace.mk
+++ b/package/lttng-babeltrace/lttng-babeltrace.mk
@@ -10,10 +10,20 @@ LTTNG_BABELTRACE_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2
 LTTNG_BABELTRACE_LICENSE = MIT, LGPLv2.1 (include/babeltrace/list.h), GPLv2 (test code)
 LTTNG_BABELTRACE_LICENSE_FILES = mit-license.txt gpl-2.0.txt LICENSE
 LTTNG_BABELTRACE_DEPENDENCIES = popt util-linux libglib2 host-pkgconf
-LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
 HOST_LTTNG_BABELTRACE_DEPENDENCIES = \
 	host-popt host-util-linux host-libglib2 host-pkgconf
 HOST_LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
 
+# For 0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
+LTTNG_BABELTRACE_AUTORECONF = YES
+
+ifeq ($(BR2_PACKAGE_LTTNG_BABELTRACE_DEBUG_INFO),y)
+LTTNG_BABELTRACE_DEPENDENCIES += elfutils
+LTTNG_BABELTRACE_CONF_OPTS += --enable-debug-info
+LTTNG_BABELTRACE_CONF_ENV += bt_cv_lib_elfutils=yes
+else
+LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info
+endif
+
 $(eval $(autotools-package))
 $(eval $(host-autotools-package))
-- 
2.9.3

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0
  2016-11-02  6:55 [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Philippe Proulx
                   ` (3 preceding siblings ...)
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support Philippe Proulx
@ 2016-11-02 22:08 ` Thomas Petazzoni
  2016-11-02 22:15   ` Thomas Petazzoni
  4 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2016-11-02 22:08 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed,  2 Nov 2016 02:55:04 -0400, Philippe Proulx wrote:
> See if this is okay and I will rename lttng-babeltrace to babeltrace
> again and submit this last patch.
> 
> Philippe Proulx (4):
>   lttng-tools: bump to version 2.8.2
>   lttng-babeltrace: bump to version 1.4.0
>   lttng-babeltrace: add host Babeltrace as host utility
>   lttng-babeltrace: add debug info support

I've applied all patches, with some changes to the last patch. I'll
reply to this one separately.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support
  2016-11-02  6:55 ` [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support Philippe Proulx
@ 2016-11-02 22:10   ` Thomas Petazzoni
  2016-11-02 23:01     ` Philippe Proulx
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2016-11-02 22:10 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed,  2 Nov 2016 02:55:08 -0400, Philippe Proulx wrote:

> diff --git a/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch b/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
> new file mode 100644
> index 0000000..b592d7f
> --- /dev/null
> +++ b/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
> @@ -0,0 +1,74 @@
> +From 697ab0905c59561562dc52cd3b925781e07814f3 Mon Sep 17 00:00:00 2001
> +From: Philippe Proulx <eeppeliteloop@gmail.com>
> +Date: Wed, 2 Nov 2016 01:40:12 -0400
> +Subject: [PATCH 1/3] m4/ax_lib_elfutils.m4: add cache variable

Please use git format-patch -N to generate the patches. I've fixed that
up manually.

> +

This patch really needed a better commit log, so I've added some
details here.

Essentially: an empty commit log for a non-trivial patch is always a
bug. And I believe this rule is not Buildroot specific.

> +if BR2_PACKAGE_LTTNG_BABELTRACE
> +
> +config BR2_PACKAGE_LTTNG_BABELTRACE_DEBUG_INFO
> +	bool
> +	default y
> +	depends on !BR2_bfin # elfutils
> +	depends on !BR2_STATIC_LIBS # elfutils
> +	depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
> +	select BR2_PACKAGE_ELFUTILS
> +
> +comment "handling debug info in traces needs a glibc or uClibc toolchain w/ dynamic library"
> +	depends on !BR2_bfin # elfutils
> +	depends on BR2_STATIC_LIBS \
> +		|| !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
> +
> +endif

This stuff is really complicated, so I've instead removed the
sub-option, and simply made lttng-babeltrace.mk enable debug info
support when BR2_PACKAGE_ELFUTILS=y.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0
  2016-11-02 22:08 ` [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Thomas Petazzoni
@ 2016-11-02 22:15   ` Thomas Petazzoni
  2016-11-02 23:05     ` Philippe Proulx
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Petazzoni @ 2016-11-02 22:15 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 2 Nov 2016 23:08:52 +0100, Thomas Petazzoni wrote:

> On Wed,  2 Nov 2016 02:55:04 -0400, Philippe Proulx wrote:
> > See if this is okay and I will rename lttng-babeltrace to babeltrace
> > again and submit this last patch.
> > 
> > Philippe Proulx (4):
> >   lttng-tools: bump to version 2.8.2
> >   lttng-babeltrace: bump to version 1.4.0
> >   lttng-babeltrace: add host Babeltrace as host utility
> >   lttng-babeltrace: add debug info support  
> 
> I've applied all patches, with some changes to the last patch. I'll
> reply to this one separately.

BTW, would you mind adding yourself to the DEVELOPERS file for the
lttng related packages? I'm currently listed as the person taking care
of them since I initially introduced those packages, but I'm not
actively using LTTng, so it would be better if someone else was listed
for those packages.

Being listed as a developer means that:

 1/ You will be Cc'ed on patches submitted by others that touch those
    packages

 2/ You will receive a notification when there are build issues related
    to those packages.

If you agree, please remove me as the developer for those packages, in
the same patch.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support
  2016-11-02 22:10   ` Thomas Petazzoni
@ 2016-11-02 23:01     ` Philippe Proulx
  2016-11-03  8:23       ` Thomas Petazzoni
  0 siblings, 1 reply; 11+ messages in thread
From: Philippe Proulx @ 2016-11-02 23:01 UTC (permalink / raw)
  To: buildroot

On Wed, Nov 2, 2016 at 6:10 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Wed,  2 Nov 2016 02:55:08 -0400, Philippe Proulx wrote:
>
>> diff --git a/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch b/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
>> new file mode 100644
>> index 0000000..b592d7f
>> --- /dev/null
>> +++ b/package/lttng-babeltrace/0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch
>> @@ -0,0 +1,74 @@
>> +From 697ab0905c59561562dc52cd3b925781e07814f3 Mon Sep 17 00:00:00 2001
>> +From: Philippe Proulx <eeppeliteloop@gmail.com>
>> +Date: Wed, 2 Nov 2016 01:40:12 -0400
>> +Subject: [PATCH 1/3] m4/ax_lib_elfutils.m4: add cache variable
>
> Please use git format-patch -N to generate the patches. I've fixed that
> up manually.

I always forget this, sorry.

>
>> +
>
> This patch really needed a better commit log, so I've added some
> details here.
>
> Essentially: an empty commit log for a non-trivial patch is always a
> bug. And I believe this rule is not Buildroot specific.
>
>> +if BR2_PACKAGE_LTTNG_BABELTRACE
>> +
>> +config BR2_PACKAGE_LTTNG_BABELTRACE_DEBUG_INFO
>> +     bool
>> +     default y
>> +     depends on !BR2_bfin # elfutils
>> +     depends on !BR2_STATIC_LIBS # elfutils
>> +     depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
>> +     select BR2_PACKAGE_ELFUTILS
>> +
>> +comment "handling debug info in traces needs a glibc or uClibc toolchain w/ dynamic library"
>> +     depends on !BR2_bfin # elfutils
>> +     depends on BR2_STATIC_LIBS \
>> +             || !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
>> +
>> +endif
>
> This stuff is really complicated, so I've instead removed the
> sub-option, and simply made lttng-babeltrace.mk enable debug info
> support when BR2_PACKAGE_ELFUTILS=y.

But then, if BR2_PACKAGE_ELFUTILS=n, you don't know that you could have
debug info support in Babeltrace if BR2_PACKAGE_ELFUTILS=y.

Or maybe it's not the job of menuconfig to tell the available features.

Phil

>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0
  2016-11-02 22:15   ` Thomas Petazzoni
@ 2016-11-02 23:05     ` Philippe Proulx
  0 siblings, 0 replies; 11+ messages in thread
From: Philippe Proulx @ 2016-11-02 23:05 UTC (permalink / raw)
  To: buildroot

On Wed, Nov 2, 2016 at 6:15 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Wed, 2 Nov 2016 23:08:52 +0100, Thomas Petazzoni wrote:
>
>> On Wed,  2 Nov 2016 02:55:04 -0400, Philippe Proulx wrote:
>> > See if this is okay and I will rename lttng-babeltrace to babeltrace
>> > again and submit this last patch.
>> >
>> > Philippe Proulx (4):
>> >   lttng-tools: bump to version 2.8.2
>> >   lttng-babeltrace: bump to version 1.4.0
>> >   lttng-babeltrace: add host Babeltrace as host utility
>> >   lttng-babeltrace: add debug info support
>>
>> I've applied all patches, with some changes to the last patch. I'll
>> reply to this one separately.
>
> BTW, would you mind adding yourself to the DEVELOPERS file for the
> lttng related packages? I'm currently listed as the person taking care
> of them since I initially introduced those packages, but I'm not
> actively using LTTng, so it would be better if someone else was listed
> for those packages.
>
> Being listed as a developer means that:
>
>  1/ You will be Cc'ed on patches submitted by others that touch those
>     packages
>
>  2/ You will receive a notification when there are build issues related
>     to those packages.
>
> If you agree, please remove me as the developer for those packages, in
> the same patch.

Yes, why not. I'm in a pretty good position to know the updates of those
projects, so will do.

Phil

>
> Thanks!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support
  2016-11-02 23:01     ` Philippe Proulx
@ 2016-11-03  8:23       ` Thomas Petazzoni
  0 siblings, 0 replies; 11+ messages in thread
From: Thomas Petazzoni @ 2016-11-03  8:23 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 2 Nov 2016 19:01:24 -0400, Philippe Proulx wrote:

> > This stuff is really complicated, so I've instead removed the
> > sub-option, and simply made lttng-babeltrace.mk enable debug info
> > support when BR2_PACKAGE_ELFUTILS=y.  
> 
> But then, if BR2_PACKAGE_ELFUTILS=n, you don't know that you could have
> debug info support in Babeltrace if BR2_PACKAGE_ELFUTILS=y.

We have such automatic dependencies in a large number of packages, we
simply can't add sub-options for each and every features. Since this
one is not necessarily trivial, I've added in the commit an additional
paragraph in the Config.in help text to hint the user about the need to
enable elfutils to get debug info support.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-11-03  8:23 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-02  6:55 [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Philippe Proulx
2016-11-02  6:55 ` [Buildroot] [PATCH v4 1/4] lttng-tools: bump to version 2.8.2 Philippe Proulx
2016-11-02  6:55 ` [Buildroot] [PATCH v4 2/4] lttng-babeltrace: bump to version 1.4.0 Philippe Proulx
2016-11-02  6:55 ` [Buildroot] [PATCH v4 3/4] lttng-babeltrace: add host Babeltrace as host utility Philippe Proulx
2016-11-02  6:55 ` [Buildroot] [PATCH v4 4/4] lttng-babeltrace: add debug info support Philippe Proulx
2016-11-02 22:10   ` Thomas Petazzoni
2016-11-02 23:01     ` Philippe Proulx
2016-11-03  8:23       ` Thomas Petazzoni
2016-11-02 22:08 ` [Buildroot] [PATCH v4 0/4] Update LTTng packages to 2.8.x and Babeltrace to 1.4.0 Thomas Petazzoni
2016-11-02 22:15   ` Thomas Petazzoni
2016-11-02 23:05     ` Philippe Proulx

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.