提交 d687c3f8 编写于 作者: O obdev 提交者: wangzelin.wzl

[CP】disable libunwind under aarch64

上级 3b3f41d3
......@@ -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
......
......@@ -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
......
......@@ -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
$<$<STREQUAL:"${ARCHITECTURE}","x86_64">:${DEP_DIR}/lib/libunwind.a>
${DEP_DIR}/lib/libz.a
-L${DEP_DIR}/var/usr/lib64
-L${DEP_DIR}/var/usr/lib
......
......@@ -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
......@@ -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();
......
......@@ -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;
......
......@@ -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 {
......
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册