diff --git a/deps/init/oceanbase.el7.aarch64.deps b/deps/init/oceanbase.el7.aarch64.deps index 29613b5118..bca2d3c2b9 100644 --- a/deps/init/oceanbase.el7.aarch64.deps +++ b/deps/init/oceanbase.el7.aarch64.deps @@ -17,7 +17,6 @@ repo=http://yum.tbsite.net/taobao/7/aarch64/test/ob-deploy/ devdeps-gtest-1.8.0-132022101316.el7.aarch64.rpm devdeps-isa-l-static-2.22.0-22022092915.el7.aarch64.rpm devdeps-libcurl-static-7.29.0-32022093010.el7.aarch64.rpm -devdeps-libunwind-static-1.6.2-222022100410.el7.aarch64.rpm devdeps-mariadb-connector-c-3.1.12-12022100422.el7.aarch64.rpm devdeps-libaio-0.3.112-12022092915.el7.aarch64.rpm devdeps-rapidjson-1.1.0-12022100410.el7.aarch64.rpm diff --git a/deps/init/oceanbase.el8.aarch64.deps b/deps/init/oceanbase.el8.aarch64.deps index 76baa2d733..f3f3ccc2e5 100644 --- a/deps/init/oceanbase.el8.aarch64.deps +++ b/deps/init/oceanbase.el8.aarch64.deps @@ -12,7 +12,6 @@ repo=http://mirrors.aliyun.com/oceanbase/community/stable/el/8/aarch64/ devdeps-gtest-1.8.0-132022101316.el8.aarch64.rpm devdeps-isa-l-static-2.22.0-22022092915.el8.aarch64.rpm devdeps-libcurl-static-7.29.0-32022093010.el8.aarch64.rpm -devdeps-libunwind-static-1.6.2-222022100410.el8.aarch64.rpm devdeps-mariadb-connector-c-3.1.12-12022100422.el8.aarch64.rpm devdeps-libaio-0.3.112-12022092915.el8.aarch64.rpm devdeps-rapidjson-1.1.0-12022100410.el8.aarch64.rpm diff --git a/deps/oblib/src/CMakeLists.txt b/deps/oblib/src/CMakeLists.txt index d73953ab3b..695bfd27f6 100644 --- a/deps/oblib/src/CMakeLists.txt +++ b/deps/oblib/src/CMakeLists.txt @@ -72,9 +72,9 @@ else() -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D_NO_EXCEPTION -DOCI_LINK_RUNTIME -Wall -Wextra -Wformat -Werror - -Wno-deprecated - -Wno-sign-compare - -Wno-psabi + -Wno-deprecated + -Wno-sign-compare + -Wno-psabi -Wno-attributes -Wno-nonnull-compare -Wno-parentheses @@ -121,7 +121,7 @@ target_link_libraries(oblib_base_base_base ${DEP_DIR}/lib/libssl.a ${DEP_DIR}/lib/libcrypto.a ${LGPL_DEPS} - ${DEP_DIR}/lib/libunwind.a + $<$:${DEP_DIR}/lib/libunwind.a> ${DEP_DIR}/lib/libz.a -L${DEP_DIR}/var/usr/lib64 -L${DEP_DIR}/var/usr/lib diff --git a/deps/oblib/src/lib/signal/ob_libunwind.c b/deps/oblib/src/lib/signal/ob_libunwind.c index cc4a1d3d28..568ec66898 100644 --- a/deps/oblib/src/lib/signal/ob_libunwind.c +++ b/deps/oblib/src/lib/signal/ob_libunwind.c @@ -10,6 +10,7 @@ * See the Mulan PubL v2 for more details. */ +#ifdef __x86_64__ #include "lib/signal/ob_libunwind.h" #include "lib/signal/safe_snprintf.h" #define UNW_LOCAL_ONLY @@ -106,3 +107,4 @@ int8_t get_frame_info(unw_cursor_t *cursor, uintptr_t *ip) *ip = uip - (r == 0); return 1; } +#endif diff --git a/deps/oblib/src/lib/signal/ob_signal_handlers.cpp b/deps/oblib/src/lib/signal/ob_signal_handlers.cpp index 6f58c32283..f212bfca01 100644 --- a/deps/oblib/src/lib/signal/ob_signal_handlers.cpp +++ b/deps/oblib/src/lib/signal/ob_signal_handlers.cpp @@ -157,7 +157,9 @@ void coredump_cb(int sig, siginfo_t *si, void *context) // backtrace char bt[256]; int64_t len = 0; +#ifdef __x86_64__ safe_backtrace(bt, sizeof(bt) - 1, &len); +#endif bt[len++] = '\0'; // extra const ObFatalErrExtraInfoGuard *extra_info = nullptr; // TODO: May deadlock, ObFatalErrExtraInfoGuard::get_thd_local_val_ptr(); diff --git a/deps/oblib/src/lib/signal/ob_signal_processor.cpp b/deps/oblib/src/lib/signal/ob_signal_processor.cpp index f7b1bbd7e2..d612e2763a 100644 --- a/deps/oblib/src/lib/signal/ob_signal_processor.cpp +++ b/deps/oblib/src/lib/signal/ob_signal_processor.cpp @@ -65,7 +65,9 @@ int ObSigBTOnlyProcessor::prepare() int64_t count = 0; count = safe_snprintf(buf_ + pos_, len - pos_, "tid: %ld, tname: %s, lbt: ", tid, tname); pos_ += count; +#ifdef __x86_64__ safe_backtrace(buf_ + pos_, len - pos_, &count); +#endif pos_ += count; buf_[pos_++] = '\n'; return ret; diff --git a/deps/oblib/src/lib/signal/ob_signal_utils.cpp b/deps/oblib/src/lib/signal/ob_signal_utils.cpp index 6c81ea2132..27d2ee23d0 100644 --- a/deps/oblib/src/lib/signal/ob_signal_utils.cpp +++ b/deps/oblib/src/lib/signal/ob_signal_utils.cpp @@ -44,7 +44,9 @@ void crash_restore_handler(int sig, siginfo_t *s, void *p) if (SIGSEGV == sig || SIGABRT == sig || SIGBUS == sig || SIGFPE == sig) { int64_t len = 0; +#ifdef __x86_64__ safe_backtrace(crash_restore_buffer, 255, &len); +#endif crash_restore_buffer[len++] = '\0'; siglongjmp(*g_jmp, 1); } else { diff --git a/deps/oblib/src/lib/signal/ob_signal_worker.cpp b/deps/oblib/src/lib/signal/ob_signal_worker.cpp index 9f7fd4d634..ce9066e2a0 100644 --- a/deps/oblib/src/lib/signal/ob_signal_worker.cpp +++ b/deps/oblib/src/lib/signal/ob_signal_worker.cpp @@ -33,6 +33,7 @@ bool g_inited = false; int send_request_and_wait(ObSigRequestCode code, int exclude_tid) { int ret = OB_SUCCESS; +#ifdef __x86_64__ DTraceId trace_id = DTraceId::gen_trace_id(); DTraceIdGuard trace_guard(trace_id); ObSigRequest req; @@ -93,6 +94,7 @@ int send_request_and_wait(ObSigRequestCode code, int exclude_tid) } } } +#endif return ret; }