Merge branch 'next'

My local 'next' branch was not uptodate, so the previous merge was missing
the most recent changes.

Thanks to François Perrad for noticing.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Peter Korsgaard 2016-12-02 08:53:56 +01:00
commit 44d2cc99a4
45 changed files with 217 additions and 1017 deletions

View File

@ -16,10 +16,4 @@ JASPER_AUTORECONF = YES
JASPER_CONF_OPTS = --disable-strict
# Xtensa gcc is unable to generate correct code with -O0 enabled by
# --enable-debug. Allow package build but disable debug.
ifeq ($(BR2_xtensa)$(BR2_ENABLE_DEBUG),yy)
JASPER_CONF_OPTS += --disable-debug
endif
$(eval $(autotools-package))

View File

@ -0,0 +1,33 @@
Fix compile on powerpc64/powerpc64le w/ altivec
Correct the type of some vectors passed to vec_slo() or vec_sro(), which only
takes a char vector.
Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
--- a/src/dvbcsa_bs_altivec.h 2016-11-28 14:33:34.410021500 +1100
+++ b/src/dvbcsa_bs_altivec.h 2016-11-28 14:34:25.442238715 +1100
@@ -64,7 +64,7 @@
}
case 0x29: {
dvbcsa_bs_word_t x = vec_splat_u8(10);
- return (dvbcsa_bs_word_t)vec_add(vec_splat_u8(0x1),vec_rl(x,x));
+ return (dvbcsa_bs_word_t)vec_add((dvbcsa_bs_word_t)vec_splat_u8(0x1),vec_rl(x,x));
}
case 0x40: {
dvbcsa_bs_word_t x = vec_splat_u8(4);
@@ -99,10 +99,10 @@
#define SHVAL_14 BS_VAL8(0e)
#define SHVAL_7 BS_VAL8(07)
-#define BS_SHL(a, n) ({ dvbcsa_bs_word_t x = SHVAL_##n; vec_sll(vec_slo((a), x), x); })
-#define BS_SHR(a, n) ({ dvbcsa_bs_word_t x = SHVAL_##n; vec_srl(vec_sro((a), x), x); })
-#define BS_SHL8(a, n) ({ dvbcsa_bs_word_t x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_slo((a), x); })
-#define BS_SHR8(a, n) ({ dvbcsa_bs_word_t x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_sro((a), x); })
+#define BS_SHL(a, n) ({ vector unsigned char x = SHVAL_##n; vec_sll(vec_slo((a), x), x); })
+#define BS_SHR(a, n) ({ vector unsigned char x = SHVAL_##n; vec_srl(vec_sro((a), x), x); })
+#define BS_SHL8(a, n) ({ vector unsigned char x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_slo((a), x); })
+#define BS_SHR8(a, n) ({ vector unsigned char x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_sro((a), x); })
#define BS_EXTRACT8(a, n) ((uint8_t*)&(a))[15 - (n)]

View File

@ -24,6 +24,7 @@ endif
ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
LIBDVBCSA_CONF_OPTS += --enable-altivec
LIBDVBCSA_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -flax-vector-conversions"
else
LIBDVBCSA_CONF_OPTS += --disable-altivec
endif

View File

@ -1,2 +1,2 @@
# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.3.sha256sum
sha256 e190ab1a9a893861b8e8be341aa57bce8b7146d6445ebfe5a8ab64236fe82ed3 gtk+-3.22.3.tar.xz
# From http://ftp.gnome.org/pub/gnome/sources/gtk+/3.22/gtk+-3.22.4.sha256sum
sha256 7094a6fcfe133d01c578358bd5d3e499715f1a0206e87bd5cf6c834e301f387f gtk+-3.22.4.tar.xz

View File

@ -5,7 +5,7 @@
################################################################################
LIBGTK3_VERSION_MAJOR = 3.22
LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).3
LIBGTK3_VERSION = $(LIBGTK3_VERSION_MAJOR).4
LIBGTK3_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz
LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR)
LIBGTK3_LICENSE = LGPLv2+

View File

@ -1,2 +1,2 @@
# Locally calculated
sha256 b49b5941af92a6e7834a45f76dba1f6ea8f817cda373655f59c9da78416d1dfc lsqlite3-0.9.3-0.src.rock
sha256 090282f9b8df614d70d07442ba82de3cc02a2f44cb1059fda648155d4d7e52ef lsqlite3-0.9.4-2.src.rock

View File

@ -4,8 +4,8 @@
#
################################################################################
LSQLITE3_VERSION = 0.9.3-0
LSQLITE3_SUBDIR = lsqlite3_fsl09w
LSQLITE3_VERSION = 0.9.4-2
LSQLITE3_SUBDIR = lsqlite3_fsl09x
LSQLITE3_DEPENDENCIES = sqlite
LSQLITE3_LICENSE = MIT

View File

@ -1,6 +1,3 @@
# 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
# From http://www.efficios.com/files/babeltrace/babeltrace-1.5.0.tar.bz2.{md5,sha1}
md5 43696383e44d1b85173db7cbd0335f06 babeltrace-1.5.0.tar.bz2
sha1 13f106951c418632a2155ebe3cea51fa4929e748 babeltrace-1.5.0.tar.bz2

View File

@ -5,7 +5,7 @@
################################################################################
LTTNG_BABELTRACE_SITE = http://www.efficios.com/files/babeltrace
LTTNG_BABELTRACE_VERSION = 1.4.0
LTTNG_BABELTRACE_VERSION = 1.5.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

View File

@ -0,0 +1,49 @@
From f54894580da85e33f934c5c9bf5ab32d3fcce18b Mon Sep 17 00:00:00 2001
From: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Date: Wed, 30 Nov 2016 16:52:51 +0000
Subject: [PATCH] doc/examples/Makefile.am: define C and C++ compilers for
CMake
This prevents build failures when cross-compiling.
If we don't define the compiler, it will use the one from the host
machine. For instance "/usr/bin/c++", which is incorrect.
The failure looks like this:
.............................................................
[ 10%] Building CXX object CMakeFiles/tracepoint-provider.dir/tracepoint-provider.cpp.o
/usr/bin/c++ -Dtracepoint_provider_EXPORTS -I/br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/. -isystem /br/output/build/lttng-libust-2.9.0/include -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -o CMakeFiles/tracepoint-provider.dir/tracepoint-provider.cpp.o -c /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.cpp
In file included from /br/output/build/lttng-libust-2.9.0/include/lttng/tracepoint.h:29:0,
from /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.h:32,
from /br/output/build/lttng-libust-2.9.0/doc/examples/cmake-multiple-shared-libraries/tracepoint-provider.cpp:26:
/br/output/build/lttng-libust-2.9.0/include/lttng/tracepoint-rcu.h:26:27: fatal error: urcu/compiler.h: No such file or directory
#include <urcu/compiler.h>
^
compilation terminated.
.............................................................
Pull request URL: https://github.com/lttng/lttng-ust/pull/41
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
doc/examples/Makefile.am | 2 ++
1 file changed, 2 insertions(+)
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index 424b844..5bc1f4c 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -152,7 +152,9 @@ all-local:
cmake \
-DCMAKE_INCLUDE_PATH="$(abs_top_srcdir)/include;$(abs_top_builddir)/include" \
-DCMAKE_LIBRARY_PATH="$(abs_top_builddir)/liblttng-ust/.libs" \
+ -DCMAKE_C_COMPILER="$(CC)" \
-DCMAKE_C_FLAGS="$(CFLAGS) $(CPPFLAGS)" \
+ -DCMAKE_CXX_COMPILER="$(CXX)" \
-DCMAKE_CXX_FLAGS="$(CXXFLAGS) $(CPPFLAGS)" \
-DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)" \
.. && \
--
2.10.1

View File

@ -1,6 +1,3 @@
# From http://lttng.org/files/lttng-ust/lttng-ust-2.8.1.tar.bz2.{md5,sha1}
md5 be505077245dc05f93370a565eec15f4 lttng-ust-2.8.1.tar.bz2
sha1 8bebdcbcb453d2643fb226dbe92de61764f1ee3b lttng-ust-2.8.1.tar.bz2
# Locally generated
sha256 6e41349107e83e7b43c69ed358e48788ca2fd095bad61737b850e3f3d2c0508a lttng-ust-2.8.1.tar.bz2
# From http://lttng.org/files/lttng-ust/lttng-ust-2.9.0.tar.bz2.{md5,sha1}
md5 77f3378ba37a36801420bce87b702e9c lttng-ust-2.9.0.tar.bz2
sha1 9937eae64540821b8597cce081e92be76e6b5568 lttng-ust-2.9.0.tar.bz2

View File

@ -5,7 +5,7 @@
################################################################################
LTTNG_LIBUST_SITE = http://lttng.org/files/lttng-ust
LTTNG_LIBUST_VERSION = 2.8.1
LTTNG_LIBUST_VERSION = 2.9.0
LTTNG_LIBUST_SOURCE = lttng-ust-$(LTTNG_LIBUST_VERSION).tar.bz2
LTTNG_LIBUST_LICENSE = LGPLv2.1, MIT (system headers), GPLv2 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond)
LTTNG_LIBUST_LICENSE_FILES = COPYING

View File

@ -1,3 +1,3 @@
# From http://lttng.org/files/lttng-modules/lttng-modules-2.8.3.tar.bz2.{md5,sha1}
md5 424354c4834d20235dacd9a1fd7653b6 lttng-modules-2.8.3.tar.bz2
sha1 862705784a54962f70226004f1fd0bf77f73f10f lttng-modules-2.8.3.tar.bz2
# From http://lttng.org/files/lttng-modules/lttng-modules-2.9.0.tar.bz2.{md5,sha1}
md5 717df375ccb6f32bb297cc2f2e692bbf lttng-modules-2.9.0.tar.bz2
sha1 819ee1c2a5a821b7fdc1c2fc102ef3079c32aad7 lttng-modules-2.9.0.tar.bz2

View File

@ -4,7 +4,7 @@
#
################################################################################
LTTNG_MODULES_VERSION = 2.8.3
LTTNG_MODULES_VERSION = 2.9.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 (kernel modules), MIT (lib/bitfield.h, lib/prio_heap/*)

View File

@ -1,32 +0,0 @@
From: mjeanson@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

View File

@ -1,30 +0,0 @@
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] 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

View File

@ -1,431 +0,0 @@
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

View File

@ -1,6 +1,3 @@
# 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 a07e00e9519dad2577d9330bcaf040ab3dc1b289fbcb8c702c39d520422e7565 lttng-tools-2.8.2.tar.bz2
# From http://lttng.org/files/lttng-tools/lttng-tools-2.9.0.tar.bz2.{md5,sha1}
md5 75b5feb18aa2a136ebf70a14d2a5a6e5 lttng-tools-2.9.0.tar.bz2
sha1 299158fd8614e45ee596d793696feb86cdea34b2 lttng-tools-2.9.0.tar.bz2

View File

@ -4,7 +4,7 @@
#
################################################################################
LTTNG_TOOLS_VERSION = 2.8.2
LTTNG_TOOLS_VERSION = 2.9.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+ (include/lttng/*, src/lib/lttng-ctl/*)

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 7136e47a37f01960c244fe0ad42215e2cf6e96f50cb7292c5295fa3e93fd50c1 lua-messagepack-0.3.5-1.src.rock
sha256 b8d1c3cff8eef0b8ef1a3287228cfac4149933744235d3a5d88d65d4e3b048bb lua-messagepack-lua53-0.3.5-1.src.rock
sha256 706e99424cfd4d86deed10764fb2d0094bac006c0c5be449470992e9f0779ffa lua-messagepack-0.3.6-1.src.rock
sha256 d3a82aea6423213f399735b291a6887b230fb3bb9bcfe7b530532f1756308566 lua-messagepack-lua53-0.3.6-1.src.rock

View File

@ -4,7 +4,7 @@
#
################################################################################
LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.3.5
LUA_MESSAGEPACK_VERSION_UPSTREAM = 0.3.6
ifeq ($(BR2_PACKAGE_LUA_5_3),y)
LUA_MESSAGEPACK_VERSION = lua53-$(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1
else

View File

@ -1,2 +1,2 @@
# Locally calculated
sha256 e429e0af9764bfd5cb640cac40f9d4ed1023fa17c052dff82ed0a41c05f3dcf9 luarocks-2.4.1.tar.gz
sha256 0e1ec34583e1b265e0fbafb64c8bd348705ad403fe85967fd05d3a659f74d2e5 luarocks-2.4.2.tar.gz

View File

@ -4,7 +4,7 @@
#
################################################################################
LUAROCKS_VERSION = 2.4.1
LUAROCKS_VERSION = 2.4.2
LUAROCKS_SITE = http://luarocks.org/releases
LUAROCKS_LICENSE = MIT
LUAROCKS_LICENSE_FILES = COPYING

View File

@ -1,2 +1,2 @@
# Locally computed:
sha256 b4ebe2415761a5137cd1d313c8fc1352f26d8963cc9e9e354e29720aa2089d42 ncftp-3.2.5-src.tar.bz2
sha256 7abd3e8f848f0efb4bb6a4bc5da58a59524d4378fc8d70a52adb0fe1fd00b89d ncftp-3.2.6-src.tar.xz

View File

@ -4,8 +4,8 @@
#
################################################################################
NCFTP_VERSION = 3.2.5
NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.bz2
NCFTP_VERSION = 3.2.6
NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.xz
NCFTP_SITE = ftp://ftp.ncftp.com/ncftp
NCFTP_TARGET_BINS = ncftp
NCFTP_LICENSE = Clarified Artistic License

View File

@ -1,19 +0,0 @@
Bugfix included upstream
diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_depends-fix/lib/depends.c
--- rpm-5.2.0_vanilla/lib/depends.c 2009-05-23 01:23:46.000000000 +0000
+++ rpm-5.2.0_depends-fix/lib/depends.c 2009-09-22 06:33:37.950783501 +0000
@@ -2371,11 +2371,11 @@
memset(selected, 0, sizeof(*selected) * ts->orderCount);
- if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
-
/* Avoid narcisstic relations. */
selected[rpmtsiOc(pi)] = 1;
+ if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
+
/* T2. Next "q <- p" relation. */
/* First, do pre-requisites. */

View File

@ -1,30 +0,0 @@
diff -ru rpm-5.2.0_vanilla/tools/Makefile.am rpm-5.2.0_exclude-some-tools/tools/Makefile.am
--- rpm-5.2.0_vanilla/tools/Makefile.am 2009-06-03 01:24:42.000000000 +0000
+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.am 2009-12-20 07:47:13.000000000 +0000
@@ -45,9 +45,7 @@
bin_PROGRAMS = rpm2cpio
pkgbindir = @USRLIBRPM@/bin
-pkgbin_PROGRAMS = \
- rpmcache rpmdigest grep mtree rpmrepo rpmspecdump wget \
- rpmcmp rpmdeps @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@
+pkgbin_PROGRAMS =
dist_man_MANS = rpmgrep.1
debugedit_SOURCES = debugedit.c hashtab.c
diff -ru rpm-5.2.0_vanilla/tools/Makefile.in rpm-5.2.0_exclude-some-tools/tools/Makefile.in
--- rpm-5.2.0_vanilla/tools/Makefile.in 2009-07-07 21:14:06.000000000 +0000
+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.in 2009-12-20 07:47:37.000000000 +0000
@@ -39,11 +39,7 @@
target_triplet = @target@
EXTRA_PROGRAMS = rpmkey$(EXEEXT) debugedit$(EXEEXT)
bin_PROGRAMS = rpm2cpio$(EXEEXT)
-pkgbin_PROGRAMS = rpmcache$(EXEEXT) rpmdigest$(EXEEXT) grep$(EXEEXT) \
- mtree$(EXEEXT) rpmrepo$(EXEEXT) rpmspecdump$(EXEEXT) \
- wget$(EXEEXT) rpmcmp$(EXEEXT) rpmdeps$(EXEEXT) \
- @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ $(am__EXEEXT_1) \
- $(am__EXEEXT_2)
+pkgbin_PROGRAMS =
@WITH_XAR_TRUE@am__append_1 = txar
@WITH_DB_INTERNAL_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_2 = db_tool
@WITH_DB_INTERNAL_TRUE@@WITH_DB_RPC_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_3 = \

View File

@ -1,12 +0,0 @@
diff -ru rpm-5.2.0_vanilla/db/env/env_open.c rpm-5.2.0_test/db/env/env_open.c
--- rpm-5.2.0_vanilla/db/env/env_open.c 2008-05-28 01:23:27.000000000 +0000
+++ rpm-5.2.0_test/db/env/env_open.c 2009-12-24 14:54:55.000000000 +0000
@@ -124,7 +124,7 @@
}
}
-#ifdef HAVE_MUTEX_THREAD_ONLY
+#ifdef NK_HAVE_MUTEX_THREAD_ONLY
/*
* Currently we support one kind of mutex that is intra-process only,
* POSIX 1003.1 pthreads, because a variety of systems don't support

View File

@ -1,14 +0,0 @@
Reduce parentdirs we use, parentdirs are used for ordering
Included upstream
diff -u --new-file --recursive rpm-5.1.9_vanilla/lib/depends.c rpm-5.1.9_no-parentdirs/lib/depends.c
--- rpm-5.1.9_vanilla/lib/depends.c 2009-04-12 19:46:17.000000000 +0000
+++ rpm-5.1.9_no-parentdirs/lib/depends.c 2009-06-13 15:21:43.504999639 +0000
@@ -2257,7 +2257,7 @@
#define isAuto(_x) ((_x) & _autobits)
/*@unchecked@*/
-static int slashDepth = 100; /* #slashes pemitted in parentdir deps. */
+static int slashDepth = 2; /* #slashes pemitted in parentdir deps. */
static int countSlashes(const char * dn)
/*@*/

View File

@ -1,45 +0,0 @@
Included upstream
--- x/lib/depends.c 2009/05/15 13:40:58 1.445
+++ y/lib/depends.c 2009/08/22 22:12:02 1.446
@@ -2216,9 +2216,6 @@
{
rpmte q, qprev;
- /* Mark the package as queued. */
- rpmteTSI(p)->tsi_queued = 1;
-
if ((*rp) == NULL) { /* 1st element */
/*@-dependenttrans@*/ /* FIX: double indirection */
(*rp) = (*qp) = p;
@@ -2238,6 +2235,12 @@
/* XXX Insure removed after added. */
if (rpmteType(p) == TR_REMOVED && rpmteType(p) != rpmteType(q))
continue;
+
+ /* XXX Follow all previous generations in the queue. */
+ if (rpmteTSI(p)->tsi_queued > rpmteTSI(q)->tsi_queued)
+ continue;
+
+ /* XXX Within a generation, queue behind more "important". */
if (rpmteTSI(q)->tsi_qcnt <= rpmteTSI(p)->tsi_qcnt)
break;
}
@@ -2521,6 +2524,9 @@
if (rpmteTSI(p)->tsi_count != 0)
continue;
+
+ /* Mark the package as queued. */
+ rpmteTSI(p)->tsi_queued = orderingCount + 1;
rpmteTSI(p)->tsi_suc = NULL;
addQ(p, &q, &r, prefcolor);
qlen++;
@@ -2584,6 +2590,8 @@
(void) rpmteSetParent(p, q);
(void) rpmteSetDegree(q, rpmteDegree(q)+1);
+ /* Mark the package as queued. */
+ rpmteTSI(p)->tsi_queued = orderingCount + 1;
/* XXX TODO: add control bit. */
rpmteTSI(p)->tsi_suc = NULL;
/*@-nullstate@*/ /* XXX FIX: rpmteTSI(q)->tsi_suc can be NULL. */

View File

@ -1,37 +0,0 @@
Avoid looking up files or directories that this package provides
Included upstream
diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_parentdir-vs-requires/lib/depends.c
--- rpm-5.2.0_vanilla/lib/depends.c 2009-05-23 01:23:46.000000000 +0000
+++ rpm-5.2.0_parentdir-vs-requires/lib/depends.c 2009-09-22 17:00:24.880956271 +0000
@@ -2095,6 +2095,7 @@
rpmtsi qi; rpmte q;
tsortInfo tsi;
nsType NSType = rpmdsNSType(requires);
+ const char * N = rpmdsN(requires);
fnpyKey key;
int teType = rpmteType(p);
alKey pkgKey;
@@ -2128,6 +2129,23 @@
break;
}
+ /* Avoid looking up files/directories that are "owned" by _THIS_ package. */
+ if (*N == '/') {
+ rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES);
+ int bingo = 0;
+
+ fi = rpmfiInit(fi, 0);
+ while (rpmfiNext(fi) >= 0) {
+ const char * fn = rpmfiFN(fi);
+ if (strcmp(N, fn))
+ continue;
+ bingo = 1;
+ break;
+ }
+ if (bingo)
+ return 0;
+ }
+
pkgKey = RPMAL_NOMATCH;
key = rpmalSatisfiesDepend(al, requires, &pkgKey);

