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 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)) $(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) ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y)
LIBDVBCSA_CONF_OPTS += --enable-altivec LIBDVBCSA_CONF_OPTS += --enable-altivec
LIBDVBCSA_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -flax-vector-conversions"
else else
LIBDVBCSA_CONF_OPTS += --disable-altivec LIBDVBCSA_CONF_OPTS += --disable-altivec
endif endif

View File

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

View File

@ -5,7 +5,7 @@
################################################################################ ################################################################################
LIBGTK3_VERSION_MAJOR = 3.22 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_SOURCE = gtk+-$(LIBGTK3_VERSION).tar.xz
LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR) LIBGTK3_SITE = http://ftp.gnome.org/pub/gnome/sources/gtk+/$(LIBGTK3_VERSION_MAJOR)
LIBGTK3_LICENSE = LGPLv2+ LIBGTK3_LICENSE = LGPLv2+

View File

@ -1,2 +1,2 @@
# Locally calculated # 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_VERSION = 0.9.4-2
LSQLITE3_SUBDIR = lsqlite3_fsl09w LSQLITE3_SUBDIR = lsqlite3_fsl09x
LSQLITE3_DEPENDENCIES = sqlite LSQLITE3_DEPENDENCIES = sqlite
LSQLITE3_LICENSE = MIT LSQLITE3_LICENSE = MIT

View File

@ -1,6 +1,3 @@
# From http://www.efficios.com/files/babeltrace/babeltrace-1.4.0.tar.bz2.{md5,sha1} # From http://www.efficios.com/files/babeltrace/babeltrace-1.5.0.tar.bz2.{md5,sha1}
md5 fa99064048af5c9c6ff00e489ac809c2 babeltrace-1.4.0.tar.bz2 md5 43696383e44d1b85173db7cbd0335f06 babeltrace-1.5.0.tar.bz2
sha1 3b162480ee883625e8581bf163817f78a4b6487b babeltrace-1.4.0.tar.bz2 sha1 13f106951c418632a2155ebe3cea51fa4929e748 babeltrace-1.5.0.tar.bz2
# Locally generated
sha256 9469eeb22617cd12668683b04c27003e5337e9ac66ade914988df3642fc0d0e4 babeltrace-1.4.0.tar.bz2

View File

@ -5,7 +5,7 @@
################################################################################ ################################################################################
LTTNG_BABELTRACE_SITE = http://www.efficios.com/files/babeltrace 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_SOURCE = babeltrace-$(LTTNG_BABELTRACE_VERSION).tar.bz2
LTTNG_BABELTRACE_LICENSE = MIT, LGPLv2.1 (include/babeltrace/list.h), GPLv2 (test code) 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_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} # From http://lttng.org/files/lttng-ust/lttng-ust-2.9.0.tar.bz2.{md5,sha1}
md5 be505077245dc05f93370a565eec15f4 lttng-ust-2.8.1.tar.bz2 md5 77f3378ba37a36801420bce87b702e9c lttng-ust-2.9.0.tar.bz2
sha1 8bebdcbcb453d2643fb226dbe92de61764f1ee3b lttng-ust-2.8.1.tar.bz2 sha1 9937eae64540821b8597cce081e92be76e6b5568 lttng-ust-2.9.0.tar.bz2
# Locally generated
sha256 6e41349107e83e7b43c69ed358e48788ca2fd095bad61737b850e3f3d2c0508a lttng-ust-2.8.1.tar.bz2

View File

