support riscv64
Signed-off-by: xiaofan <xiaofan@iscas.ac.cn>
This commit is contained in:
parent
dee6e5d056
commit
910e020d4b
81
og-riscv64-support.patch
Normal file
81
og-riscv64-support.patch
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
From bd23d5c22df1b5174c073c933d40c1a17204f2a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: huangji <huangji@iscas.ac.cn>
|
||||||
|
Date: Tue, 5 Nov 2024 09:40:31 +0000
|
||||||
|
Subject: [PATCH 4/4] add riscv64 support
|
||||||
|
|
||||||
|
Signed-off-by: huangji <huangji@iscas.ac.cn>
|
||||||
|
---
|
||||||
|
config/config.guess | 3 +++
|
||||||
|
configure | 2 ++
|
||||||
|
src/common/port/CMakeLists.txt | 8 ++++++++
|
||||||
|
src/include/storage/lock/s_lock.h | 2 +-
|
||||||
|
4 files changed, 14 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/config/config.guess b/config/config.guess
|
||||||
|
index 15f22ac..71c5ca3 100644
|
||||||
|
--- a/config/config.guess
|
||||||
|
+++ b/config/config.guess
|
||||||
|
@@ -963,6 +963,9 @@ EOF
|
||||||
|
loongarch*:Linux:*:*)
|
||||||
|
echo "$UNAME_MACHINE"-linux-"$LIBC"
|
||||||
|
exit ;;
|
||||||
|
+ riscv32:Linux:*:* | riscv64:Linux:*:*)
|
||||||
|
+ echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
|
||||||
|
+ exit ;;
|
||||||
|
mips:Linux:*:* | mips64:Linux:*:*)
|
||||||
|
eval $set_cc_for_build
|
||||||
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index d4f0bf5..c600ba8 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -29069,6 +29069,8 @@ if [ "$PLATFORM_ARCH"X == "aarch64"X ] ; then
|
||||||
|
else
|
||||||
|
CFLAGS="-march=armv8-a+crc $CFLAGS"
|
||||||
|
fi
|
||||||
|
+elif [ "$PLATFORM_ARCH"X == "riscv64"X ] ; then
|
||||||
|
+ CFLAGS="-march=rv64g $CFLAGS"
|
||||||
|
elif [ "$PLATFORM_ARCH"X == "x86_64"X ] ; then
|
||||||
|
CFLAGS="-mcx16 $CFLAGS_SSE42 $CFLAGS"
|
||||||
|
else
|
||||||
|
diff --git a/src/common/port/CMakeLists.txt b/src/common/port/CMakeLists.txt
|
||||||
|
index b9a6a28..e511eb0 100755
|
||||||
|
--- a/src/common/port/CMakeLists.txt
|
||||||
|
+++ b/src/common/port/CMakeLists.txt
|
||||||
|
@@ -94,6 +94,10 @@ if("${BUILD_TUPLE}" STREQUAL "loongarch64")
|
||||||
|
list(REMOVE_ITEM TGT_port_SRC ${CMAKE_CURRENT_SOURCE_DIR}/pg_crc32c_choose.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pg_crc32c_sse42.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+if("${BUILD_TUPLE}" STREQUAL "riscv64")
|
||||||
|
+ list(REMOVE_ITEM TGT_port_SRC ${CMAKE_CURRENT_SOURCE_DIR}/pg_crc32c_choose.cpp ${CMAKE_CURRENT_SOURCE_DIR}/pg_crc32c_sse42.cpp)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
SET(TGT_pgport_INC
|
||||||
|
${PROJECT_SRC_DIR}/common/backend
|
||||||
|
${PROJECT_SRC_DIR}/common/port
|
||||||
|
@@ -167,6 +171,10 @@ if("${BUILD_TUPLE}" STREQUAL "loongarch64")
|
||||||
|
list(REMOVE_ITEM TGT_pgport_srv_SRC ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_choose.cpp ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_sse42.cpp)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
+if("${BUILD_TUPLE}" STREQUAL "riscv64")
|
||||||
|
+ list(REMOVE_ITEM TGT_pgport_srv_SRC ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_choose.cpp ${CMAKE_CURRENT_SOURCE_DIR}/port_srv/pg_crc32c_sse42.cpp)
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
SET(TGT_pgport_srv_INC
|
||||||
|
${PROJECT_SRC_DIR}/common/backend
|
||||||
|
${PROJECT_SRC_DIR}/common/port
|
||||||
|
diff --git a/src/include/storage/lock/s_lock.h b/src/include/storage/lock/s_lock.h
|
||||||
|
index 715d84a..bf7b041 100644
|
||||||
|
--- a/src/include/storage/lock/s_lock.h
|
||||||
|
+++ b/src/include/storage/lock/s_lock.h
|
||||||
|
@@ -283,7 +283,7 @@ static __inline__ int tas(volatile slock_t* lock)
|
||||||
|
* the int-width variant of the builtin works on more chips than other widths.
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#if defined(__aarch64__) || defined(__aarch64)
|
||||||
|
+#if defined(__aarch64__) || defined(__aarch64) || defined(__riscv)
|
||||||
|
|
||||||
|
#ifdef ENABLE_THREAD_CHECK
|
||||||
|
extern "C" {
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
Name: opengauss
|
Name: opengauss
|
||||||
Version: 6.0.0
|
Version: 6.0.0
|
||||||
Release: 17
|
Release: 18
|
||||||
Summary: openGauss is an open source relational database management system
|
Summary: openGauss is an open source relational database management system
|
||||||
License: MulanPSL-2.0 and MIT and BSD and zlib and TCL and Apache-2.0 and BSL-1.0
|
License: MulanPSL-2.0 and MIT and BSD and zlib and TCL and Apache-2.0 and BSL-1.0
|
||||||
URL: https://gitee.com/opengauss/openGauss-server
|
URL: https://gitee.com/opengauss/openGauss-server
|
||||||
@ -38,6 +38,7 @@ Patch1: og-delete-obs.patch
|
|||||||
Patch2: og-openssl3-adptor.patch
|
Patch2: og-openssl3-adptor.patch
|
||||||
Patch3: og-security.patch
|
Patch3: og-security.patch
|
||||||
Patch4: og-syntax.patch
|
Patch4: og-syntax.patch
|
||||||
|
Patch5: og-riscv64-support.patch
|
||||||
Patch11: zlib.patch
|
Patch11: zlib.patch
|
||||||
Patch12: zlib-CVE-2022-37434.patch
|
Patch12: zlib-CVE-2022-37434.patch
|
||||||
Patch21: krb5-backport-Add-a-simple-DER-support-header.patch
|
Patch21: krb5-backport-Add-a-simple-DER-support-header.patch
|
||||||
@ -82,6 +83,7 @@ pushd openGauss-server-%{version}
|
|||||||
%patch -P2 -p1
|
%patch -P2 -p1
|
||||||
%patch -P3 -p1
|
%patch -P3 -p1
|
||||||
%patch -P4 -p1
|
%patch -P4 -p1
|
||||||
|
%patch -P5 -p1
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd %{zlib_name}-%{zlib_version}
|
pushd %{zlib_name}-%{zlib_version}
|
||||||
@ -126,6 +128,9 @@ CONFIGURE_EXTRA_FLAG="--64"
|
|||||||
%ifarch sw_64
|
%ifarch sw_64
|
||||||
CONFIGURE_EXTRA_FLAG=""
|
CONFIGURE_EXTRA_FLAG=""
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch riscv64
|
||||||
|
CONFIGURE_EXTRA_FLAG=""
|
||||||
|
%endif
|
||||||
./configure ${CONFIGURE_EXTRA_FLAG} --prefix=${zlib_dir}
|
./configure ${CONFIGURE_EXTRA_FLAG} --prefix=${zlib_dir}
|
||||||
sed -i '21a CFLAGS += -fPIC' Makefile
|
sed -i '21a CFLAGS += -fPIC' Makefile
|
||||||
MAKE_EXTRA_FLAG="-m64"
|
MAKE_EXTRA_FLAG="-m64"
|
||||||
@ -135,6 +140,9 @@ MAKE_EXTRA_FLAG="-m64"
|
|||||||
%ifarch sw_64
|
%ifarch sw_64
|
||||||
MAKE_EXTRA_FLAG=""
|
MAKE_EXTRA_FLAG=""
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch riscv64
|
||||||
|
MAKE_EXTRA_FLAG=""
|
||||||
|
%endif
|
||||||
make CFLAGS="-fPIE -fPIC" SFLAGS="-O2 -fPIC -fstack-protector-strong -Wl,-z,noexecstack -Wl,-z,relro,-z,now ${MAKE_EXTRA_FLAG} -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN" %{?_smp_mflags}
|
make CFLAGS="-fPIE -fPIC" SFLAGS="-O2 -fPIC -fstack-protector-strong -Wl,-z,noexecstack -Wl,-z,relro,-z,now ${MAKE_EXTRA_FLAG} -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN" %{?_smp_mflags}
|
||||||
make install
|
make install
|
||||||
cd contrib/minizip/
|
cd contrib/minizip/
|
||||||
@ -167,6 +175,10 @@ cp -r ${xgboost_dir} ${build_target}/xgboost/llt
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
########### build opengauss ###########
|
########### build opengauss ###########
|
||||||
|
%ifarch riscv64
|
||||||
|
CMAKE_EXTRA_FLAG="-DENABLE_BBOX=OFF"
|
||||||
|
rm -rf openGauss-server-%{version}/contrib/dolphin
|
||||||
|
%endif
|
||||||
pushd openGauss-server-%{version}
|
pushd openGauss-server-%{version}
|
||||||
opengauss_source_dir=$(pwd)
|
opengauss_source_dir=$(pwd)
|
||||||
export BUILD_TUPLE=$(uname -m)
|
export BUILD_TUPLE=$(uname -m)
|
||||||
@ -180,7 +192,7 @@ export PREFIX_HOME=${opengauss_source_dir}/mppdb_temp_install
|
|||||||
mkdir -p tmp_build
|
mkdir -p tmp_build
|
||||||
cd tmp_build
|
cd tmp_build
|
||||||
cmake .. -DENABLE_MULTIPLE_NODES=OFF -DENABLE_THREAD_SAFETY=ON -DWITH_OPENEULER_OS=ON -DENABLE_OPENEULER_MAJOR=ON \
|
cmake .. -DENABLE_MULTIPLE_NODES=OFF -DENABLE_THREAD_SAFETY=ON -DWITH_OPENEULER_OS=ON -DENABLE_OPENEULER_MAJOR=ON \
|
||||||
-DENABLE_LLVM_COMPILE=OFF -DENABLE_OBS=OFF -DENABLE_OPENSSL3=ON
|
-DENABLE_LLVM_COMPILE=OFF -DENABLE_OBS=OFF -DENABLE_OPENSSL3=ON ${CMAKE_EXTRA_FLAG}
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
make install
|
make install
|
||||||
|
|
||||||
@ -433,6 +445,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Dec 5 2024 xiaofan <xiaofan@iscas.ac.cn> - 6.0.0-18
|
||||||
|
- Support riscv64
|
||||||
|
|
||||||
* Mon Dec 2 2024 liuheng <liuheng76@huawei.com> - 6.0.0-17
|
* Mon Dec 2 2024 liuheng <liuheng76@huawei.com> - 6.0.0-17
|
||||||
- Adaptation upgrade
|
- Adaptation upgrade
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user