View File

@ -1,235 +0,0 @@
Buildroot specific
diff -ru rpm-5.1.9_vanilla/xz/configure rpm-5.1.9_short-circuit-c99/xz/configure
--- rpm-5.1.9_vanilla/xz/configure 2009-04-18 16:47:23.000000000 +0000
+++ rpm-5.1.9_short-circuit-c99/xz/configure 2009-08-04 08:25:59.000000000 +0000
@@ -4970,214 +4970,7 @@
am__fastdepCC_FALSE=
fi
-
- { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
-$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
-if test "${ac_cv_prog_cc_c99+set}" = set; then
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c99=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdbool.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <stdio.h>
-
-// Check varargs macros. These examples are taken from C99 6.10.3.5.
-#define debug(...) fprintf (stderr, __VA_ARGS__)
-#define showlist(...) puts (#__VA_ARGS__)
-#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
-static void
-test_varargs_macros (void)
-{
- int x = 1234;
- int y = 5678;
- debug ("Flag");
- debug ("X = %d\n", x);
- showlist (The first, second, and third items.);
- report (x>y, "x is %d but y is %d", x, y);
-}
-
-// Check long long types.
-#define BIG64 18446744073709551615ull
-#define BIG32 4294967295ul
-#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
-#if !BIG_OK
- your preprocessor is broken;
-#endif
-#if BIG_OK
-#else
- your preprocessor is broken;
-#endif
-static long long int bignum = -9223372036854775807LL;
-static unsigned long long int ubignum = BIG64;
-
-struct incomplete_array
-{
- int datasize;
- double data[];
-};
-
-struct named_init {
- int number;
- const wchar_t *name;
- double average;
-};
-
-typedef const char *ccp;
-
-static inline int
-test_restrict (ccp restrict text)
-{
- // See if C++-style comments work.
- // Iterate through items via the restricted pointer.
- // Also check for declarations in for loops.
- for (unsigned int i = 0; *(text+i) != '\0'; ++i)
- continue;
- return 0;
-}
-
-// Check varargs and va_copy.
-static void
-test_varargs (const char *format, ...)
-{
- va_list args;
- va_start (args, format);
- va_list args_copy;
- va_copy (args_copy, args);
-
- const char *str;
- int number;
- float fnumber;
-
- while (*format)
- {
- switch (*format++)
- {
- case 's': // string
- str = va_arg (args_copy, const char *);
- break;
- case 'd': // int
- number = va_arg (args_copy, int);
- break;
- case 'f': // float
- fnumber = va_arg (args_copy, double);
- break;
- default:
- break;
- }
- }
- va_end (args_copy);
- va_end (args);
-}
-
-int
-main ()
-{
-
- // Check bool.
- _Bool success = false;
-
- // Check restrict.
- if (test_restrict ("String literal") == 0)
- success = true;
- char *restrict newvar = "Another string";
-
- // Check varargs.
- test_varargs ("s, d' f .", "string", 65, 34.234);
- test_varargs_macros ();
-
- // Check flexible array members.
- struct incomplete_array *ia =
- malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
- ia->datasize = 10;
- for (int i = 0; i < ia->datasize; ++i)
- ia->data[i] = i * 1.234;
-
- // Check named initializers.
- struct named_init ni = {
- .number = 34,
- .name = L"Test wide string",
- .average = 543.34343,
- };
-
- ni.number = 58;
-
- int dynamic_array[ni.number];
- dynamic_array[ni.number - 1] = 543;
-
- // work around unused variable warnings
- return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
- || dynamic_array[ni.number - 1] != 543);
-
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
- (eval "$ac_compile") 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then
- ac_cv_prog_cc_c99=$ac_arg
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c99" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c99" in
- x)
- { $as_echo "$as_me:$LINENO: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c99"
- { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
-$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
-esac
-
-
-
-if test x$ac_cv_prog_cc_c99 = xno ; then
- { { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5
-$as_echo "$as_me: error: No C99 compiler was found." >&2;}
- { (exit 1); exit 1; }; }
-fi
+CC="$CC -std=c99"
if test "x$CC" != xcc; then
{ $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
diff -ru rpm-5.1.9_vanilla/xz/configure.ac rpm-5.1.9_short-circuit-c99/xz/configure.ac
--- rpm-5.1.9_vanilla/xz/configure.ac 2009-02-16 17:07:46.000000000 +0000
+++ rpm-5.1.9_short-circuit-c99/xz/configure.ac 2009-08-04 08:25:28.000000000 +0000
@@ -402,10 +402,7 @@
AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99])
AC_PROG_LN_S
-AC_PROG_CC_C99
-if test x$ac_cv_prog_cc_c99 = xno ; then
- AC_MSG_ERROR([No C99 compiler was found.])
-fi
+CC="$CC -std=c99"
AM_PROG_CC_C_O
AM_PROG_AS

View File

@ -1,28 +1,20 @@
comment "rpm needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
comment "rpm needs a toolchain w/ gcc >= 5"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh
depends on BR2_USE_MMU
config BR2_PACKAGE_RPM
bool "rpm"
# triggers internal compiler error
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
depends on BR2_USE_MMU # fork()
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
select BR2_PACKAGE_BEECRYPT
select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBNSS
select BR2_PACKAGE_BERKELEYDB
select BR2_PACKAGE_FILE
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
select BR2_PACKAGE_NEON
select BR2_PACKAGE_NEON_SSL
select BR2_PACKAGE_NEON_XML
select BR2_PACKAGE_NEON_ZLIB
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_POPT
select BR2_PACKAGE_ZLIB
help
The RPM package management system.
The RPM Package Manager (RPM).
http://rpm5.org
http://www.rpm.org/

View File

@ -1,2 +1,5 @@
# Locally calculated
sha256 34a959c0ed670cadcdc52c6025e822fac6f5d1015e3b75123f53ebe53b923e98 rpm-5.2.0.tar.gz
# From http://rpm.org/wiki/Releases/4.13.0
sha1 c6ce4f879ca6a75340921093105e5ef9d33381d3 rpm-4.13.0.tar.bz2
# Locally computed
sha256 a3e5568d721737a24141737e6036bb39ba9dfbeaa03fa4a51cc7881a243e0c5d b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch
sha256 7ab0e08e143bb2d43d5b0553ee22ea34da15a611c597860a6110745467d20fa8 c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch

View File

@ -4,61 +4,76 @@
#
################################################################################
RPM_VERSION_MAJOR = 5.2
RPM_VERSION = $(RPM_VERSION_MAJOR).0
RPM_SITE = http://rpm5.org/files/rpm/rpm-$(RPM_VERSION_MAJOR)
RPM_DEPENDENCIES = host-pkgconf zlib beecrypt neon popt openssl
RPM_LICENSE = LGPLv2.1
RPM_LICENSE_FILES = COPYING.LIB
RPM_VERSION = 4.13.0
RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
RPM_SITE = https://github.com/rpm-software-management/rpm/releases/download/rpm-$(RPM_VERSION)-release
RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib
RPM_LICENSE = GPLv2 or LGPLv2 (library only)
RPM_LICENSE_FILES = COPYING
RPM_PATCH = \
https://github.com/rpm-software-management/rpm/commit/b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch \
https://github.com/rpm-software-management/rpm/commit/c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch
RPM_CONF_ENV = \
CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/beecrypt -I$(STAGING_DIR)/usr/include/neon -DHAVE_MUTEX_THREAD_ONLY" \
ac_cv_va_copy=yes
# b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch
# c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch
RPM_AUTORECONF = YES
RPM_CONF_OPTS = \
--disable-build-versionscript \
--disable-python \
--disable-rpath \
--without-selinux \
--without-python \
--without-perl \
--with-openssl=external \
--with-zlib=external \
--with-libbeecrypt=$(STAGING_DIR) \
--with-popt=external
--with-external-db \
--with-gnu-ld \
--without-cap \
--without-hackingdocs \
--without-lua
ifeq ($(BR2_PACKAGE_ACL),y)
RPM_DEPENDENCIES += acl
RPM_CONF_OPTS += --with-acl
else
RPM_CONF_OPTS += --without-acl
endif
ifeq ($(BR2_PACKAGE_LIBNSS),y)
RPM_DEPENDENCIES += libnss
RPM_CONF_OPTS += --without-beecrypt
RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr
else
RPM_DEPENDENCIES += beecrypt
RPM_CONF_OPTS += --with-beecrypt
RPM_CFLAGS += -I$(STAGING_DIR)/usr/include/beecrypt
endif
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
RPM_DEPENDENCIES += gettext
endif
ifeq ($(BR2_PACKAGE_PCRE),y)
RPM_DEPENDENCIES += pcre
RPM_CONF_OPTS += --with-pcre=external
RPM_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr
else
RPM_CONF_OPTS += --with-pcre=none
RPM_CONF_OPTS += --without-libintl-prefix
endif
ifeq ($(BR2_PACKAGE_FILE),y)
RPM_DEPENDENCIES += file
RPM_CONF_OPTS += --with-file=external
ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
RPM_DEPENDENCIES += libarchive
RPM_CONF_OPTS += --with-archive
else
RPM_CONF_OPTS += --with-file=none
RPM_CONF_OPTS += --without-archive
endif
# xz payload support needs a toolchain w/ C++
ifeq ($(BR2_PACKAGE_XZ)$(BR2_INSTALL_LIBSTDCPP),yy)
RPM_DEPENDENCIES += xz
RPM_CONF_OPTS += --with-xz=external
ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
RPM_DEPENDENCIES += libselinux
RPM_CONF_OPTS += --with-selinux
else
RPM_CONF_OPTS += --with-xz=none
RPM_CONF_OPTS += --without-selinux
endif
ifeq ($(BR2_PACKAGE_BZIP2),y)
RPM_CONF_OPTS += --with-bzip2
RPM_DEPENDENCIES += bzip2
# RPM, when using NLS, requires GNU gettext's _nl_msg_cat_cntr, which is not
# provided in musl.
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
RPM_CONF_OPTS += --disable-nls
endif
RPM_MAKE = $(MAKE1)
RPM_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) program_transform_name= install
# ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`).
RPM_CONF_ENV = \
ac_cv_prog_cc_c99='-std=gnu99' \
CFLAGS="$(TARGET_CFLAGS) $(RPM_CFLAGS)"
$(eval $(autotools-package))

