mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
Asan: Set asan loging callback. v5.0.104
This commit is contained in:
parent
41769308d2
commit
8be4c8e334
6 changed files with 39 additions and 1 deletions
|
@ -149,6 +149,11 @@ if [[ $SRS_GPERF_CP == YES ]]; then
|
|||
else
|
||||
srs_undefine_macro "SRS_GPERF_CP" $SRS_AUTO_HEADERS_H
|
||||
fi
|
||||
if [ $SRS_SANITIZER_LOG == YES ]; then
|
||||
srs_define_macro "SRS_SANITIZER_LOG" $SRS_AUTO_HEADERS_H
|
||||
else
|
||||
srs_undefine_macro "SRS_SANITIZER_LOG" $SRS_AUTO_HEADERS_H
|
||||
fi
|
||||
|
||||
#####################################################################################
|
||||
# for embeded.
|
||||
|
|
|
@ -347,6 +347,18 @@ if [[ $SRS_SANITIZER == YES && $OS_IS_X86_64 == YES ]]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
if [[ $SRS_SANITIZER == YES && $OS_IS_X86_64 == YES ]]; then
|
||||
echo "#include <sanitizer/asan_interface.h>" > ${SRS_OBJS}/test_sanitizer.c &&
|
||||
echo "int main() { return 0; }" >> ${SRS_OBJS}/test_sanitizer.c &&
|
||||
gcc -fsanitize=address -fno-omit-frame-pointer -g -O0 ${SRS_OBJS}/test_sanitizer.c \
|
||||
-o ${SRS_OBJS}/test_sanitizer 1>/dev/null 2>&1;
|
||||
ret=$?; rm -rf ${SRS_OBJS}/test_sanitizer*
|
||||
if [[ $ret -eq 0 ]]; then
|
||||
echo "libasan api found ok!";
|
||||
SRS_SANITIZER_LOG=YES
|
||||
fi
|
||||
fi
|
||||
|
||||
#####################################################################################
|
||||
# state-threads
|
||||
#####################################################################################
|
||||
|
|
|
@ -68,6 +68,7 @@ SRS_USE_SYS_SSL=NO # Use system ssl(-lssl) if required.
|
|||
SRS_VALGRIND=NO
|
||||
SRS_SANITIZER=YES
|
||||
SRS_SANITIZER_STATIC=NO
|
||||
SRS_SANITIZER_LOG=NO
|
||||
SRS_BUILD_TAG= # Set the object files tag name.
|
||||
SRS_CLEAN=YES # Whether do "make clean" when configure.
|
||||
SRS_SIMULATOR=NO # Whether enable RTC simulate API.
|
||||
|
@ -161,6 +162,7 @@ Performance: @see https://blog.csdn.net/win_lin/article/details/5
|
|||
--gprof=on|off Whether build SRS with gprof(GNU profile tool). Default: $(value2switch $SRS_GPROF)
|
||||
--sanitizer=on|off Whether build SRS with address sanitizer. Default: $(value2switch $SRS_SANITIZER)
|
||||
--sanitizer-static=on|off Whether build SRS with static libasan. Default: $(value2switch $SRS_SANITIZER_STATIC)
|
||||
--sanitizer-log=on|off Whether hijack the log for libasan. Default: $(value2switch $SRS_SANITIZER_LOG)
|
||||
|
||||
--nasm=on|off Whether build FFMPEG for RTC with nasm. Default: $(value2switch $SRS_NASM)
|
||||
--srtp-nasm=on|off Whether build SRTP with ASM(openssl-asm), requires RTC and openssl-1.0.*. Default: $(value2switch $SRS_SRTP_ASM)
|
||||
|
@ -345,6 +347,7 @@ function parse_user_option() {
|
|||
|
||||
--sanitizer) SRS_SANITIZER=$(switch2value $value) ;;
|
||||
--sanitizer-static) SRS_SANITIZER_STATIC=$(switch2value $value) ;;
|
||||
--sanitizer-log) SRS_SANITIZER_LOG=$(switch2value $value) ;;
|
||||
|
||||
--use-sys-ssl) SRS_USE_SYS_SSL=YES ;;
|
||||
--sys-ssl) SRS_USE_SYS_SSL=$(switch2value $value) ;;
|
||||
|
@ -620,6 +623,8 @@ function regenerate_options() {
|
|||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --debug-stats=$(value2switch $SRS_DEBUG_STATS)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --cross-build=$(value2switch $SRS_CROSS_BUILD)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --sanitizer=$(value2switch $SRS_SANITIZER)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --sanitizer-static=$(value2switch $SRS_SANITIZER_STATIC)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --sanitizer-log=$(value2switch $SRS_SANITIZER_LOG)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --cygwin64=$(value2switch $SRS_CYGWIN64)"
|
||||
SRS_AUTO_CONFIGURE="${SRS_AUTO_CONFIGURE} --single-thread=$(value2switch $SRS_SINGLE_THREAD)"
|
||||
if [[ $SRS_CROSS_BUILD_ARCH != "" ]]; then SRS_AUTO_CONFIGURE="$SRS_AUTO_CONFIGURE --arch=$SRS_CROSS_BUILD_ARCH"; fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue