57 lines
2.3 KiB
Diff
57 lines
2.3 KiB
Diff
From 8b626946fcabc659a41de3b15cbe6f5d45bd596e Mon Sep 17 00:00:00 2001
|
|
From: Dingli Zhang <dingli@iscas.ac.cn>
|
|
Date: Tue, 7 May 2024 13:56:04 +0800
|
|
Subject: [PATCH] Added support for building the riscv64 protoc binaries with
|
|
Kokoro
|
|
|
|
|
|
diff --git a/kokoro/release/protoc/linux/build.sh b/kokoro/release/protoc/linux/build.sh
|
|
index 44a95aab3..13be7b2ed 100755
|
|
--- a/kokoro/release/protoc/linux/build.sh
|
|
+++ b/kokoro/release/protoc/linux/build.sh
|
|
@@ -22,6 +22,9 @@ protoc-artifacts/build-protoc.sh linux aarch_64 protoc
|
|
sudo apt install -y g++-powerpc64le-linux-gnu
|
|
protoc-artifacts/build-protoc.sh linux ppcle_64 protoc
|
|
|
|
+sudo apt install -y g++-riscv64-linux-gnu
|
|
+protoc-artifacts/build-protoc.sh linux riscv64 protoc
|
|
+
|
|
sudo apt install -y g++-s390x-linux-gnu
|
|
protoc-artifacts/build-protoc.sh linux s390_64 protoc
|
|
|
|
diff --git a/protoc-artifacts/build-protoc.sh b/protoc-artifacts/build-protoc.sh
|
|
index 460284262..20ca05739 100755
|
|
--- a/protoc-artifacts/build-protoc.sh
|
|
+++ b/protoc-artifacts/build-protoc.sh
|
|
@@ -93,6 +93,8 @@ checkArch ()
|
|
assertEq $format "elf64-x86-64" $LINENO
|
|
elif [[ "$ARCH" == aarch_64 ]]; then
|
|
assertEq $format "elf64-little" $LINENO
|
|
+ elif [[ "$ARCH" == riscv64 ]]; then
|
|
+ assertEq $format "elf64-littleriscv" $LINENO
|
|
elif [[ "$ARCH" == s390_64 ]]; then
|
|
if [[ $host_machine == s390x ]];then
|
|
assertEq $format "elf64-s390" $LINENO
|
|
@@ -162,6 +164,9 @@ checkDependencies ()
|
|
elif [[ "$ARCH" == aarch_64 ]]; then
|
|
dump_cmd='objdump -p '"$1"' | grep NEEDED'
|
|
white_list="libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-aarch64\.so\.1"
|
|
+ elif [[ "$ARCH" == riscv64 ]]; then
|
|
+ dump_cmd='objdump -p '"$1"' | grep NEEDED'
|
|
+ white_list="libz\.so\.1\|libm\.so\.6\|libc\.so\.6\|ld-linux-riscv64-lp64d\.so\.1"
|
|
fi
|
|
elif [[ "$OS" == osx ]]; then
|
|
dump_cmd='otool -L '"$1"' | fgrep dylib'
|
|
@@ -226,6 +231,8 @@ elif [[ "$(uname)" == Linux* ]]; then
|
|
elif [[ "$ARCH" == ppcle_64 ]]; then
|
|
CXXFLAGS="$CXXFLAGS -m64"
|
|
CONFIGURE_ARGS="$CONFIGURE_ARGS --host=powerpc64le-linux-gnu"
|
|
+ elif [[ "$ARCH" == riscv64 ]]; then
|
|
+ CONFIGURE_ARGS="$CONFIGURE_ARGS --host=riscv64-linux-gnu"
|
|
elif [[ "$ARCH" == s390_64 ]]; then
|
|
CXXFLAGS="$CXXFLAGS -m64"
|
|
CONFIGURE_ARGS="$CONFIGURE_ARGS --host=s390x-linux-gnu"
|
|
--
|
|
2.41.0
|
|
|