This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 9350c0be80 [Bug](aarch64) Fix the BRPC "sched_to itself" error when building BE by Clang on Linux aarch64 (#13270) 9350c0be80 is described below commit 9350c0be80036f0d7994f56150f55a6238138dd8 Author: Adonis Ling <adonis0...@gmail.com> AuthorDate: Tue Oct 11 15:38:28 2022 +0800 [Bug](aarch64) Fix the BRPC "sched_to itself" error when building BE by Clang on Linux aarch64 (#13270) --- thirdparty/download-thirdparty.sh | 7 ++++++- ...patch => brpc-fix-clang-15-linkage-error.patch} | 0 .../brpc-fix-linux-aarch64-clang-build.patch | 24 ++++++++++++++++++++++ 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/thirdparty/download-thirdparty.sh b/thirdparty/download-thirdparty.sh index 65e8fb4f6d..78107520af 100755 --- a/thirdparty/download-thirdparty.sh +++ b/thirdparty/download-thirdparty.sh @@ -373,7 +373,12 @@ echo "Finished patching ${AWS_SDK_SOURCE}" cd "${TP_SOURCE_DIR}/${BRPC_SOURCE}" if [[ ! -f "${PATCHED_MARK}" ]]; then - for file in "${TP_PATCH_DIR}"/brpc-1.2.0-*.patch; do + # Currently, there are two types of patches for BRPC in Doris: + # 1. brpc-fix-*.patch - These patches are not included in upstream but they can fix some bugs in some specific + # scenarios. + # 2. brpc-{VERSION}-*.patch - These patches are included in upstream but they are not in current VERISON. We + # backport some bug fixes to the current VERSION. + for file in "${TP_PATCH_DIR}"/brpc-*.patch; do patch -p1 <"${file}" done touch "${PATCHED_MARK}" diff --git a/thirdparty/patches/brpc-1.2.0-00.patch b/thirdparty/patches/brpc-fix-clang-15-linkage-error.patch similarity index 100% rename from thirdparty/patches/brpc-1.2.0-00.patch rename to thirdparty/patches/brpc-fix-clang-15-linkage-error.patch diff --git a/thirdparty/patches/brpc-fix-linux-aarch64-clang-build.patch b/thirdparty/patches/brpc-fix-linux-aarch64-clang-build.patch new file mode 100644 index 0000000000..10410048a0 --- /dev/null +++ b/thirdparty/patches/brpc-fix-linux-aarch64-clang-build.patch @@ -0,0 +1,24 @@ +diff --git a/src/bthread/task_group.cpp b/src/bthread/task_group.cpp +index b8ead163..94ce5eb7 100644 +--- a/src/bthread/task_group.cpp ++++ b/src/bthread/task_group.cpp +@@ -248,6 +248,9 @@ int TaskGroup::init(size_t runqueue_capacity) { + return 0; + } + ++#if defined(__linux__) && defined(__aarch64__) && defined(__clang__) ++ __attribute__((optnone)) ++#endif + void TaskGroup::task_runner(intptr_t skip_remained) { + // NOTE: tls_task_group is volatile since tasks are moved around + // different groups. +@@ -567,6 +570,9 @@ void TaskGroup::sched(TaskGroup** pg) { + sched_to(pg, next_tid); + } + ++#if defined(__linux__) && defined(__aarch64__) && defined(__clang__) ++ __attribute__((optnone)) ++#endif + void TaskGroup::sched_to(TaskGroup** pg, TaskMeta* next_meta) { + TaskGroup* g = *pg; + #ifndef NDEBUG --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org