mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
87e1a302c3
For GCov builds, if the server crashes, the normal exit handler for writing coverage information is not executed due to the abnormal termination. Fix this by explicitly calling the __gcov_flush function in our crash handler.
24 lines
1 KiB
Bash
Executable file
24 lines
1 KiB
Bash
Executable file
#! /bin/sh
|
|
|
|
path=`dirname $0`
|
|
. "$path/SETUP.sh"
|
|
|
|
# Need to disable ccache, or we loose the gcov-needed compiler output files.
|
|
CCACHE_DISABLE=1
|
|
export CCACHE_DISABLE
|
|
|
|
# GCC4 needs -fprofile-arcs -ftest-coverage on the linker command line (as well
|
|
# as on the compiler command line), and this requires setting LDFLAGS for BDB.
|
|
export LDFLAGS="-fprofile-arcs -ftest-coverage"
|
|
|
|
# The -fprofile-arcs and -ftest-coverage options cause GCC to instrument the
|
|
# code with profiling information used by gcov.
|
|
# The -DDISABLE_TAO_ASM is needed to avoid build failures in Yassl.
|
|
# The -DHAVE_gcov enables code to write out coverage info even when crashing.
|
|
extra_flags="$pentium_cflags -fprofile-arcs -ftest-coverage -DDISABLE_TAO_ASM $debug_cflags $max_cflags -DMYSQL_SERVER_SUFFIX=-gcov -DHAVE_gcov"
|
|
c_warnings="$c_warnings $debug_extra_warnings"
|
|
cxx_warnings="$cxx_warnings $debug_extra_warnings"
|
|
extra_configs="$pentium_configs $debug_configs --disable-shared $static_link"
|
|
extra_configs="$extra_configs $max_configs"
|
|
|
|
. "$path/FINISH.sh"
|