@ -5,7 +5,7 @@
################################################################################ ################################################################################
LTTNG_LIBUST_SITE = http://lttng.org/files/lttng-ust 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_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 = LGPLv2.1, MIT (system headers), GPLv2 (liblttng-ust-ctl/ustctl.c used by lttng-sessiond)
LTTNG_LIBUST_LICENSE_FILES = COPYING 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} # From http://lttng.org/files/lttng-modules/lttng-modules-2.9.0.tar.bz2.{md5,sha1}
md5 424354c4834d20235dacd9a1fd7653b6 lttng-modules-2.8.3.tar.bz2 md5 717df375ccb6f32bb297cc2f2e692bbf lttng-modules-2.9.0.tar.bz2
sha1 862705784a54962f70226004f1fd0bf77f73f10f lttng-modules-2.8.3.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_SITE = http://lttng.org/files/lttng-modules
LTTNG_MODULES_SOURCE = lttng-modules-$(LTTNG_MODULES_VERSION).tar.bz2 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/*) 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} # From http://lttng.org/files/lttng-tools/lttng-tools-2.9.0.tar.bz2.{md5,sha1}
md5 cac8d64111711ae1b632d0dc12fe92c1 lttng-tools-2.8.2.tar.bz2 md5 75b5feb18aa2a136ebf70a14d2a5a6e5 lttng-tools-2.9.0.tar.bz2
sha1 870874ba9644691de8e564a1fa1459aa5fef42ba lttng-tools-2.8.2.tar.bz2 sha1 299158fd8614e45ee596d793696feb86cdea34b2 lttng-tools-2.9.0.tar.bz2
# Locally generated
sha256 a07e00e9519dad2577d9330bcaf040ab3dc1b289fbcb8c702c39d520422e7565 lttng-tools-2.8.2.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_SITE = http://lttng.org/files/lttng-tools
LTTNG_TOOLS_SOURCE = lttng-tools-$(LTTNG_TOOLS_VERSION).tar.bz2 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 = GPLv2+, LGPLv2.1+ (include/lttng/*, src/lib/lttng-ctl/*)

View File

@ -1,3 +1,3 @@
# Locally calculated # Locally calculated
sha256 7136e47a37f01960c244fe0ad42215e2cf6e96f50cb7292c5295fa3e93fd50c1 lua-messagepack-0.3.5-1.src.rock sha256 706e99424cfd4d86deed10764fb2d0094bac006c0c5be449470992e9f0779ffa lua-messagepack-0.3.6-1.src.rock
sha256 b8d1c3cff8eef0b8ef1a3287228cfac4149933744235d3a5d88d65d4e3b048bb lua-messagepack-lua53-0.3.5-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) ifeq ($(BR2_PACKAGE_LUA_5_3),y)
LUA_MESSAGEPACK_VERSION = lua53-$(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1 LUA_MESSAGEPACK_VERSION = lua53-$(LUA_MESSAGEPACK_VERSION_UPSTREAM)-1
else else

View File

@ -1,2 +1,2 @@
# Locally calculated # 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_SITE = http://luarocks.org/releases
LUAROCKS_LICENSE = MIT LUAROCKS_LICENSE = MIT
LUAROCKS_LICENSE_FILES = COPYING LUAROCKS_LICENSE_FILES = COPYING

View File

@ -1,2 +1,2 @@
# Locally computed: # 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_VERSION = 3.2.6
NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.bz2 NCFTP_SOURCE = ncftp-$(NCFTP_VERSION)-src.tar.xz
NCFTP_SITE = ftp://ftp.ncftp.com/ncftp NCFTP_SITE = ftp://ftp.ncftp.com/ncftp
NCFTP_TARGET_BINS = ncftp NCFTP_TARGET_BINS = ncftp
NCFTP_LICENSE = Clarified Artistic License 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" comment "rpm needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
depends on BR2_USE_MMU
comment "rpm needs a toolchain w/ gcc >= 5"
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5 && BR2_sh
config BR2_PACKAGE_RPM config BR2_PACKAGE_RPM
bool "rpm" bool "rpm"
# triggers internal compiler error depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_sh
depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
depends on BR2_USE_MMU # fork() depends on BR2_USE_MMU # fork()
depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBNSS
select BR2_PACKAGE_BEECRYPT select BR2_PACKAGE_BERKELEYDB
select BR2_PACKAGE_FILE
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE 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_POPT
select BR2_PACKAGE_ZLIB select BR2_PACKAGE_ZLIB
help 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 # From http://rpm.org/wiki/Releases/4.13.0
sha256 34a959c0ed670cadcdc52c6025e822fac6f5d1015e3b75123f53ebe53b923e98 rpm-5.2.0.tar.gz 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 = 4.13.0
RPM_VERSION = $(RPM_VERSION_MAJOR).0 RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
RPM_SITE = http://rpm5.org/files/rpm/rpm-$(RPM_VERSION_MAJOR) RPM_SITE = https://github.com/rpm-software-management/rpm/releases/download/rpm-$(RPM_VERSION)-release
RPM_DEPENDENCIES = host-pkgconf zlib beecrypt neon popt openssl RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib
RPM_LICENSE = LGPLv2.1 RPM_LICENSE = GPLv2 or LGPLv2 (library only)
RPM_LICENSE_FILES = COPYING.LIB 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 = \ # b5f1895aae096836d6e8e155ee289e1b10fcabcb.patch
CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/beecrypt -I$(STAGING_DIR)/usr/include/neon -DHAVE_MUTEX_THREAD_ONLY" \ # c810a0aca3f1148d2072d44b91b8cc9caeb4cf19.patch
ac_cv_va_copy=yes RPM_AUTORECONF = YES
RPM_CONF_OPTS = \ RPM_CONF_OPTS = \
--disable-build-versionscript \ --disable-python \
--disable-rpath \ --disable-rpath \
--without-selinux \ --with-external-db \
--without-python \ --with-gnu-ld \
--without-perl \ --without-cap \
--with-openssl=external \ --without-hackingdocs \
--with-zlib=external \ --without-lua
--with-libbeecrypt=$(STAGING_DIR) \
--with-popt=external 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) ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
RPM_DEPENDENCIES += gettext RPM_DEPENDENCIES += gettext
endif RPM_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr
ifeq ($(BR2_PACKAGE_PCRE),y)
RPM_DEPENDENCIES += pcre
RPM_CONF_OPTS += --with-pcre=external
else else
RPM_CONF_OPTS += --with-pcre=none RPM_CONF_OPTS += --without-libintl-prefix
endif endif
ifeq ($(BR2_PACKAGE_FILE),y) ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
RPM_DEPENDENCIES += file RPM_DEPENDENCIES += libarchive
RPM_CONF_OPTS += --with-file=external RPM_CONF_OPTS += --with-archive
else else
RPM_CONF_OPTS += --with-file=none RPM_CONF_OPTS += --without-archive
endif endif
# xz payload support needs a toolchain w/ C++ ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
ifeq ($(BR2_PACKAGE_XZ)$(BR2_INSTALL_LIBSTDCPP),yy) RPM_DEPENDENCIES += libselinux
RPM_DEPENDENCIES += xz RPM_CONF_OPTS += --with-selinux
RPM_CONF_OPTS += --with-xz=external
else else
RPM_CONF_OPTS += --with-xz=none RPM_CONF_OPTS += --without-selinux
endif endif
ifeq ($(BR2_PACKAGE_BZIP2),y) # RPM, when using NLS, requires GNU gettext's _nl_msg_cat_cntr, which is not
RPM_CONF_OPTS += --with-bzip2 # provided in musl.
RPM_DEPENDENCIES += bzip2 ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
RPM_CONF_OPTS += --disable-nls
endif endif
RPM_MAKE = $(MAKE1) # ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`).
RPM_CONF_ENV = \
RPM_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) program_transform_name= install ac_cv_prog_cc_c99='-std=gnu99' \
CFLAGS="$(TARGET_CFLAGS) $(RPM_CFLAGS)"
$(eval $(autotools-package)) $(eval $(autotools-package))

View File

@ -22,4 +22,11 @@ else
XTERM_CONF_OPTS += --disable-freetype XTERM_CONF_OPTS += --disable-freetype
endif 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)) $(eval $(autotools-package))

View File

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

View File

@ -1,3 +1,3 @@
# Locally calculated # Locally calculated
sha256 d43227248f282a652da42322fcf4abfd3021f2a2f62e0cf6e242d82f55966ba9 gcc-linaro-5.3.1-2016.05-i686_aarch64-linux-gnu.tar.xz sha256 057156a47b9cd68cdc0b48adcbe96c8249e3653b082f6c051dd75cb644f64b3a gcc-linaro-6.2.1-2016.11-i686_aarch64-linux-gnu.tar.xz
sha256 1941dcf6229d6706bcb89b7976d5d43d170efdd17c27d5fe1738e7ecf22adc37 gcc-linaro-5.3.1-2016.05-x86_64_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_VERSION = 2016.11
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_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_AARCH64_VERSION)/aarch64-linux-gnu
ifeq ($(HOSTARCH),x86) 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 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 endif
$(eval $(toolchain-external-package)) $(eval $(toolchain-external-package))

View File

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

View File

@ -1,3 +1,3 @@
# Locally calculated # Locally calculated
sha256 f1421c580ce977226f4fefc9c409b3b423260cc65a6e9dc6da88bb3478a521a0 gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf.tar.xz sha256 a2a4968bfb8537c1b3280b4f475d90d53a1a0f05f7afc7b43efed266cc4de446 gcc-linaro-6.2.1-2016.11-i686_arm-linux-gnueabihf.tar.xz
sha256 987941c9fffdf56ffcbe90e8984673c16648c477b537fcf43add22fa62f161cd gcc-linaro-5.3.1-2016.05-x86_64_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_VERSION = 2016.11
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_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARM_VERSION)/arm-linux-gnueabihf
ifeq ($(HOSTARCH),x86) 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 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 endif
$(eval $(toolchain-external-package)) $(eval $(toolchain-external-package))

View File

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

View File

@ -1,3 +1,3 @@
# Locally calculated # Locally calculated
sha256 f6e9c0d3320760fe8f89e9ec3acdd7b4da7eff889c094b4a2acc286fd46f334f gcc-linaro-5.3.1-2016.05-i686_armeb-linux-gnueabihf.tar.xz sha256 05a34c56da56b9b1e1a61ad1217dc4e751e1d277932dbeaa82b6c242cf0f2ec9 gcc-linaro-6.2.1-2016.11-i686_armeb-linux-gnueabihf.tar.xz
sha256 6cf41c8944be56279cc14992aa075174b7a4c5938502536266eaaeef048f9440 gcc-linaro-5.3.1-2016.05-x86_64_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_VERSION = 2016.11
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_SITE = https://releases.linaro.org/components/toolchain/binaries/6.2-$(TOOLCHAIN_EXTERNAL_LINARO_ARMEB_VERSION)/armeb-linux-gnueabihf
ifeq ($(HOSTARCH),x86) 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 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 endif
$(eval $(toolchain-external-package)) $(eval $(toolchain-external-package))