Compare commits
No commits in common. "6ae0473b8934f217aee87acf9d0bfe0c01b59e65" and "2410599445390a6eec5f02647eb5d4bb78bb4cf2" have entirely different histories.
6ae0473b89
...
2410599445
@ -1,664 +0,0 @@
|
|||||||
From 217e51b9101fb4779c8dc00a562f77c0c9a70afe Mon Sep 17 00:00:00 2001
|
|
||||||
From: Wenlong Zhang <zhangwenlong@loongson.cn>
|
|
||||||
Date: Wed, 11 Jan 2023 17:28:18 +0800
|
|
||||||
Subject: [PATCH] add boost context support for loongarch64 new
|
|
||||||
|
|
||||||
---
|
|
||||||
boost/predef/architecture.h | 1 +
|
|
||||||
boost/predef/architecture/loongarch.h | 39 ++++++
|
|
||||||
boost/predef/other/endian.h | 1 +
|
|
||||||
boostcpp.jam | 5 +-
|
|
||||||
libs/config/checks/architecture/Jamfile.jam | 1 +
|
|
||||||
libs/config/checks/architecture/loongarch.cpp | 11 ++
|
|
||||||
libs/context/CMakeLists.txt | 4 +-
|
|
||||||
libs/context/build/Jamfile.v2 | 13 ++
|
|
||||||
libs/context/build/architecture.jam | 4 +
|
|
||||||
libs/context/doc/architectures.qbk | 1 +
|
|
||||||
libs/context/doc/context.xml | 27 ++++
|
|
||||||
.../doc/html/context/architectures.html | 27 ++++
|
|
||||||
.../src/asm/jump_loongarch64_sysv_elf_gas.S | 121 ++++++++++++++++++
|
|
||||||
.../src/asm/make_loongarch64_sysv_elf_gas.S | 72 +++++++++++
|
|
||||||
.../src/asm/ontop_loongarch64_sysv_elf_gas.S | 118 +++++++++++++++++
|
|
||||||
tools/build/src/engine/jam.h | 4 +
|
|
||||||
.../tools/features/architecture-feature.jam | 3 +
|
|
||||||
17 files changed, 448 insertions(+), 4 deletions(-)
|
|
||||||
create mode 100644 boost/predef/architecture/loongarch.h
|
|
||||||
create mode 100644 libs/config/checks/architecture/loongarch.cpp
|
|
||||||
create mode 100644 libs/context/src/asm/jump_loongarch64_sysv_elf_gas.S
|
|
||||||
create mode 100644 libs/context/src/asm/make_loongarch64_sysv_elf_gas.S
|
|
||||||
create mode 100644 libs/context/src/asm/ontop_loongarch64_sysv_elf_gas.S
|
|
||||||
|
|
||||||
diff --git a/boost/predef/architecture.h b/boost/predef/architecture.h
|
|
||||||
index 471c263..55d036f 100644
|
|
||||||
--- a/boost/predef/architecture.h
|
|
||||||
+++ b/boost/predef/architecture.h
|
|
||||||
@@ -17,6 +17,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
#include <boost/predef/architecture/convex.h>
|
|
||||||
#include <boost/predef/architecture/e2k.h>
|
|
||||||
#include <boost/predef/architecture/ia64.h>
|
|
||||||
+#include <boost/predef/architecture/loongarch.h>
|
|
||||||
#include <boost/predef/architecture/m68k.h>
|
|
||||||
#include <boost/predef/architecture/mips.h>
|
|
||||||
#include <boost/predef/architecture/parisc.h>
|
|
||||||
diff --git a/boost/predef/architecture/loongarch.h b/boost/predef/architecture/loongarch.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..17015d8
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/boost/predef/architecture/loongarch.h
|
|
||||||
@@ -0,0 +1,39 @@
|
|
||||||
+/*
|
|
||||||
+Copyright Zhang Na 2022
|
|
||||||
+Distributed under the Boost Software License, Version 1.0.
|
|
||||||
+(See accompanying file LICENSE_1_0.txt or copy at
|
|
||||||
+http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
+*/
|
|
||||||
+
|
|
||||||
+#ifndef BOOST_PREDEF_ARCHITECTURE_LOONGARCH_H
|
|
||||||
+#define BOOST_PREDEF_ARCHITECTURE_LOONGARCH_H
|
|
||||||
+
|
|
||||||
+#include <boost/predef/version_number.h>
|
|
||||||
+#include <boost/predef/make.h>
|
|
||||||
+
|
|
||||||
+/* tag::reference[]
|
|
||||||
+= `BOOST_ARCH_LOONGARCH`
|
|
||||||
+[options="header"]
|
|
||||||
+|===
|
|
||||||
+| {predef_symbol} | {predef_version}
|
|
||||||
+| `+__loongarch__+` | {predef_detection}
|
|
||||||
+|===
|
|
||||||
+*/ // end::reference[]
|
|
||||||
+
|
|
||||||
+#define BOOST_ARCH_LOONGARCH BOOST_VERSION_NUMBER_NOT_AVAILABLE
|
|
||||||
+
|
|
||||||
+#if defined(__loongarch__)
|
|
||||||
+# undef BOOST_ARCH_LOONGARCH
|
|
||||||
+# define BOOST_ARCH_LOONGARCH BOOST_VERSION_NUMBER_AVAILABLE
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if BOOST_ARCH_LOONGARCH
|
|
||||||
+# define BOOST_ARCH_LOONGARCH_AVAILABLE
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#define BOOST_ARCH_LOONGARCH_NAME "LoongArch"
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#include <boost/predef/detail/test.h>
|
|
||||||
+BOOST_PREDEF_DECLARE_TEST(BOOST_ARCH_LOONGARCH,BOOST_ARCH_LOONGARCH_NAME)
|
|
||||||
diff --git a/boost/predef/other/endian.h b/boost/predef/other/endian.h
|
|
||||||
index d8ec63f..b712673 100644
|
|
||||||
--- a/boost/predef/other/endian.h
|
|
||||||
+++ b/boost/predef/other/endian.h
|
|
||||||
@@ -121,6 +121,7 @@ information and acquired knowledge:
|
|
||||||
defined(__ARMEL__) || \
|
|
||||||
defined(__THUMBEL__) || \
|
|
||||||
defined(__AARCH64EL__) || \
|
|
||||||
+ defined(__loongarch__) || \
|
|
||||||
defined(_MIPSEL) || \
|
|
||||||
defined(__MIPSEL) || \
|
|
||||||
defined(__MIPSEL__) || \
|
|
||||||
diff --git a/boostcpp.jam b/boostcpp.jam
|
|
||||||
index f60e85c..c938b72 100644
|
|
||||||
--- a/boostcpp.jam
|
|
||||||
+++ b/boostcpp.jam
|
|
||||||
@@ -634,7 +634,7 @@ rule address-model ( )
|
|
||||||
return <conditional>@boostcpp.deduce-address-model ;
|
|
||||||
}
|
|
||||||
|
|
||||||
-local deducable-architectures = sw_64 arm mips1 power riscv s390x sparc x86 combined ;
|
|
||||||
+local deducable-architectures = sw_64 arm loongarch mips1 power riscv s390x sparc x86 combined ;
|
|
||||||
feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
|
|
||||||
for a in $(deducable-architectures)
|
|
||||||
{
|
|
||||||
@@ -645,10 +645,11 @@ rule deduce-architecture ( properties * )
|
|
||||||
{
|
|
||||||
local result ;
|
|
||||||
local filtered = [ toolset-properties $(properties) ] ;
|
|
||||||
- local names = arm sw_64 mips1 power riscv s390x sparc x86 combined ;
|
|
||||||
+ local names = arm sw_64 loongarch mips1 power riscv s390x sparc x86 combined ;
|
|
||||||
local idx = [ configure.find-builds "default architecture" : $(filtered)
|
|
||||||
: /boost/architecture//arm
|
|
||||||
: /boost/architecture//sw_64
|
|
||||||
+ : /boost/architecture//loongarch
|
|
||||||
: /boost/architecture//mips1
|
|
||||||
: /boost/architecture//power
|
|
||||||
: /boost/architecture//riscv
|
|
||||||
diff --git a/libs/config/checks/architecture/Jamfile.jam b/libs/config/checks/architecture/Jamfile.jam
|
|
||||||
index f86c732..ee260ff 100644
|
|
||||||
--- a/libs/config/checks/architecture/Jamfile.jam
|
|
||||||
+++ b/libs/config/checks/architecture/Jamfile.jam
|
|
||||||
@@ -19,6 +19,7 @@ obj 64 : 64.cpp ;
|
|
||||||
obj arm : arm.cpp ;
|
|
||||||
obj sw_64 : sw_64.cpp ;
|
|
||||||
obj combined : combined.cpp ;
|
|
||||||
+obj loongarch : loongarch.cpp ;
|
|
||||||
obj mips1 : mips1.cpp ;
|
|
||||||
obj power : power.cpp ;
|
|
||||||
obj riscv : riscv.cpp ;
|
|
||||||
diff --git a/libs/config/checks/architecture/loongarch.cpp b/libs/config/checks/architecture/loongarch.cpp
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..5be8cb0
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/libs/config/checks/architecture/loongarch.cpp
|
|
||||||
@@ -0,0 +1,11 @@
|
|
||||||
+// loongarch.cpp
|
|
||||||
+//
|
|
||||||
+// Copyright (c) 2012 Steven Watanabe
|
|
||||||
+//
|
|
||||||
+// Distributed under the Boost Software License Version 1.0. (See
|
|
||||||
+// accompanying file LICENSE_1_0.txt or copy at
|
|
||||||
+// http://www.boost.org/LICENSE_1_0.txt)
|
|
||||||
+
|
|
||||||
+#if !defined(__loongarch__)
|
|
||||||
+#error "Not LoongArch"
|
|
||||||
+#endif
|
|
||||||
diff --git a/libs/context/CMakeLists.txt b/libs/context/CMakeLists.txt
|
|
||||||
index 99c11b2..f301143 100644
|
|
||||||
--- a/libs/context/CMakeLists.txt
|
|
||||||
+++ b/libs/context/CMakeLists.txt
|
|
||||||
@@ -48,7 +48,7 @@ unset(_default_abi)
|
|
||||||
|
|
||||||
## Arch-and-model
|
|
||||||
|
|
||||||
-set(_all_archs arm arm64 sw_64 mips32 mips64 ppc32 ppc64 riscv64 s390x i386 x86_64 combined)
|
|
||||||
+set(_all_archs arm arm64 loongarch64 sw_64 mips32 mips64 ppc32 ppc64 riscv64 s390x i386 x86_64 combined)
|
|
||||||
|
|
||||||
# Try at start to auto determine arch from CMake.
|
|
||||||
if(CMAKE_SYSTEM_PROCESSOR IN_LIST _all_archs)
|
|
||||||
@@ -74,7 +74,7 @@ else()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
-set(BOOST_CONTEXT_ARCHITECTURE "${_default_arch}" CACHE STRING "Boost.Context architecture (arm, arm64, mips32, sw_64, mips64, ppc32, ppc64, riscv64, s390x, i386, x86_64, combined)")
|
|
||||||
+set(BOOST_CONTEXT_ARCHITECTURE "${_default_arch}" CACHE STRING "Boost.Context architecture (arm, arm64, loongarch64, mips32, sw_64, mips64, ppc32, ppc64, riscv64, s390x, i386, x86_64, combined)")
|
|
||||||
set_property(CACHE BOOST_CONTEXT_ARCHITECTURE PROPERTY STRINGS ${_all_archs})
|
|
||||||
|
|
||||||
unset(_all_archs)
|
|
||||||
diff --git a/libs/context/build/Jamfile.v2 b/libs/context/build/Jamfile.v2
|
|
||||||
index 30e9598..6238510 100644
|
|
||||||
--- a/libs/context/build/Jamfile.v2
|
|
||||||
+++ b/libs/context/build/Jamfile.v2
|
|
||||||
@@ -254,6 +254,19 @@ alias asm_sources
|
|
||||||
<toolset>darwin
|
|
||||||
;
|
|
||||||
|
|
||||||
+# LOONGARCH64
|
|
||||||
+# LOONGARCH64/SYSV/ELF
|
|
||||||
+alias asm_sources
|
|
||||||
+ : asm/make_loongarch64_sysv_elf_gas.S
|
|
||||||
+ asm/jump_loongarch64_sysv_elf_gas.S
|
|
||||||
+ asm/ontop_loongarch64_sysv_elf_gas.S
|
|
||||||
+ : <abi>sysv
|
|
||||||
+ <address-model>64
|
|
||||||
+ <architecture>loongarch
|
|
||||||
+ <binary-format>elf
|
|
||||||
+ <toolset>gcc
|
|
||||||
+ ;
|
|
||||||
+
|
|
||||||
# MIPS
|
|
||||||
# MIPS32/O32/ELF
|
|
||||||
alias asm_sources
|
|
||||||
diff --git a/libs/context/build/architecture.jam b/libs/context/build/architecture.jam
|
|
||||||
index 4c7d211..78820cd 100644
|
|
||||||
--- a/libs/context/build/architecture.jam
|
|
||||||
+++ b/libs/context/build/architecture.jam
|
|
||||||
@@ -59,6 +59,10 @@ rule deduce-architecture ( properties * )
|
|
||||||
{
|
|
||||||
return <architecture>sw_64 ;
|
|
||||||
}
|
|
||||||
+ else if [ configure.builds /boost/architecture//loongarch : $(properties) : loongarch ]
|
|
||||||
+ {
|
|
||||||
+ return <architecture>loongarch ;
|
|
||||||
+ }
|
|
||||||
else if [ configure.builds /boost/architecture//mips : $(properties) : mips ]
|
|
||||||
{
|
|
||||||
return <architecture>mips ;
|
|
||||||
diff --git a/libs/context/doc/architectures.qbk b/libs/context/doc/architectures.qbk
|
|
||||||
index 4be823c..76d6d58 100644
|
|
||||||
--- a/libs/context/doc/architectures.qbk
|
|
||||||
+++ b/libs/context/doc/architectures.qbk
|
|
||||||
@@ -15,6 +15,7 @@ architectures:
|
|
||||||
[[arm (aarch32)] [AAPCS|ELF] [AAPCS|PE] [-] [AAPCS|MACH-O]]
|
|
||||||
[[arm (aarch64)] [AAPCS|ELF] [-] [AAPCS|MACH-O] [AAPCS|MACH-O]]
|
|
||||||
[[i386] [SYSV|ELF] [MS|PE] [SYSV|MACH-O] [-]]
|
|
||||||
+ [[loongarch64] [SYSV|ELF] [-] [-] [-]]
|
|
||||||
[[mips] [O32|N64|ELF] [-] [-] [-]]
|
|
||||||
[[ppc32] [SYSV|ELF|XCOFF] [-] [SYSV|MACH-O] [-]]
|
|
||||||
[[ppc64] [SYSV|ELF|XCOFF] [-] [SYSV|MACH-O] [-]]
|
|
||||||
diff --git a/libs/context/doc/context.xml b/libs/context/doc/context.xml
|
|
||||||
index d83439d..ef920cd 100644
|
|
||||||
--- a/libs/context/doc/context.xml
|
|
||||||
+++ b/libs/context/doc/context.xml
|
|
||||||
@@ -3379,6 +3379,33 @@
|
|
||||||
</para>
|
|
||||||
</entry>
|
|
||||||
</row>
|
|
||||||
+ <row>
|
|
||||||
+ <entry>
|
|
||||||
+ <para>
|
|
||||||
+ loongarch64
|
|
||||||
+ </para>
|
|
||||||
+ </entry>
|
|
||||||
+ <entry>
|
|
||||||
+ <para>
|
|
||||||
+ SYSV|ELF
|
|
||||||
+ </para>
|
|
||||||
+ </entry>
|
|
||||||
+ <entry>
|
|
||||||
+ <para>
|
|
||||||
+ -
|
|
||||||
+ </para>
|
|
||||||
+ </entry>
|
|
||||||
+ <entry>
|
|
||||||
+ <para>
|
|
||||||
+ -
|
|
||||||
+ </para>
|
|
||||||
+ </entry>
|
|
||||||
+ <entry>
|
|
||||||
+ <para>
|
|
||||||
+ -
|
|
||||||
+ </para>
|
|
||||||
+ </entry>
|
|
||||||
+ </row>
|
|
||||||
<row>
|
|
||||||
<entry>
|
|
||||||
<para>
|
|
||||||
diff --git a/libs/context/doc/html/context/architectures.html b/libs/context/doc/html/context/architectures.html
|
|
||||||
index 416627d..29bd803 100644
|
|
||||||
--- a/libs/context/doc/html/context/architectures.html
|
|
||||||
+++ b/libs/context/doc/html/context/architectures.html
|
|
||||||
@@ -151,6 +151,33 @@
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
+<td>
|
|
||||||
+ <p>
|
|
||||||
+ loongarch64
|
|
||||||
+ </p>
|
|
||||||
+ </td>
|
|
||||||
+<td>
|
|
||||||
+ <p>
|
|
||||||
+ SYSV|ELF
|
|
||||||
+ </p>
|
|
||||||
+ </td>
|
|
||||||
+<td>
|
|
||||||
+ <p>
|
|
||||||
+ -
|
|
||||||
+ </p>
|
|
||||||
+ </td>
|
|
||||||
+<td>
|
|
||||||
+ <p>
|
|
||||||
+ -
|
|
||||||
+ </p>
|
|
||||||
+ </td>
|
|
||||||
+<td>
|
|
||||||
+ <p>
|
|
||||||
+ -
|
|
||||||
+ </p>
|
|
||||||
+ </td>
|
|
||||||
+</tr>
|
|
||||||
+<tr>
|
|
||||||
<td>
|
|
||||||
<p>
|
|
||||||
mips
|
|
||||||
diff --git a/libs/context/src/asm/jump_loongarch64_sysv_elf_gas.S b/libs/context/src/asm/jump_loongarch64_sysv_elf_gas.S
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..74c081e
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/libs/context/src/asm/jump_loongarch64_sysv_elf_gas.S
|
|
||||||
@@ -0,0 +1,121 @@
|
|
||||||
+/*******************************************************
|
|
||||||
+ * *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 8 | 16 | 24 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS0 | FS1 | FS2 | FS3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 40 | 48 | 56 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS4 | FS5 | FS6 | FS7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 64 | 72 | 80 | 88 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S0 | S1 | S2 | S3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S4 | S5 | S6 | S7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S8 | FP | RA | PC | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * *
|
|
||||||
+ * *****************************************************/
|
|
||||||
+
|
|
||||||
+.file "jump_loongarch64_sysv_elf_gas.S"
|
|
||||||
+.text
|
|
||||||
+.globl jump_fcontext
|
|
||||||
+.align 2
|
|
||||||
+.type jump_fcontext,@function
|
|
||||||
+jump_fcontext:
|
|
||||||
+ # reserve space on stack
|
|
||||||
+ addi.d $sp, $sp, -160
|
|
||||||
+
|
|
||||||
+ # save fs0 - fs7
|
|
||||||
+ fst.d $fs0, $sp, 0
|
|
||||||
+ fst.d $fs1, $sp, 8
|
|
||||||
+ fst.d $fs2, $sp, 16
|
|
||||||
+ fst.d $fs3, $sp, 24
|
|
||||||
+ fst.d $fs4, $sp, 32
|
|
||||||
+ fst.d $fs5, $sp, 40
|
|
||||||
+ fst.d $fs6, $sp, 48
|
|
||||||
+ fst.d $fs7, $sp, 56
|
|
||||||
+
|
|
||||||
+ # save s0 - s8, fp, ra
|
|
||||||
+ st.d $s0, $sp, 64
|
|
||||||
+ st.d $s1, $sp, 72
|
|
||||||
+ st.d $s2, $sp, 80
|
|
||||||
+ st.d $s3, $sp, 88
|
|
||||||
+ st.d $s4, $sp, 96
|
|
||||||
+ st.d $s5, $sp, 104
|
|
||||||
+ st.d $s6, $sp, 112
|
|
||||||
+ st.d $s7, $sp, 120
|
|
||||||
+ st.d $s8, $sp, 128
|
|
||||||
+ st.d $fp, $sp, 136
|
|
||||||
+ st.d $ra, $sp, 144
|
|
||||||
+
|
|
||||||
+ # save RA as PC
|
|
||||||
+ st.d $ra, $sp, 152
|
|
||||||
+
|
|
||||||
+ # store SP (pointing to context-data) in A2
|
|
||||||
+ move $a2, $sp
|
|
||||||
+
|
|
||||||
+ # restore SP (pointing to context-data) from A0
|
|
||||||
+ move $sp, $a0
|
|
||||||
+
|
|
||||||
+ # load fs0 - fs7
|
|
||||||
+ fld.d $fs0, $sp, 0
|
|
||||||
+ fld.d $fs1, $sp, 8
|
|
||||||
+ fld.d $fs2, $sp, 16
|
|
||||||
+ fld.d $fs3, $sp, 24
|
|
||||||
+ fld.d $fs4, $sp, 32
|
|
||||||
+ fld.d $fs5, $sp, 40
|
|
||||||
+ fld.d $fs6, $sp, 48
|
|
||||||
+ fld.d $fs7, $sp, 56
|
|
||||||
+
|
|
||||||
+ #load s0 - s7
|
|
||||||
+ ld.d $s0, $sp, 64
|
|
||||||
+ ld.d $s1, $sp, 72
|
|
||||||
+ ld.d $s2, $sp, 80
|
|
||||||
+ ld.d $s3, $sp, 88
|
|
||||||
+ ld.d $s4, $sp, 96
|
|
||||||
+ ld.d $s5, $sp, 104
|
|
||||||
+ ld.d $s6, $sp, 112
|
|
||||||
+ ld.d $s7, $sp, 120
|
|
||||||
+ ld.d $s8, $sp, 128
|
|
||||||
+ ld.d $fp, $sp, 136
|
|
||||||
+ ld.d $ra, $sp, 144
|
|
||||||
+
|
|
||||||
+ # return transfer_t from jump
|
|
||||||
+ # pass transfer_t as first arg in context function
|
|
||||||
+ # a0 == FCTX, a1 == DATA
|
|
||||||
+ move $a0, $a2
|
|
||||||
+
|
|
||||||
+ # load PC
|
|
||||||
+ ld.d $a2, $sp, 152
|
|
||||||
+
|
|
||||||
+ # restore stack
|
|
||||||
+ addi.d $sp, $sp, 160
|
|
||||||
+
|
|
||||||
+ # jump to context
|
|
||||||
+ jr $a2
|
|
||||||
+.size jump_fcontext, .-jump_fcontext
|
|
||||||
+
|
|
||||||
+/* Mark that we don't need executable stack. */
|
|
||||||
+.section .note.GNU-stack,"",%progbits
|
|
||||||
diff --git a/libs/context/src/asm/make_loongarch64_sysv_elf_gas.S b/libs/context/src/asm/make_loongarch64_sysv_elf_gas.S
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..5506270
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/libs/context/src/asm/make_loongarch64_sysv_elf_gas.S
|
|
||||||
@@ -0,0 +1,72 @@
|
|
||||||
+/*******************************************************
|
|
||||||
+ * *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 8 | 16 | 24 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS0 | FS1 | FS2 | FS3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 40 | 48 | 56 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS4 | FS5 | FS6 | FS7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 64 | 72 | 80 | 88 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S0 | S1 | S2 | S3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S4 | S5 | S6 | S7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S8 | FP | RA | PC | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * *
|
|
||||||
+ * *****************************************************/
|
|
||||||
+
|
|
||||||
+.file "make_loongarch64_sysv_elf_gas.S"
|
|
||||||
+.text
|
|
||||||
+.globl make_fcontext
|
|
||||||
+.align 2
|
|
||||||
+.type make_fcontext,@function
|
|
||||||
+make_fcontext:
|
|
||||||
+ # shift address in A0 to lower 16 byte boundary
|
|
||||||
+ bstrins.d $a0, $zero, 3, 0
|
|
||||||
+
|
|
||||||
+ # reserve space for context-data on context-stack
|
|
||||||
+ addi.d $a0, $a0, -160
|
|
||||||
+
|
|
||||||
+ # third arg of make_fcontext() == address of context-function
|
|
||||||
+ st.d $a2, $a0, 152
|
|
||||||
+
|
|
||||||
+ # save address of finish as return-address for context-function
|
|
||||||
+ # will be entered after context-function returns
|
|
||||||
+ la.local $a4, finish
|
|
||||||
+ st.d $a4, $a0, 144
|
|
||||||
+
|
|
||||||
+ # return pointer to context-data
|
|
||||||
+ jr $ra
|
|
||||||
+
|
|
||||||
+finish:
|
|
||||||
+ # exit code is zero
|
|
||||||
+ li.d $a0, 0
|
|
||||||
+ # call _exit(0)
|
|
||||||
+ b %plt(_exit)
|
|
||||||
+
|
|
||||||
+.size make_fcontext, .-make_fcontext
|
|
||||||
+/* Mark that we don't need executable stack. */
|
|
||||||
+.section .note.GNU-stack,"",%progbits
|
|
||||||
diff --git a/libs/context/src/asm/ontop_loongarch64_sysv_elf_gas.S b/libs/context/src/asm/ontop_loongarch64_sysv_elf_gas.S
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..c6ea044
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/libs/context/src/asm/ontop_loongarch64_sysv_elf_gas.S
|
|
||||||
@@ -0,0 +1,118 @@
|
|
||||||
+/*******************************************************
|
|
||||||
+ * *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 0 | 8 | 16 | 24 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS0 | FS1 | FS2 | FS3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 40 | 48 | 56 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | FS4 | FS5 | FS6 | FS7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 64 | 72 | 80 | 88 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S0 | S1 | S2 | S3 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 96 | 100 | 104 | 108 | 112 | 116 | 120 | 124 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S4 | S5 | S6 | S7 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | 128 | 132 | 136 | 140 | 144 | 148 | 152 | 156 | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * | S8 | FP | RA | PC | *
|
|
||||||
+ * ------------------------------------------------- *
|
|
||||||
+ * *
|
|
||||||
+ * *****************************************************/
|
|
||||||
+
|
|
||||||
+.file "ontop_loongarch64_sysv_elf_gas.S"
|
|
||||||
+.text
|
|
||||||
+.globl ontop_fcontext
|
|
||||||
+.align 2
|
|
||||||
+.type ontop_fcontext,@function
|
|
||||||
+ontop_fcontext:
|
|
||||||
+ # reserve space on stack
|
|
||||||
+ addi.d $sp, $sp, -160
|
|
||||||
+
|
|
||||||
+ # save fs0 - fs7
|
|
||||||
+ fst.d $fs0, $sp, 0
|
|
||||||
+ fst.d $fs1, $sp, 8
|
|
||||||
+ fst.d $fs2, $sp, 16
|
|
||||||
+ fst.d $fs3, $sp, 24
|
|
||||||
+ fst.d $fs4, $sp, 32
|
|
||||||
+ fst.d $fs5, $sp, 40
|
|
||||||
+ fst.d $fs6, $sp, 48
|
|
||||||
+ fst.d $fs7, $sp, 56
|
|
||||||
+
|
|
||||||
+ # save s0 - s8, fp, ra
|
|
||||||
+ st.d $s0, $sp, 64
|
|
||||||
+ st.d $s1, $sp, 72
|
|
||||||
+ st.d $s2, $sp, 80
|
|
||||||
+ st.d $s3, $sp, 88
|
|
||||||
+ st.d $s4, $sp, 96
|
|
||||||
+ st.d $s5, $sp, 104
|
|
||||||
+ st.d $s6, $sp, 112
|
|
||||||
+ st.d $s7, $sp, 120
|
|
||||||
+ st.d $s8, $sp, 128
|
|
||||||
+ st.d $fp, $sp, 136
|
|
||||||
+ st.d $ra, $sp, 144
|
|
||||||
+
|
|
||||||
+ # save RA as PC
|
|
||||||
+ st.d $ra, $sp, 152
|
|
||||||
+
|
|
||||||
+ # store SP (pointing to context-data) in A3
|
|
||||||
+ move $a3, $sp
|
|
||||||
+
|
|
||||||
+ # restore SP (pointing to context-data) from A0
|
|
||||||
+ move $sp, $a0
|
|
||||||
+
|
|
||||||
+ # load fs0 - fs11
|
|
||||||
+ fld.d $fs0, $sp, 0
|
|
||||||
+ fld.d $fs1, $sp, 8
|
|
||||||
+ fld.d $fs2, $sp, 16
|
|
||||||
+ fld.d $fs3, $sp, 24
|
|
||||||
+ fld.d $fs4, $sp, 32
|
|
||||||
+ fld.d $fs5, $sp, 40
|
|
||||||
+ fld.d $fs6, $sp, 48
|
|
||||||
+ fld.d $fs7, $sp, 56
|
|
||||||
+
|
|
||||||
+ #load s0 - s11, fp, ra
|
|
||||||
+ ld.d $s0, $sp, 64
|
|
||||||
+ ld.d $s1, $sp, 72
|
|
||||||
+ ld.d $s2, $sp, 80
|
|
||||||
+ ld.d $s3, $sp, 88
|
|
||||||
+ ld.d $s4, $sp, 96
|
|
||||||
+ ld.d $s5, $sp, 104
|
|
||||||
+ ld.d $s6, $sp, 112
|
|
||||||
+ ld.d $s7, $sp, 120
|
|
||||||
+ ld.d $s8, $sp, 128
|
|
||||||
+ ld.d $fp, $sp, 136
|
|
||||||
+ ld.d $ra, $sp, 144
|
|
||||||
+
|
|
||||||
+ # return transfer_t from jump
|
|
||||||
+ # pass transfer_t as first arg in context function
|
|
||||||
+ # a0 == FCTX, a1 == DATA
|
|
||||||
+ move $a0, $a3
|
|
||||||
+
|
|
||||||
+ # adjust stack
|
|
||||||
+ addi.d $sp, $sp, 160
|
|
||||||
+
|
|
||||||
+ # jump to context
|
|
||||||
+ jr $a2
|
|
||||||
+.size ontop_fcontext, .-ontop_fcontext
|
|
||||||
+
|
|
||||||
+/* Mark that we don't need executable stack. */
|
|
||||||
+.section .note.GNU-stack,"",%progbits
|
|
||||||
diff --git a/tools/build/src/engine/jam.h b/tools/build/src/engine/jam.h
|
|
||||||
index 59e5f82..76a7869 100644
|
|
||||||
--- a/tools/build/src/engine/jam.h
|
|
||||||
+++ b/tools/build/src/engine/jam.h
|
|
||||||
@@ -446,6 +446,10 @@
|
|
||||||
#define OSPLAT "OSPLAT=PARISC"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef __loongarch64
|
|
||||||
+ #define OSPLAT "OSPLAT=LOONGARCH64"
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifndef OSPLAT
|
|
||||||
#define OSPLAT ""
|
|
||||||
#endif
|
|
||||||
diff --git a/tools/build/src/tools/features/architecture-feature.jam b/tools/build/src/tools/features/architecture-feature.jam
|
|
||||||
index e320307..124b4be 100644
|
|
||||||
--- a/tools/build/src/tools/features/architecture-feature.jam
|
|
||||||
+++ b/tools/build/src/tools/features/architecture-feature.jam
|
|
||||||
@@ -45,6 +45,9 @@ feature.feature architecture
|
|
||||||
# RISC-V
|
|
||||||
riscv
|
|
||||||
|
|
||||||
+ # loongarch
|
|
||||||
+ loongarch
|
|
||||||
+
|
|
||||||
# z Systems (aka s390x)
|
|
||||||
s390x
|
|
||||||
:
|
|
||||||
--
|
|
||||||
2.33.0
|
|
||||||
|
|
||||||
@ -1,40 +0,0 @@
|
|||||||
From d65e2888de8097f28453b92fdd1770805c0f4063 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Liu Zixian <liuzixian4@huawei.com>
|
|
||||||
Date: Mon, 12 Dec 2022 12:36:42 +0800
|
|
||||||
Subject: [PATCH] Skip performance test
|
|
||||||
|
|
||||||
Performance test in CI does not make sense.
|
|
||||||
|
|
||||||
On x86-64, this test caused a float point exception,
|
|
||||||
for the test data is too weak to generate an execution time
|
|
||||||
larger than the timer precision.
|
|
||||||
|
|
||||||
[ 298s] ====== BEGIN OUTPUT ======
|
|
||||||
[ 298s] Generating graph...10000 vertices, 100000 edges.
|
|
||||||
[ 298s] Running Dijkstra's with binary heap... 0.003279s wall, 0.000000s user + 0.000000s system = 0.000000s CPU (n/a%)
|
|
||||||
[ 298s] seconds.
|
|
||||||
[ 298s] Running Dijkstra's with d-ary heap (d=4)...
|
|
||||||
[ 298s] EXIT STATUS: 136
|
|
||||||
[ 298s] ====== END OUTPUT ======
|
|
||||||
|
|
||||||
Signed-off-by: Liu Zixian <liuzixian4@huawei.com>
|
|
||||||
---
|
|
||||||
libs/graph/test/Jamfile.v2 | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/libs/graph/test/Jamfile.v2 b/libs/graph/test/Jamfile.v2
|
|
||||||
index a0c15ca7b..a6273b659 100644
|
|
||||||
--- a/libs/graph/test/Jamfile.v2
|
|
||||||
+++ b/libs/graph/test/Jamfile.v2
|
|
||||||
@@ -47,7 +47,7 @@ alias graph_test_regular :
|
|
||||||
[ run undirected_dfs.cpp ]
|
|
||||||
[ compile dfs_cc.cpp ]
|
|
||||||
[ compile dijkstra_cc.cpp ]
|
|
||||||
- [ run dijkstra_heap_performance.cpp /boost/timer//boost_timer : 10000 ]
|
|
||||||
+ # [ run dijkstra_heap_performance.cpp /boost/timer//boost_timer : 10000 ]
|
|
||||||
[ run dijkstra_no_color_map_compare.cpp : 10000 ]
|
|
||||||
[ run disjoint_set_test.cpp ]
|
|
||||||
[ run dominator_tree_test.cpp ]
|
|
||||||
--
|
|
||||||
2.33.0
|
|
||||||
|
|
||||||
@ -1,36 +0,0 @@
|
|||||||
From 1d176e542576e7e584eccd3e2badca33231768c1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Liu Zixian <liuzixian4@huawei.com>
|
|
||||||
Date: Mon, 12 Dec 2022 20:12:26 +0800
|
|
||||||
Subject: [PATCH] Avoid gcc bugs
|
|
||||||
|
|
||||||
This testcase triggers a gcc optimization bug.
|
|
||||||
See https://gitee.com/src-openeuler/gcc/issues/I65UF9
|
|
||||||
|
|
||||||
Signed-off-by: Liu Zixian <liuzixian4@huawei.com>
|
|
||||||
---
|
|
||||||
libs/icl/test/fix_tickets_/fix_tickets.cpp | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/libs/icl/test/fix_tickets_/fix_tickets.cpp b/libs/icl/test/fix_tickets_/fix_tickets.cpp
|
|
||||||
index 0232c3194..fc207e3f0 100644
|
|
||||||
--- a/libs/icl/test/fix_tickets_/fix_tickets.cpp
|
|
||||||
+++ b/libs/icl/test/fix_tickets_/fix_tickets.cpp
|
|
||||||
@@ -74,6 +74,7 @@ BOOST_AUTO_TEST_CASE(ticket_6095_Marvin_Sielenkemper_isEmptyTest)
|
|
||||||
BOOST_CHECK( icl::is_empty(Interval::open(max, max)));
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifndef __GNUC__
|
|
||||||
BOOST_AUTO_TEST_CASE(ticket_6095_Marvin_Sielenkemper_totalRangeTest)
|
|
||||||
{
|
|
||||||
typedef int Value;
|
|
||||||
@@ -90,6 +91,7 @@ BOOST_AUTO_TEST_CASE(ticket_6095_Marvin_Sielenkemper_totalRangeTest)
|
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL(intervals.iterative_size(), 3);
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(test_ticket_7871)
|
|
||||||
{
|
|
||||||
--
|
|
||||||
2.36.1
|
|
||||||
|
|
||||||
47
boost.spec
47
boost.spec
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
Name: boost
|
Name: boost
|
||||||
Version: 1.78.0
|
Version: 1.78.0
|
||||||
Release: 18
|
Release: 13
|
||||||
Summary: The free peer-reviewed portable C++ source libraries
|
Summary: The free peer-reviewed portable C++ source libraries
|
||||||
License: Boost Software License 1.0
|
License: Boost Software License 1.0
|
||||||
URL: http://www.boost.org
|
URL: http://www.boost.org
|
||||||
@ -28,9 +28,6 @@ Patch6: boost-1.78-filesystem-Use-O_NONBLOCK-instead-of-O_NDELAY.patch
|
|||||||
# https://github.com/boostorg/python/pull/373
|
# https://github.com/boostorg/python/pull/373
|
||||||
Patch9000: boost-1.78-python-Update-call_method-hpp.patch
|
Patch9000: boost-1.78-python-Update-call_method-hpp.patch
|
||||||
Patch9001: boost_1_78_0-sw.patch
|
Patch9001: boost_1_78_0-sw.patch
|
||||||
Patch9002: boost-1.78-graph-Skip-performance-test.patch
|
|
||||||
Patch9003: boost-1.78-icl-Avoid-gcc-bugs.patch
|
|
||||||
Patch9004: boost-1.78-add-boost-context-support-for-loongarch64.patch
|
|
||||||
|
|
||||||
Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
|
Requires: %{name}-atomic%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
|
Requires: %{name}-chrono%{?_isa} = %{version}-%{release}
|
||||||
@ -69,14 +66,11 @@ BuildRequires: openssl-devel
|
|||||||
# optional libraries for iostreams
|
# optional libraries for iostreams
|
||||||
BuildRequires: bzip2-devel libzstd-devel xz-devel zlib-devel
|
BuildRequires: bzip2-devel libzstd-devel xz-devel zlib-devel
|
||||||
# optional library for multiprecision
|
# optional library for multiprecision
|
||||||
BuildRequires: libquadmath-devel libquadmath-static
|
BuildRequires: libquadmath-devel
|
||||||
# optional library for python3
|
# optional library for python3
|
||||||
BuildRequires: python3-numpy
|
BuildRequires: python3-numpy
|
||||||
# optional library for regex
|
# optional library for regex
|
||||||
BuildRequires: libicu-devel
|
BuildRequires: libicu-devel
|
||||||
%ifarch riscv64
|
|
||||||
BuildRequires: libatomic
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Obsoletes: boost-signals < 1.69.0
|
Obsoletes: boost-signals < 1.69.0
|
||||||
|
|
||||||
@ -295,23 +289,11 @@ as that on the Boost web page (http://www.boost.org/doc/libs/%{version_enc}).
|
|||||||
%define opt_feature release debug-symbols=on pch=off
|
%define opt_feature release debug-symbols=on pch=off
|
||||||
%define opt_libs --without-mpi --without-graph_parallel
|
%define opt_libs --without-mpi --without-graph_parallel
|
||||||
%define b2_options %{opt_build} %{opt_feature} %{opt_libs}
|
%define b2_options %{opt_build} %{opt_feature} %{opt_libs}
|
||||||
%define boost_macros define=BOOST_NO_AUTO_PTR define=BOOST_STATECHART_USE_NATIVE_RTTI
|
%define boost_macros BOOST_NO_AUTO_PTR
|
||||||
./b2 %{b2_options} cxxflags="$RPM_OPT_FLAGS" %{boost_macros}
|
./b2 %{b2_options} cxxflags="$RPM_OPT_FLAGS" define=%{boost_macros}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
cd status
|
:
|
||||||
../b2 %{?_smp_mflags} --check-libs-only
|
|
||||||
../b2 %{?_smp_mflags} %{opt_feature} cxxflags="$RPM_OPT_FLAGS" %{boost_macros} \
|
|
||||||
--include-tests=algorithm,graph,intrusive,dynamic_bitset,property_map,crc,lexical_cast,range \
|
|
||||||
--exclude-tests=mpi,graph_parallel
|
|
||||||
%ifarch riscv64
|
|
||||||
LINKFLAGS='linkflags="-Wl,-latomic"'
|
|
||||||
%else
|
|
||||||
LINKFLAGS=
|
|
||||||
%endif
|
|
||||||
../b2 %{?_smp_mflags} %{opt_feature} cxxflags="$RPM_OPT_FLAGS" $LINKFLAGS %{boost_macros} \
|
|
||||||
--include-tests=bimap,circular_buffer,container,heap,icl,lockfree,logic,multi_array,multi_index,poly_collection,property_tree,ptr_container,sort \
|
|
||||||
--exclude-tests=container_hash
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
./b2 %{b2_options} \
|
./b2 %{b2_options} \
|
||||||
@ -388,14 +370,10 @@ find libs -name example -exec cp {} boost-example --parents -r \;
|
|||||||
%license LICENSE_1_0.txt
|
%license LICENSE_1_0.txt
|
||||||
%{_libdir}/libboost_math_c99.so.%{version}
|
%{_libdir}/libboost_math_c99.so.%{version}
|
||||||
%{_libdir}/libboost_math_c99f.so.%{version}
|
%{_libdir}/libboost_math_c99f.so.%{version}
|
||||||
%ifnarch ppc64le
|
|
||||||
%{_libdir}/libboost_math_c99l.so.%{version}
|
%{_libdir}/libboost_math_c99l.so.%{version}
|
||||||
%endif
|
|
||||||
%{_libdir}/libboost_math_tr1.so.%{version}
|
%{_libdir}/libboost_math_tr1.so.%{version}
|
||||||
%{_libdir}/libboost_math_tr1f.so.%{version}
|
%{_libdir}/libboost_math_tr1f.so.%{version}
|
||||||
%ifnarch ppc64le
|
|
||||||
%{_libdir}/libboost_math_tr1l.so.%{version}
|
%{_libdir}/libboost_math_tr1l.so.%{version}
|
||||||
%endif
|
|
||||||
|
|
||||||
%files nowide
|
%files nowide
|
||||||
%license LICENSE_1_0.txt
|
%license LICENSE_1_0.txt
|
||||||
@ -465,21 +443,6 @@ find libs -name example -exec cp {} boost-example --parents -r \;
|
|||||||
%{_libdir}/*.a
|
%{_libdir}/*.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Tue Jun 18 2024 hefq343 <fengqing.he@shingroup.cn> - 1.78.0-18
|
|
||||||
- Init support for ppc64le
|
|
||||||
|
|
||||||
* Mon Aug 14 2023 laokz <zhangkai@iscas.ac.cn> - 1.78.0-17
|
|
||||||
- add -latomic flag to lockfree tests for riscv64
|
|
||||||
|
|
||||||
* Thu Aug 10 2023 herengui <herengui@kylinsec.com.cn> - 1.78.0-16
|
|
||||||
- add loongarch64 patch
|
|
||||||
|
|
||||||
* Mon Dec 12 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-15
|
|
||||||
- enable more regression tests to covers commonly used container libraries
|
|
||||||
|
|
||||||
* Mon Dec 12 2022 Liu Zixian <liuzixian4@huawei.com> - 1.78.0-14
|
|
||||||
- backport master build commands and enable some regression test
|
|
||||||
|
|
||||||
* Wed Oct 19 2022 wuzx<wuzx1226@qq.com> - 1.78.0-13
|
* Wed Oct 19 2022 wuzx<wuzx1226@qq.com> - 1.78.0-13
|
||||||
- add sw64 patch
|
- add sw64 patch
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user