Update buidlroot to version 2016.08.1
This commit is contained in:
37
bsp/buildroot/package/boost/0003-fenv.patch
Normal file
37
bsp/buildroot/package/boost/0003-fenv.patch
Normal 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:
|
||||
//
|
||||
@@ -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__) \
|
||||
@@ -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){
|
||||
@@ -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
|
||||
|
||||
@@ -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)); }
|
||||
@@ -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:
|
||||
//
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user