View File

@ -22,4 +22,11 @@ else
XTERM_CONF_OPTS += --disable-freetype
endif
ifeq ($(BR2_PACKAGE_XLIB_LIBXINERAMA),y)
XTERM_DEPENDENCIES += xlib_libXinerama
XTERM_CONF_OPTS += --with-xinerama
else
XTERM_CONF_OPTS += --without-xinerama
endif
$(eval $(autotools-package))

View File

@ -1,5 +1,5 @@
config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
bool "Linaro AArch64 2016.05"
bool "Linaro AArch64 2016.11"
depends on BR2_aarch64
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
depends on !BR2_STATIC_LIBS
@ -7,8 +7,8 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
select BR2_TOOLCHAIN_HAS_SSP
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
select BR2_TOOLCHAIN_HAS_FORTRAN
help
Toolchain for the AArch64 architecture, from

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 d43227248f282a652da42322fcf4abfd3021f2a2f62e0cf6e242d82f55966ba9 gcc-linaro-5.3.1-2016.05-i686_aarch64-linux-gnu.tar.xz
sha256 1941dcf6229d6706bcb89b7976d5d43d170efdd17c27d5fe1738e7ecf22adc37 gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu.tar.xz
sha256 057156a47b9cd68cdc0b48adcbe96c8249e3653b082f6c051dd75cb644f64b3a gcc-linaro-6.2.1-2016.11-i686_aarch64-linux-gnu.tar.xz
sha256 539cc29320bd84178cd093aae0b06b1ee5476511cecaba989faf9c6a1d4cdf81 gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu.tar.xz

