Update buidlroot to version 2016.08.1

This commit is contained in:
2016-11-16 22:07:29 +01:00
parent 807ab03547
commit a1061efbc2
3636 changed files with 59539 additions and 25783 deletions

View File

@@ -0,0 +1,37 @@
Disable fenv.h in certain configurations
The boost build system does not properly test whether fenv.h is
available, and if it is, if it supports all the features used by
Boost. This causes build failures with uClibc (reported upstream at
https://svn.boost.org/trac/boost/ticket/11756) but also with glibc on
specific architectures that don't have a full fenv implementation,
such as NIOSII or Microblaze.
To address this, we forcefully disable the use of fenv support in the
affected configurations.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: add Microblaze/NIOSII exclusions.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/boost/config/platform/linux.hpp
===================================================================
--- a/boost/config/platform/linux.hpp
+++ b/boost/config/platform/linux.hpp
@@ -47,6 +47,16 @@
#endif
//
+// uClibc has no support for fenv.h, and also a few architectures
+// don't have fenv.h support at all (or incomplete support) even with
+// glibc.
+
+//
+#if defined(__UCLIBC__) || defined(__nios2__) || defined(__microblaze__)
+# define BOOST_NO_FENV_H
+#endif
+
+//
// If glibc is past version 2 then we definitely have
// gettimeofday, earlier versions may or may not have it:
//

View File

@@ -1,91 +0,0 @@
From 74ff2db959c5fa75bec770c41ed2951a740fe936 Mon Sep 17 00:00:00 2001
From: jzmaddock <jz.maddock@gmail.com>
Date: Fri, 1 Jan 2016 16:49:48 +0000
Subject: [PATCH] Change <quadmath.h> config to not use it at all if we don't
have __has_include as GCC may be configured with --disable-libquadmath but
still signal that it supports __float128
Backported from: 74ff2db959c5fa75bec770c41ed2951a740fe936
[Jörg Krause: adjust pathes to match sourceforge release tarball]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
boost/math/special_functions/fpclassify.hpp | 16 +++++++++++++---
boost/math/tools/config.hpp | 12 ------------
2 files changed, 13 insertions(+), 15 deletions(-)
diff --git a/boost/math/special_functions/fpclassify.hpp b/boost/math/special_functions/fpclassify.hpp
index 0a4e1ac..58fad13 100644
--- a/boost/math/special_functions/fpclassify.hpp
+++ b/boost/math/special_functions/fpclassify.hpp
@@ -81,7 +81,12 @@ is used.
#include <float.h>
#endif
#ifdef BOOST_MATH_USE_FLOAT128
+#ifdef __has_include
+#if __has_include("quadmath.h")
#include "quadmath.h"
+#define BOOST_MATH_HAS_QUADMATH_H
+#endif
+#endif
#endif
#ifdef BOOST_NO_STDC_NAMESPACE
@@ -124,9 +129,14 @@ inline bool is_nan_helper(T, const boost::false_type&)
{
return false;
}
-#ifdef BOOST_MATH_USE_FLOAT128
+#if defined(BOOST_MATH_USE_FLOAT128)
+#if defined(BOOST_MATH_HAS_QUADMATH_H)
inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnanq(f); }
inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnanq(f); }
+#else
+inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnan(static_cast<double>(f)); }
+inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnan(static_cast<double>(f)); }
+#endif
#endif
}
@@ -519,7 +529,7 @@ inline bool (isinf)(long double x)
return detail::isinf_impl(static_cast<value_type>(x), method());
}
#endif
-#ifdef BOOST_MATH_USE_FLOAT128
+#if defined(BOOST_MATH_USE_FLOAT128) && defined(BOOST_MATH_HAS_QUADMATH_H)
template<>
inline bool (isinf)(__float128 x)
{
@@ -611,7 +621,7 @@ inline bool (isnan)(long double x)
return detail::isnan_impl(x, method());
}
#endif
-#ifdef BOOST_MATH_USE_FLOAT128
+#if defined(BOOST_MATH_USE_FLOAT128) && defined(BOOST_MATH_HAS_QUADMATH_H)
template<>
inline bool (isnan)(__float128 x)
{
diff --git a/boost/math/tools/config.hpp b/boost/math/tools/config.hpp
index ffd0ab4..75d29b6 100644
--- a/boost/math/tools/config.hpp
+++ b/boost/math/tools/config.hpp
@@ -265,18 +265,6 @@
# define BOOST_MATH_INT_VALUE_SUFFIX(RV, SUF) RV##SUF
#endif
//
-// Test whether to support __float128, if we don't have quadmath.h then this can't currently work:
-//
-#ifndef BOOST_MATH_USE_FLOAT128
-#ifdef __has_include
-#if ! __has_include("quadmath.h")
-#define BOOST_MATH_DISABLE_FLOAT128
-#endif
-#elif !defined(BOOST_ARCH_X86)
-#define BOOST_MATH_DISABLE_FLOAT128
-#endif
-#endif
-//
// And then the actual configuration:
//
#if defined(_GLIBCXX_USE_FLOAT128) && defined(BOOST_GCC) && !defined(__STRICT_ANSI__) \

View File

@@ -1,50 +0,0 @@
From a4e9686f8a0258bc30f9da2abab65673d6b9bd50 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jupp=20M=C3=BCller?= <jupp0r@gmail.com>
Date: Wed, 23 Dec 2015 09:18:51 +0100
Subject: [PATCH] Fix declaration changes meaning error with GCC 4.4.7 (#11856)
Backported from a4e9686f8a0258bc30f9da2abab65673d6b9bd50
[Jörg Krause: adjust pathes to match sourceforge release tarball]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
libs/container/src/pool_resource.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libs/container/src/pool_resource.cpp b/libs/container/src/pool_resource.cpp
index 4df7ee2..45f1564 100644
--- a/libs/container/src/pool_resource.cpp
+++ b/libs/container/src/pool_resource.cpp
@@ -32,11 +32,11 @@ namespace pmr {
class pool_data_t
: public block_slist_base<>
{
- typedef block_slist_base<> block_slist_base;
+ typedef block_slist_base<> block_slist_base_t;
public:
explicit pool_data_t(std::size_t initial_blocks_per_chunk)
- : block_slist_base(), next_blocks_per_chunk(initial_blocks_per_chunk)
+ : block_slist_base_t(), next_blocks_per_chunk(initial_blocks_per_chunk)
{ slist_algo::init_header(&free_slist); }
void *allocate_block() BOOST_NOEXCEPT
@@ -59,7 +59,7 @@ class pool_data_t
void release(memory_resource &upstream)
{
slist_algo::init_header(&free_slist);
- this->block_slist_base::release(upstream);
+ this->block_slist_base_t::release(upstream);
next_blocks_per_chunk = pool_options_minimum_max_blocks_per_chunk;
}
@@ -72,7 +72,7 @@ class pool_data_t
//Minimum block size is at least max_align, so all pools allocate sizes that are multiple of max_align,
//meaning that all blocks are max_align-aligned.
- char *p = static_cast<char *>(block_slist_base::allocate(blocks_per_chunk*pool_block, mr));
+ char *p = static_cast<char *>(block_slist_base_t::allocate(blocks_per_chunk*pool_block, mr));
//Create header types. This is no-throw
for(std::size_t i = 0, max = blocks_per_chunk; i != max; ++i){

View File

@@ -0,0 +1,45 @@
From 4f1c6784b37a11c78fe84bb238fb7cc377ce0d36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Wed, 30 Mar 2016 23:28:33 +0200
Subject: [PATCH] Fix for uClibc and gcc <= 4.8.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
getchar() is defined as a macro in uClibc. This hits gcc bug 58952 [1] for all
gcc version <= 4.8.2 and building boost/test fails:
./boost/test/impl/unit_test_main.ipp: In function 'int boost::unit_test::unit_test_main(boost::unit_test::init_unit_test_func, int, char**)':
./boost/test/impl/unit_test_main.ipp:194:18: error: expected unqualified-id before '(' token
To allow building boost/test with uClibc based toolchains with gcc <= 4.8.2 use
parenthesis for std::getchar.
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58952
Upstream status: Pending
https://github.com/boostorg/test/pull/97
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
include/boost/test/impl/unit_test_main.ipp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/boost/test/impl/unit_test_main.ipp b/boost/test/impl/unit_test_main.ipp
index 1f30c02..db61930 100644
--- a/boost/test/impl/unit_test_main.ipp
+++ b/boost/test/impl/unit_test_main.ipp
@@ -191,7 +191,9 @@ unit_test_main( init_unit_test_func init_func, int argc, char* argv[] )
if( runtime_config::get<bool>( runtime_config::WAIT_FOR_DEBUGGER ) ) {
results_reporter::get_stream() << "Press any key to continue..." << std::endl;
- std::getchar();
+ // getchar is defined as a macro in uClibc. Use parenthesis to fix
+ // gcc bug 58952 for gcc <= 4.8.2.
+ (std::getchar)();
results_reporter::get_stream() << "Continuing..." << std::endl;
}
--
2.7.4

View File

@@ -1,32 +0,0 @@
From fbd1393858719c7bda7d251f742950c1bc691ea8 Mon Sep 17 00:00:00 2001
From: Kohei Takahashi <flast@flast.jp>
Date: Wed, 6 Jan 2016 19:39:55 +0900
Subject: [PATCH] Qualify std:: for isnan in some situation.
Because isnan is implemented as a macro and libstdc++ undef it within
<cmath> (at least FreeBSD 10).
Backported from fbd1393858719c7bda7d251f742950c1bc691ea8
[Jörg Krause: adjust pathes to match sourceforge release tarball]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
boost/math/special_functions/fpclassify.hpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/boost/math/special_functions/fpclassify.hpp b/boost/math/special_functions/fpclassify.hpp
index 58fad13..d83e111 100644
--- a/boost/math/special_functions/fpclassify.hpp
+++ b/boost/math/special_functions/fpclassify.hpp
@@ -133,6 +133,10 @@ inline bool is_nan_helper(T, const boost::false_type&)
#if defined(BOOST_MATH_HAS_QUADMATH_H)
inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnanq(f); }
inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnanq(f); }
+#elif defined(BOOST_GNU_STDLIB) && BOOST_GNU_STDLIB && \
+ _GLIBCXX_USE_C99_MATH && !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
+inline bool is_nan_helper(__float128 f, const boost::true_type&) { return std::isnan(static_cast<double>(f)); }
+inline bool is_nan_helper(__float128 f, const boost::false_type&) { return std::isnan(static_cast<double>(f)); }
#else
inline bool is_nan_helper(__float128 f, const boost::true_type&) { return ::isnan(static_cast<double>(f)); }
inline bool is_nan_helper(__float128 f, const boost::false_type&) { return ::isnan(static_cast<double>(f)); }

View File

@@ -1,26 +0,0 @@
Disable fenv.h support for uClibc-based toolchains.
The boost build system does not recognize the fact that fenv.h is an
optional module in uClibc and tries to use it even if UCLIBC_HAS_FENV
is disabled. This patch disables fenv support completely when compiling
with a uClibc-based toolchain. Bug was reported upstream:
https://svn.boost.org/trac/boost/ticket/11756
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
--- boost_1_60_0.org/boost/config/platform/linux.hpp 2015-12-08 19:55:19.000000000 +0100
+++ boost_1_60_0/boost/config/platform/linux.hpp 2016-02-06 12:35:25.692754553 +0100
@@ -47,6 +47,13 @@
#endif
//
+// uClibc has no support for fenv.h
+//
+#if defined(__UCLIBC__)
+# define BOOST_NO_FENV_H
+#endif
+
+//
// If glibc is past version 2 then we definitely have
// gettimeofday, earlier versions may or may not have it:
//

View File

@@ -1,14 +1,9 @@
comment "boost needs a toolchain w/ C++, threads, wchar"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
config BR2_PACKAGE_BOOST_ARCH_SUPPORTS
bool
default y if !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII
config BR2_PACKAGE_BOOST
bool "boost"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
# Boost could theorically be built with threading=single, but
# that unfortunately doesn't work. Until someone fixes that,
# let's depend on threads.
@@ -70,8 +65,8 @@ config BR2_PACKAGE_BOOST_CONTAINER
# supported, but it doesn't build.
config BR2_PACKAGE_BOOST_CONTEXT
bool "boost-context"
depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel \
|| BR2_powerpc || BR2_x86_64)
depends on ((BR2_arm || BR2_armeb) && BR2_ARM_CPU_HAS_ARM) || \
BR2_i386 || BR2_mips || BR2_mipsel || BR2_powerpc || BR2_x86_64
config BR2_PACKAGE_BOOST_COROUTINE
bool "boost-coroutine"
@@ -119,6 +114,11 @@ comment "boost-log needs a toolchain w/ NPTL"
config BR2_PACKAGE_BOOST_MATH
bool "boost-math"
config BR2_PACKAGE_BOOST_METAPARSE
depends on BR2_USE_MMU # boost-test
select BR2_PACKAGE_BOOST_TEST
bool "boost-metaparse"
config BR2_PACKAGE_BOOST_MPI
bool "boost-mpi"
@@ -154,7 +154,13 @@ config BR2_PACKAGE_BOOST_THREAD
config BR2_PACKAGE_BOOST_TIMER
bool "boost-timer"
config BR2_PACKAGE_BOOST_TYPE_ERASURE
bool "boost-type_erasure"
config BR2_PACKAGE_BOOST_WAVE
bool "boost-wave"
# limitation of assembler for coldfire
# error: Tried to convert PC relative branch to absolute jump
depends on !BR2_m68k_cf
endif

View File

@@ -1,3 +1,3 @@
# From http://sourceforge.net/projects/boost/files/boost/1.60.0/
md5 65a840e1a0b13a558ff19eeb2c4f0cbe boost_1_60_0.tar.bz2
sha1 7f56ab507d3258610391b47fef6b11635861175a boost_1_60_0.tar.bz2
# From http://sourceforge.net/projects/boost/files/boost/1.61.0/
md5 6095876341956f65f9d35939ccea1a9f boost_1_61_0.tar.bz2
sha1 f84b1a1ce764108ec3c2b7bd7704cf8dfd3c9d01 boost_1_61_0.tar.bz2

View File

@@ -4,21 +4,20 @@
#
################################################################################
BOOST_VERSION = 1.60.0
BOOST_VERSION = 1.61.0
BOOST_SOURCE = boost_$(subst .,_,$(BOOST_VERSION)).tar.bz2
BOOST_SITE = http://downloads.sourceforge.net/project/boost/boost/$(BOOST_VERSION)
BOOST_INSTALL_STAGING = YES
BOOST_LICENSE = Boost Software License 1.0
BOOST_LICENSE_FILES = LICENSE_1_0.txt
HOST_BOOST_DEPENDENCIES =
# keep host variant as minimal as possible
HOST_BOOST_FLAGS = --without-icu \
--without-libraries=$(subst $(space),$(comma),atomic chrono context \
coroutine coroutine2 date_time exception filesystem graph \
graph_parallel iostreams locale log math mpi program_options python \
random regex serialization signals system test thread timer wave)
random regex serialization signals system test thread timer type_erasure \
wave)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_ATOMIC),,atomic)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_CHRONO),,chrono)
@@ -35,6 +34,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_IOSTREAMS),,iostreams)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOCALE),,locale)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_LOG),,log)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MATH),,math)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_METAPARSE),,metaparse)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_MPI),,mpi)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PROGRAM_OPTIONS),,program_options)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_PYTHON),,python)
@@ -46,6 +46,7 @@ BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_SYSTEM),,system)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TEST),,test)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_THREAD),,thread)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TIMER),,timer)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_TYPE_ERASURE),,type_erasure)
BOOST_WITHOUT_FLAGS += $(if $(BR2_PACKAGE_BOOST_WAVE),,wave)
BOOST_TARGET_CXXFLAGS = $(TARGET_CXXFLAGS)