1234567891011121314151617181920212223242526272829 |
- #!/bin/bash
- # Helper script to build and run neovim with Address Sanitizer enabled.
- # You may read more information in src/nvim/README.md in the section "Build
- # with ASAN".
- shopt -s nullglob
- root_path=$(git rev-parse --show-toplevel)
- log_path=$(mktemp -d)
- export CC='clang'
- # Change to detect_leaks=1 to detect memory leaks (slower).
- export ASAN_OPTIONS="detect_leaks=0:log_path=$log_path/asan"
- # Show backtraces in the logs.
- export UBSAN_OPTIONS="print_stacktrace=1"
- make -C "$root_path" CMAKE_EXTRA_FLAGS="-DCLANG_ASAN_UBSAN=ON"
- VIMRUNTIME="$root_path"/runtime "$root_path"/build/bin/nvim
- # Need to manually reset terminal to avoid mangled output, nvim does not
- # properly restore the terminal when it crashes.
- tput reset
- for i in "$log_path"/*; do
- cat "$i"
- done
|