It turns out that this is also broken on mips64el. Further testing
reveals that
-mips32r2 -mtune=mips32r2 -mabi=32
compiles the PAUSE instruction just fine whereas
-mips64r2 -mtune=mips64r2 -mabi=64
does not. The PAUSE instruction was introduced in version 2.6 of the
MIPS ISA and GCC for some reason does not allow usage of it with MIPS64.
Modify the macro to fix the situation instead of just matching on
octeon, which is not quite correct.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
It turns out there's upstream support for it. A small patch is needed
to fix softfloat support.
Also added patch to fix boost-fiber on octeon+. Failure happens because
the platform is based on an old MIPSr2 standard that lacks the pause
instruction.
It also turns out that MIPS64 builds are done with the wrong ABI.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit updates boost to version 1.75
This release brings three new packages
* JSON parsing, serialization, and DOM in C++11, from Vinnie Falco and
Krystian Stasiowski. [1]
* LEAF: A lightweight error-handling library for C++11, from Emil
Dotchevski. [2]
* PFR: Basic reflection without macro or boilerplate code for user
defined types, from Antony Polukhin. [3]
More info about Boost 1.75.0 can be found at the usual place [4].
[1]: https://www.boost.org/libs/json/
[2]: https://www.boost.org/libs/leaf/
[3]: https://www.boost.org/libs/pfr/
[4]: https://www.boost.org/users/history/version_1_75_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit updates Boost to version 1.73.0
In this release, there are two new libraries
- Nowide [2] - Standard library functions with UTF-8 API on Windows,
from Artyom Beilis.
- Static String [3] - A dynamically resizable string of characters
with compile-time fixed capacity and contiguous embedded storage,
from Vinnie Falco and Krystian Stasiowski.
More info about Boost 1.73.0 can be found at the usual place [1].
[1]: https://www.boost.org/users/history/version_1_73_0.html
[2]: https://www.boost.org/libs/nowide/
[3]: https://www.boost.org/libs/static_string/
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit updates Boost to version 1.72.0
There are no new libraries in this release.
Note:
- This commit also adds a post-release patch to fix an issue
with Boost.Coroutine
More info about Boost 1.72.0 can be found at the usual place [1].
[1]: https://www.boost.org/users/history/version_1_72_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
The issue was that the pause instruction was emitted through an asm
directive which was not correct for some mips platforms.
Simplified boost-fiber-exclude as a result.
Removed uClibc-ng math patch. It was not correct as it broke float and
long double support (std variants use function overloads). A different
solution was applied upstream. As it's quite annoying to backport, just
wait until a new release comes with that change. ARC as a platform is
barely supported anyways.
Swapped asio patch for the upstream submission, which is unfortunately, in
limbo.
Refreshed remaining patch.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit updates Boost to version 1.71.0 and disables Boost.Context
for arc and mips64 architectures, since either jump_fcontext or
getcontext are undefined for those architectures.
It also fixes a bug were Boost.Fiber was not properly disabled for
mips32 and mips64 architectures.
Boost.Coroutine2 option was removed since it was redundant. By selecting
the Coroutine package, Coroutine2 is also installed.
Boost.Fiber has been disabled for target brcm47xx_generic and brcm47xx_legacy
due to misssing opcode support from instruction set.
Boost 1.71.0 brings a new header-only library
- Boost.Variant2 [1]
-> A never-valueless, strong guarantee implementation of
std::variant, from Peter Dimov.
More info about Boost 1.71.0 can be found at the usual place [2].
[1]: https://www.boost.org/doc/libs/1_71_0/libs/variant2/doc/html/variant2.html
[2]: https://www.boost.org/users/history/version_1_71_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
Boost 1.70.0 broke the apply_visitor functions for lvalue reference
variants.
This imports the patch that fixes this issue from upstream.
Tested this by compiling a library
(https://github.com/facebookincubator/fizz) that works with 1.69 but
breaks with 1.70. And then, importing this patch and trying the
compilation again.
Compile tested: nbg6817
Maintainer: @ClaymorePT
Signed-off-by: Amol Bhave <ambhave@fb.com>
This commit updates the boost libraries to version 1.65.1
This new version is a bug-fix update for Boost 1.65.0, so no new libraries.
As always, more information about this release can be found in [1].
[1]: http://www.boost.org/users/history/version_1_65_1.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit updates the boost libraries to version 1.65.0
This new version brings two new libraries:
- Boost.Stacktrace [1]
-> Gather, store, copy and print backtraces, from Antony Polukhin.
- Boost.PolyCollection [2]
-> Fast containers of polymorphic objects, from Joaquín M López Muñoz.
Fixes in this commit:
- Boost.Python for Python 3.6
-> The dynamic library was not being compiled, resulting in an empty package. Fixed.
- Boost.TypeErasure
-> The dynamic library was not available to install. Fixed.
- Boost.Serialization
-> The wserialization dynamic library was being compiled but not available to install. Fixed.
Extras:
- This commit also contains the post-release fixes, which did not make it into the final release [3].
As always, more information about this release, can be found in [4].
[1]: http://www.boost.org/doc/libs/1_65_0/doc/html/stacktrace.html
[2]: http://www.boost.org/doc/libs/1_65_0/doc/html/poly_collection.html
[3]: http://www.boost.org/patches/
[4]: http://www.boost.org/users/history/version_1_65_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
Maintainer: @ClaymorePT
Compile tested: Broadcom BCM2708
Run tested: None
Description:
- New header-only library -> Process
-> Process library by Klemens D. Morgenstern, that provides cross
platorm ways to allows you to:
- create child processes
- setup streams for child processes
- communicate with child processes through streams
(synchronously or asynchronously)
- wait for processes to exit (synchronously or asynchronously)
- terminate processes
Information about the 1.64.0 release (updated libraries, bug fixes,
etc), can be found here [1].
[1]: http://www.boost.org/users/history/version_1_64_0.html
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
This commit fixes an existent regression in boost 1.63 [1].
The regression appears when libc is used for the toolchain.
[1] - https://svn.boost.org/trac/boost/ticket/11756
Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
Maintainer: @ClaymorePT
Compile tested: Broadcom BCM2708
Run tested: None
Description:
This package update contains no new libraries.
Information about the 1.63.0 release (updated libraries, bug fixes, etc), can be found here [1].
[1]: http://www.boost.org/users/history/version_1_63_0.html
Signed-off-by: Carlos Ferreira <carlosmf.pt@gmail.com>
This commit updates Boost to version 1.59, released in the 13th of August of 2015 [1].
- The new version adds two new template libraries, Convert [2] and CoRoutine2 [3].
- [Warning]-> CoRoutine2 library absolutly requires a C++14 compiler.
- patch 001-mips-options-fix.patch was removed, since it is already incorporated upstream.
[1] - http://www.boost.org/users/history/version_1_59_0.html
[2] - http://www.boost.org/libs/convert/
[3] - http://www.boost.org/libs/coroutine2/
Signed-off-by: Carlos Ferreira <carlosmf.pt@gmail.com>
This update follows after the previous update[1]
Due to the Boost Dev patch submited in [2], this commit also updates
the boost patch in order to, instead of excluding all architectures
that do not support -m32 and -m64 options, it now includes only the
architectures that do support it.
[1]: https://github.com/openwrt/packages/pull/1186
[2]: https://github.com/boostorg/build/pull/76
Signed-off-by: Carlos M. Ferreira carlosmf.pt@gmail.com
Unfortunatly, due to changes in Boost, Boost.Build for version 1.58.0
requires a patch for gcc.jam. This patch prevents bjam from adding
-m32 and -m64 options to gcc compiler, when compiling for targets
that use the mips1 arch.
Patch initially provided by paalsteek (https://github.com/paalsteek)
Bug discussed here: https://github.com/openwrt/packages/issues/1160
Signed-off-by: Carlos M. Ferreira carlosmf.pt@gmail.com