View File

@ -4,13 +4,13 @@
#
################################################################################
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2016.05
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION = 2016.11
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu
ifeq ($(HOSTARCH),x86)
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-i686_aarch64-linux-gnu.tar.xz
else
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz
TOOLCHAIN_EXTERNAL_LINARO_AARCH64_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)-x86_64_aarch64-linux-gnu.tar.xz
endif
$(eval $(toolchain-external-package))

View File

@ -4,7 +4,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf"
depends on !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
bool "Linaro ARM 2016.05"
bool "Linaro ARM 2016.11"
depends on BR2_arm
depends on BR2_ARM_CPU_ARMV7A
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
@ -14,13 +14,13 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM
select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
select BR2_TOOLCHAIN_HAS_FORTRAN
help
Linaro toolchain for the ARM architecture. It uses Linaro
GCC 2016.05 (based on gcc 5.3.1), Linaro GDB 2016.05 (based on
GDB 7.11.1), glibc 2.21, Binutils 2016.05 (based on 2.25). It
GCC 2016.11 (based on gcc 6.2.1), Linaro GDB 2016.11 (based on
GDB 7.12), glibc 2.23, Binutils 2016.11 (based on 2.27). It
generates code that runs on all Cortex-A profile devices,
but tuned for the Cortex-A9. The code generated is Thumb 2,
with the hard floating point calling convention, and uses

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 f1421c580ce977226f4fefc9c409b3b423260cc65a6e9dc6da88bb3478a521a0 gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz
sha256 987941c9fffdf56ffcbe90e8984673c16648c477b537fcf43add22fa62f161cd gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz
sha256 a2a4968bfb8537c1b3280b4f475d90d53a1a0f05f7afc7b43efed266cc4de446 gcc-linaro-6.2.1-2016.11-i686_arm-linux-gnueabihf.tar.xz
sha256 5eb7ab2f8a0b4b960900321505cd6923a072cb3e2412102f5f72a6e74c2f0a55 gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf.tar.xz

