mirror of
https://github.com/coolsnowwolf/packages.git
synced 2025-04-30 14:50:21 +08:00
boost: bump to v1.7.5
This commit is contained in:
parent
b1eec3e73b
commit
41544f0156
@ -11,13 +11,13 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=boost
|
PKG_NAME:=boost
|
||||||
PKG_VERSION:=1.73.0
|
PKG_VERSION:=1.75.0
|
||||||
PKG_SOURCE_VERSION:=1_73_0
|
PKG_SOURCE_VERSION:=1_75_0
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=3
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
|
PKG_SOURCE:=$(PKG_NAME)_$(PKG_SOURCE_VERSION).tar.bz2
|
||||||
PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
|
PKG_SOURCE_URL:=@SF/$(PKG_NAME)/$(PKG_NAME)/$(PKG_VERSION) https://dl.bintray.com/boostorg/release/$(PKG_VERSION)/source/
|
||||||
PKG_HASH:=4eb3b8d442b426dc35346235c8733b5ae35ba431690e38c6a8263dce9fcbb402
|
PKG_HASH:=953db31e016db7bb207f11432bef7df100516eeb746843fa0486a222e3fd49cb
|
||||||
|
|
||||||
PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
|
PKG_MAINTAINER:=Carlos M. Ferreira <carlosmf.pt@gmail.com>
|
||||||
PKG_LICENSE:=BSL-1.0
|
PKG_LICENSE:=BSL-1.0
|
||||||
@ -32,7 +32,6 @@ PKG_BUILD_PARALLEL:=1
|
|||||||
PKG_USE_MIPS16:=0
|
PKG_USE_MIPS16:=0
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
include $(INCLUDE_DIR)/nls.mk
|
|
||||||
|
|
||||||
define Package/boost/Default
|
define Package/boost/Default
|
||||||
SECTION:=libs
|
SECTION:=libs
|
||||||
@ -43,7 +42,7 @@ define Package/boost/Default
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/boost/description
|
define Package/boost/description
|
||||||
This package provides the Boost v1.73.0 libraries.
|
This package provides the Boost v1.75.0 libraries.
|
||||||
Boost is a set of free, peer-reviewed, portable C++ source libraries.
|
Boost is a set of free, peer-reviewed, portable C++ source libraries.
|
||||||
|
|
||||||
This package provides the following run-time libraries:
|
This package provides the following run-time libraries:
|
||||||
@ -60,9 +59,11 @@ This package provides the following run-time libraries:
|
|||||||
- graph
|
- graph
|
||||||
- - graph-parallel
|
- - graph-parallel
|
||||||
- iostreams
|
- iostreams
|
||||||
- locale (Requires kernel being compiled with full language support)
|
- json
|
||||||
|
- locale
|
||||||
- log
|
- log
|
||||||
- math
|
- math
|
||||||
|
- nowide
|
||||||
- program_options
|
- program_options
|
||||||
- python3
|
- python3
|
||||||
- random
|
- random
|
||||||
@ -76,10 +77,10 @@ This package provides the following run-time libraries:
|
|||||||
- wave
|
- wave
|
||||||
|
|
||||||
There are many more header-only libraries supported by Boost.
|
There are many more header-only libraries supported by Boost.
|
||||||
See more at http://www.boost.org/doc/libs/1_72_0/
|
See more at http://www.boost.org/doc/libs/1_75_0/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=boost/host PACKAGE_python3:python3
|
PKG_BUILD_DEPENDS:=boost/host
|
||||||
|
|
||||||
include ../../lang/python/python3-version.mk
|
include ../../lang/python/python3-version.mk
|
||||||
BOOST_PYTHON3_VER=$(PYTHON3_VERSION)
|
BOOST_PYTHON3_VER=$(PYTHON3_VERSION)
|
||||||
@ -116,7 +117,7 @@ define Package/boost/config
|
|||||||
# Invisible config dependency
|
# Invisible config dependency
|
||||||
config boost-context-exclude
|
config boost-context-exclude
|
||||||
bool
|
bool
|
||||||
default y if (TARGET_arc770 || TARGET_archs38 || TARGET_octeon || TARGET_octeontx)
|
default y if (TARGET_arc770 || TARGET_archs38)
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config boost-coroutine-exclude
|
config boost-coroutine-exclude
|
||||||
@ -277,12 +278,10 @@ define Package/boost/config
|
|||||||
select PACKAGE_boost-graph
|
select PACKAGE_boost-graph
|
||||||
default m if ALL
|
default m if ALL
|
||||||
|
|
||||||
$(foreach lib,$(BOOST_LIBS), \
|
$(foreach lib,$(BOOST_LIBS),
|
||||||
config PACKAGE_boost-$(lib)
|
config PACKAGE_boost-$(lib)
|
||||||
prompt "Boost $(lib) $(if $(findstring python3,$(lib)),$(paren_left)v$(BOOST_PYTHON3_VER)$(paren_right) ,)library."
|
prompt "Boost $(lib) $(if $(findstring python3,$(lib)),$(paren_left)v$(BOOST_PYTHON3_VER)$(paren_right) ,)library."
|
||||||
default m if ALL
|
default m if ALL
|
||||||
$(if $(findstring locale,$(lib)),depends on BUILD_NLS,)\
|
|
||||||
$(if $(findstring python3,$(lib)),depends on PACKAGE_python3,)\
|
|
||||||
$(if $(findstring fiber,$(lib)),depends on !boost-fiber-exclude,)\
|
$(if $(findstring fiber,$(lib)),depends on !boost-fiber-exclude,)\
|
||||||
$(if $(findstring context,$(lib)),depends on !boost-context-exclude,)
|
$(if $(findstring context,$(lib)),depends on !boost-context-exclude,)
|
||||||
$(if $(findstring coroutine,$(lib)),depends on !boost-coroutine-exclude,)
|
$(if $(findstring coroutine,$(lib)),depends on !boost-coroutine-exclude,)
|
||||||
@ -302,12 +301,17 @@ endef
|
|||||||
define Build/Configure
|
define Build/Configure
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/boost/Default/install
|
||||||
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
|
$(CP) $(PKG_INSTALL_DIR)/lib/libboost_$(2)*.so* $(1)/usr/lib/
|
||||||
|
endef
|
||||||
|
|
||||||
# 1: short name
|
# 1: short name
|
||||||
# 2: dependencies on other boost libraries (short name)
|
# 2: dependencies on other boost libraries (short name)
|
||||||
# 3: dependencies on other packages
|
# 3: dependencies on other packages
|
||||||
# 4: conditional/inward dependencies
|
# 4: conditional/inward dependencies
|
||||||
|
# 5: dependencies compiled only when this package has been selected
|
||||||
define DefineBoostLibrary
|
define DefineBoostLibrary
|
||||||
|
|
||||||
BOOST_DEPENDS+= +$(if $(4),$(4):boost-$(1),boost-$(1))
|
BOOST_DEPENDS+= +$(if $(4),$(4):boost-$(1),boost-$(1))
|
||||||
PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_boost-$(1)
|
PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_boost-$(1)
|
||||||
|
|
||||||
@ -316,13 +320,17 @@ define DefineBoostLibrary
|
|||||||
define Package/boost-$(1)
|
define Package/boost-$(1)
|
||||||
$(call Package/boost/Default)
|
$(call Package/boost/Default)
|
||||||
TITLE+= ($(1))
|
TITLE+= ($(1))
|
||||||
DEPENDS+= $$(foreach lib,$(2),+boost-$$(lib)) $(3) $(if $(4),@$(4),)
|
DEPENDS+= $(foreach lib,$(2),+boost-$(lib)) $(3) $(if $(4),@$(4),) $(patsubst %,+PACKAGE_boost-$(1):%,$(5))
|
||||||
HIDDEN:=1
|
HIDDEN:=1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/boost-$(1)/description
|
define Package/boost-$(1)/description
|
||||||
This package contains the Boost $(1) library.
|
This package contains the Boost $(1) library.
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/boost-$(1)/install
|
||||||
|
$(if $(CONFIG_boost-static-libs),true,$(call Package/boost/Default/install,$$(1),$(1)))
|
||||||
|
endef
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call DefineBoostLibrary,atomic,system))
|
$(eval $(call DefineBoostLibrary,atomic,system))
|
||||||
@ -336,15 +344,17 @@ $(eval $(call DefineBoostLibrary,date_time))
|
|||||||
$(eval $(call DefineBoostLibrary,fiber,coroutine filesystem,,!boost-fiber-exclude))
|
$(eval $(call DefineBoostLibrary,fiber,coroutine filesystem,,!boost-fiber-exclude))
|
||||||
$(eval $(call DefineBoostLibrary,filesystem,system))
|
$(eval $(call DefineBoostLibrary,filesystem,system))
|
||||||
$(eval $(call DefineBoostLibrary,graph,regex))
|
$(eval $(call DefineBoostLibrary,graph,regex))
|
||||||
$(eval $(call DefineBoostLibrary,iostreams,,+zlib +liblzma +libbz2 +zstd))
|
$(eval $(call DefineBoostLibrary,iostreams,,,,zlib liblzma libbz2 libzstd))
|
||||||
$(eval $(call DefineBoostLibrary,locale,system,$(ICONV_DEPENDS),BUILD_NLS))
|
$(eval $(call DefineBoostLibrary,json,container))
|
||||||
|
$(eval $(call DefineBoostLibrary,locale,system chrono thread,,,icu))
|
||||||
$(eval $(call DefineBoostLibrary,log,system chrono date_time thread filesystem regex))
|
$(eval $(call DefineBoostLibrary,log,system chrono date_time thread filesystem regex))
|
||||||
$(eval $(call DefineBoostLibrary,math))
|
$(eval $(call DefineBoostLibrary,math))
|
||||||
#$(eval $(call DefineBoostLibrary,mpi,,)) # OpenMPI does no exist in OpenWRT at this time.
|
#$(eval $(call DefineBoostLibrary,mpi,,)) # OpenMPI does no exist in OpenWRT at this time.
|
||||||
|
$(eval $(call DefineBoostLibrary,nowide))
|
||||||
$(eval $(call DefineBoostLibrary,program_options))
|
$(eval $(call DefineBoostLibrary,program_options))
|
||||||
$(eval $(call DefineBoostLibrary,python3,,,PACKAGE_python3))
|
$(eval $(call DefineBoostLibrary,python3,,,,python3-base))
|
||||||
$(eval $(call DefineBoostLibrary,random,system))
|
$(eval $(call DefineBoostLibrary,random,system))
|
||||||
$(eval $(call DefineBoostLibrary,regex))
|
$(eval $(call DefineBoostLibrary,regex,,,,icu))
|
||||||
$(eval $(call DefineBoostLibrary,serialization))
|
$(eval $(call DefineBoostLibrary,serialization))
|
||||||
$(eval $(call DefineBoostLibrary,wserialization,serialization))
|
$(eval $(call DefineBoostLibrary,wserialization,serialization))
|
||||||
$(eval $(call DefineBoostLibrary,stacktrace))
|
$(eval $(call DefineBoostLibrary,stacktrace))
|
||||||
@ -367,17 +377,17 @@ define Host/Compile
|
|||||||
endef
|
endef
|
||||||
|
|
||||||
CONFIGURE_PREFIX:=$(PKG_INSTALL_DIR)
|
CONFIGURE_PREFIX:=$(PKG_INSTALL_DIR)
|
||||||
TARGET_LDFLAGS += -pthread -lrt
|
TARGET_LDFLAGS += -pthread -lrt -lstdc++ -Wl,--gc-sections,--as-needed,--print-gc-sections
|
||||||
|
|
||||||
TARGET_CFLAGS += \
|
TARGET_CFLAGS += \
|
||||||
$(if $(CONFIG_SOFT_FLOAT),-DBOOST_NO_FENV_H) -fPIC
|
$(if $(CONFIG_SOFT_FLOAT),-DBOOST_NO_FENV_H) -fPIC -ffunction-sections -fdata-sections -flto
|
||||||
|
|
||||||
EXTRA_CXXFLAGS += $(if $(CONFIG_GCC_USE_VERSION_5),-std=gnu++14,-std=gnu++17)
|
EXTRA_CXXFLAGS += $(if $(CONFIG_GCC_USE_VERSION_10),-std=gnu++20,$(if $(CONFIG_GCC_USE_VERSION_5),-std=gnu++14,-std=gnu++17))
|
||||||
|
|
||||||
ifneq ($(findstring mips,$(ARCH)),)
|
ifneq ($(findstring mips,$(ARCH)),)
|
||||||
BOOST_ABI = o32
|
BOOST_ABI = o32
|
||||||
ifneq ($(findstring 64,$(ARCH)),)
|
ifneq ($(findstring 64,$(ARCH)),)
|
||||||
BOOST_ABI = o64
|
BOOST_ABI = n64
|
||||||
endif
|
endif
|
||||||
else ifneq ($(findstring arm,$(ARCH)),)
|
else ifneq ($(findstring arm,$(ARCH)),)
|
||||||
BOOST_ABI = aapcs
|
BOOST_ABI = aapcs
|
||||||
@ -426,8 +436,7 @@ define Build/Compile
|
|||||||
) \
|
) \
|
||||||
) \
|
) \
|
||||||
) \
|
) \
|
||||||
$(if $(CONFIG_PACKAGE_boost-locale),boost.locale.iconv=on -sICONV_PATH=$(ICONV_PREFIX) boost.locale.posix=$(if $(USE_MUSL),on,off), \
|
$(if $(CONFIG_PACKAGE_boost-locale),boost.locale.std=off boost.locale.posix=off) \
|
||||||
boost.locale.iconv=off) \
|
|
||||||
\
|
\
|
||||||
$(if $(CONFIG_PACKAGE_boost-iostreams),-sNO_BZIP2=1 -sZLIB_INCLUDE=$(STAGING_DIR)/usr/include \
|
$(if $(CONFIG_PACKAGE_boost-iostreams),-sNO_BZIP2=1 -sZLIB_INCLUDE=$(STAGING_DIR)/usr/include \
|
||||||
-sZLIB_LIBPATH=$(STAGING_DIR)/usr/lib) \
|
-sZLIB_LIBPATH=$(STAGING_DIR)/usr/lib) \
|
||||||
@ -480,28 +489,16 @@ define Host/Install
|
|||||||
$(CP) $(HOST_BUILD_DIR)/tools/build/src/engine/b2 $(STAGING_DIR_HOSTPKG)/bin/
|
$(CP) $(HOST_BUILD_DIR)/tools/build/src/engine/b2 $(STAGING_DIR_HOSTPKG)/bin/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/boost/Default/install
|
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
|
||||||
$(CP) $(PKG_INSTALL_DIR)/lib/libboost_$(2)*.so* $(1)/usr/lib/
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/boost-test/install
|
define Package/boost-test/install
|
||||||
|
$(if $(CONFIG_boost-static-libs),true,
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/lib/libboost_unit_test_framework*.so* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/lib/libboost_{unit_test_framework,prg_exec_monitor}*.so* $(1)/usr/lib/
|
||||||
$(CP) $(PKG_INSTALL_DIR)/lib/libboost_prg_exec_monitor*.so* $(1)/usr/lib/
|
)
|
||||||
endef
|
|
||||||
|
|
||||||
define BuildBoostLibrary
|
|
||||||
define Package/boost-$(1)/install
|
|
||||||
$(call Package/boost/Default/install,$$(1),$(1))
|
|
||||||
endef
|
|
||||||
|
|
||||||
$$(eval $$(call BuildPackage,boost-$(1)))
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
$(eval $(call HostBuild))
|
$(eval $(call HostBuild))
|
||||||
|
|
||||||
$(foreach lib,$(BOOST_LIBS),$(eval $(call BuildBoostLibrary,$(lib))))
|
$(foreach lib,$(BOOST_LIBS),$(eval $(call BuildPackage,boost-$(lib))))
|
||||||
$(eval $(call BuildPackage,boost-test))
|
$(eval $(call BuildPackage,boost-test))
|
||||||
$(eval $(call BuildPackage,boost-libs))
|
$(eval $(call BuildPackage,boost-libs))
|
||||||
$(eval $(call BuildPackage,boost))
|
$(eval $(call BuildPackage,boost))
|
||||||
|
@ -1,68 +0,0 @@
|
|||||||
From 95d82acc57bb7d8bae431f7a6ce0707aac3ef33f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Rosen Penev <rosenp@gmail.com>
|
|
||||||
Date: Thu, 5 Sep 2019 19:41:13 -0700
|
|
||||||
Subject: [PATCH] Use eventfd() function with uClibc
|
|
||||||
|
|
||||||
The Boost eventfd code either directly makes the eventfd system call
|
|
||||||
using __NR_eventfd (when __GLIBC_MINOR is less than 8), or otherwise
|
|
||||||
uses the eventfd() function provided by the C library.
|
|
||||||
|
|
||||||
However, since uClibc pretends to be glibc 2.2, the Boost eventfd code
|
|
||||||
directly uses the system call. While it works fine on most
|
|
||||||
architectures, it doesn't on ARC since __NR_eventfd is not defined on
|
|
||||||
this architecture. However, eventfd() is properly implemented.
|
|
||||||
|
|
||||||
So, this patch adjusts the logic used by Boost to consider uClibc as a
|
|
||||||
C library providing the eventfd() function.
|
|
||||||
|
|
||||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
|
||||||
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|
||||||
---
|
|
||||||
a/boost/asio/detail/impl/eventfd_select_interrupter.ipp | 12 ++++++------
|
|
||||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
|
|
||||||
index 38d4b2a61..e16cc8b00 100644
|
|
||||||
--- a/boost/asio/detail/impl/eventfd_select_interrupter.ipp
|
|
||||||
+++ b/boost/asio/detail/impl/eventfd_select_interrupter.ipp
|
|
||||||
@@ -23,11 +23,11 @@
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
|
||||||
+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
|
|
||||||
# include <asm/unistd.h>
|
|
||||||
-#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
|
||||||
+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
|
|
||||||
# include <sys/eventfd.h>
|
|
||||||
-#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
|
||||||
+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
|
|
||||||
#include <boost/asio/detail/cstdint.hpp>
|
|
||||||
#include <boost/asio/detail/eventfd_select_interrupter.hpp>
|
|
||||||
#include <boost/asio/detail/throw_error.hpp>
|
|
||||||
@@ -46,14 +46,14 @@ eventfd_select_interrupter::eventfd_select_interrupter()
|
|
||||||
|
|
||||||
void eventfd_select_interrupter::open_descriptors()
|
|
||||||
{
|
|
||||||
-#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
|
||||||
+#if __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
|
|
||||||
write_descriptor_ = read_descriptor_ = syscall(__NR_eventfd, 0);
|
|
||||||
if (read_descriptor_ != -1)
|
|
||||||
{
|
|
||||||
::fcntl(read_descriptor_, F_SETFL, O_NONBLOCK);
|
|
||||||
::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
|
|
||||||
}
|
|
||||||
-#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
|
||||||
+#else // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
|
|
||||||
# if defined(EFD_CLOEXEC) && defined(EFD_NONBLOCK)
|
|
||||||
write_descriptor_ = read_descriptor_ =
|
|
||||||
::eventfd(0, EFD_CLOEXEC | EFD_NONBLOCK);
|
|
||||||
@@ -70,7 +70,7 @@ void eventfd_select_interrupter::open_descriptors()
|
|
||||||
::fcntl(read_descriptor_, F_SETFD, FD_CLOEXEC);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 8
|
|
||||||
+#endif // __GLIBC__ == 2 && __GLIBC_MINOR__ < 2
|
|
||||||
|
|
||||||
if (read_descriptor_ == -1)
|
|
||||||
{
|
|
@ -1,11 +0,0 @@
|
|||||||
--- a/boost/outcome/experimental/status-code/status_code_ptr.hpp 2020-04-28 09:23:14.792565200 +0100
|
|
||||||
+++ b/boost/outcome/experimental/status-code/status_code_ptr.hpp 2020-04-28 09:24:34.311741000 +0100
|
|
||||||
@@ -103,7 +103,7 @@
|
|
||||||
#endif
|
|
||||||
virtual void _do_erased_copy(status_code<void> &dst, const status_code<void> &src, size_t /*unused*/) const override // NOLINT
|
|
||||||
{
|
|
||||||
- assert(dst.domain() == *this);
|
|
||||||
+ // Note that dst will not have its domain set
|
|
||||||
assert(src.domain() == *this);
|
|
||||||
auto &d = static_cast<_mycode &>(dst); // NOLINT
|
|
||||||
const auto &_s = static_cast<const _mycode &>(src); // NOLINT
|
|
File diff suppressed because it is too large
Load Diff
70
libs/boost/patches/010-mips64.patch
Normal file
70
libs/boost/patches/010-mips64.patch
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
--- a/libs/context/src/asm/jump_mips64_n64_elf_gas.S
|
||||||
|
+++ b/libs/context/src/asm/jump_mips64_n64_elf_gas.S
|
||||||
|
@@ -67,7 +67,7 @@ jump_fcontext:
|
||||||
|
sd $ra, 144($sp) # save RA
|
||||||
|
sd $ra, 152($sp) # save RA as PC
|
||||||
|
|
||||||
|
-
|
||||||
|
+#if defined(__mips_hard_float)
|
||||||
|
s.d $f24, 0($sp) # save F24
|
||||||
|
s.d $f25, 8($sp) # save F25
|
||||||
|
s.d $f26, 16($sp) # save F26
|
||||||
|
@@ -76,6 +76,7 @@ jump_fcontext:
|
||||||
|
s.d $f29, 40($sp) # save F29
|
||||||
|
s.d $f30, 48($sp) # save F30
|
||||||
|
s.d $f31, 56($sp) # save F31
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
# store SP (pointing to old context-data) in v0 as return
|
||||||
|
move $v0, $sp
|
||||||
|
@@ -83,6 +84,7 @@ jump_fcontext:
|
||||||
|
# get SP (pointing to new context-data) from a0 param
|
||||||
|
move $sp, $a0
|
||||||
|
|
||||||
|
+#if defined(__mips_hard_float)
|
||||||
|
l.d $f24, 0($sp) # restore F24
|
||||||
|
l.d $f25, 8($sp) # restore F25
|
||||||
|
l.d $f26, 16($sp) # restore F26
|
||||||
|
@@ -91,6 +93,7 @@ jump_fcontext:
|
||||||
|
l.d $f29, 40($sp) # restore F29
|
||||||
|
l.d $f30, 48($sp) # restore F30
|
||||||
|
l.d $f31, 56($sp) # restore F31
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
ld $s0, 64($sp) # restore S0
|
||||||
|
ld $s1, 72($sp) # restore S1
|
||||||
|
--- a/libs/context/src/asm/ontop_mips64_n64_elf_gas.S
|
||||||
|
+++ b/libs/context/src/asm/ontop_mips64_n64_elf_gas.S
|
||||||
|
@@ -67,7 +67,7 @@ ontop_fcontext:
|
||||||
|
sd $ra, 144($sp) # save RA
|
||||||
|
sd $ra, 152($sp) # save RA as PC
|
||||||
|
|
||||||
|
-
|
||||||
|
+#if defined(__mips_hard_float)
|
||||||
|
s.d $f24, 0($sp) # save F24
|
||||||
|
s.d $f25, 8($sp) # save F25
|
||||||
|
s.d $f26, 16($sp) # save F26
|
||||||
|
@@ -76,6 +76,7 @@ ontop_fcontext:
|
||||||
|
s.d $f29, 40($sp) # save F29
|
||||||
|
s.d $f30, 48($sp) # save F30
|
||||||
|
s.d $f31, 56($sp) # save F31
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
# store SP (pointing to context-data) in t0
|
||||||
|
move $t0, $sp
|
||||||
|
@@ -83,6 +84,7 @@ ontop_fcontext:
|
||||||
|
# restore SP (pointing to context-data) from a0
|
||||||
|
move $sp, $a0
|
||||||
|
|
||||||
|
+#if defined(__mips_hard_float)
|
||||||
|
l.d $f24, 0($sp) # restore F24
|
||||||
|
l.d $f25, 8($sp) # restore F25
|
||||||
|
l.d $f26, 16($sp) # restore F26
|
||||||
|
@@ -91,6 +93,7 @@ ontop_fcontext:
|
||||||
|
l.d $f29, 40($sp) # restore F29
|
||||||
|
l.d $f30, 48($sp) # restore F30
|
||||||
|
l.d $f31, 56($sp) # restore F31
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
ld $s0, 64($sp) # restore S0
|
||||||
|
ld $s1, 72($sp) # restore S1
|
11
libs/boost/patches/020-mips64-fiber.patch
Normal file
11
libs/boost/patches/020-mips64-fiber.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- a/boost/fiber/detail/cpu_relax.hpp
|
||||||
|
+++ b/boost/fiber/detail/cpu_relax.hpp
|
||||||
|
@@ -47,7 +47,7 @@ namespace detail {
|
||||||
|
# else
|
||||||
|
# define cpu_relax() asm volatile ("nop" ::: "memory");
|
||||||
|
# endif
|
||||||
|
-#elif BOOST_ARCH_MIPS && (__mips_isa_rev > 1)
|
||||||
|
+#elif BOOST_ARCH_MIPS && (((__mips_isa_rev > 1) && defined(__mips32)) || ((__mips_isa_rev > 2) && defined(__mips64)))
|
||||||
|
# define cpu_relax() asm volatile ("pause" ::: "memory");
|
||||||
|
#elif BOOST_ARCH_PPC
|
||||||
|
// http://code.metager.de/source/xref/gnu/glibc/sysdeps/powerpc/sys/platform/ppc.h
|
Loading…
Reference in New Issue
Block a user