View File

@ -4,13 +4,13 @@
#
################################################################################
TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2016.05
TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf
TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION = 2016.11
TOOLCHAIN_EXTERNAL_LINARO_ARM_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf
ifeq ($(HOSTARCH),x86)
TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz
TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-i686_arm-linux-gnueabihf.tar.xz
else
TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz
TOOLCHAIN_EXTERNAL_LINARO_ARM_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)-x86_64_arm-linux-gnueabihf.tar.xz
endif
$(eval $(toolchain-external-package))

View File

@ -4,7 +4,7 @@ comment "Linaro toolchains available for Cortex-A + EABIhf"
depends on !BR2_STATIC_LIBS
config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
bool "Linaro armeb 2016.05"
bool "Linaro armeb 2016.11"
depends on BR2_armeb
depends on BR2_ARM_CPU_ARMV7A
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
@ -14,13 +14,13 @@ config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARMEB
select BR2_TOOLCHAIN_HAS_SSP
select BR2_TOOLCHAIN_HAS_NATIVE_RPC
select BR2_INSTALL_LIBSTDCPP
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0
select BR2_TOOLCHAIN_GCC_AT_LEAST_5
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
help
Linaro toolchain for the ARM big endian architecture. It
uses Linaro GCC 2016.05 (based on gcc 5.3.1), Linaro GDB
2016.05 (based on GDB 7.11.1), glibc 2.21, Binutils 2016.05
(based on 2.25). It generates code that runs on all Cortex-A
uses Linaro GCC 2016.11 (based on gcc 6.2.1), Linaro GDB
2016.11 (based on GDB 7.12), glibc 2.23, Binutils 2016.11
(based on 2.27). It generates code that runs on all Cortex-A
profile devices, but tuned for the Cortex-A9. The code
generated is Thumb 2, with the hard floating point calling
convention, and uses the VFPv3-D16 FPU instructions.

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 f6e9c0d3320760fe8f89e9ec3acdd7b4da7eff889c094b4a2acc286fd46f334f gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz
sha256 6cf41c8944be56279cc14992aa075174b7a4c5938502536266eaaeef048f9440 gcc-linaro-5.3.1-2016.05-x86_64_armeb-linux-gnueabihf.tar.xz
sha256 05a34c56da56b9b1e1a61ad1217dc4e751e1d277932dbeaa82b6c242cf0f2ec9 gcc-linaro-6.2.1-2016.11-i686_armeb-linux-gnueabihf.tar.xz
sha256 319cb7c6363a3116357b163d0b4f9e0c27cfcb6153f3c26a34edf892819f12e5 gcc-linaro-6.2.1-2016.11-x86_64_armeb-linux-gnueabihf.tar.xz

View File

@ -4,13 +4,13 @@
#
################################################################################
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2016.05
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/5.3-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION = 2016.11
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf
ifeq ($(HOSTARCH),x86)
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-i686_armeb-linux-gnueabihf.tar.xz
else
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-5.3.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz
TOOLCHAIN_EXTERNAL_LINARO_ARMEB_SOURCE = gcc-linaro-6.2.1-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)-x86_64_armeb-linux-gnueabihf.tar.xz
endif
$(eval $(toolchain-external-package))