improve Address Sanitizer (ASAN) support and chk_tree

Updated BUGS about MSYS2 on Windows compiling of calc.

    Added more git related checks and sanity checks to chk_tree.

    Added ${FSANITIZE} make variable to Makefile.config to hold
    common Address Sanitizer (ASAN) optins to modern Linux and macOS.
    The Address Sanitizer is NOT enabled not compiled in by default.
    Improved comments in Makefile.local for RHEL9.2 (Linux) and for
    macOS 14.0 that, when uncommented and calc is recompiled (i.e.,
    make clobber all) will enable the Address Sanitizer (ASAN) for calc.
This commit is contained in:
Landon Curt Noll
2023-10-06 21:59:06 -07:00
parent 2d2e1c5894
commit 0e6016f429
5 changed files with 149 additions and 98 deletions

View File

@@ -38,6 +38,14 @@ export EXIT_CODE=0
# We exclude binary files, RCS source code history, intermediate
# compiled files, patch droppings and compiled binary libraries.
#
# We also ignore filenames with a single letter, and files
# that end in .out, and files containing the any of the following
# in any letter case:
#
# foo bar baz curds whey rmme
#
# Such files are temporary/test files and are not part of calc.
#
# Last, we have two files that have long lines that, for now,
# we cannot be as picky about without significant work.
#
@@ -53,7 +61,9 @@ LEADING_SPACES_BEFORE_TAB=$(
-path './longbits' -o -name '.*.swp' -o -name 'conf.h' -o \
-name '.git' -o -path './custom/libcustcalc*' -o -path './libcustcalc*' -o \
-name 'sample_many-static' -o -name 'sample_rand-static' -o \
-name 'codeql-analysis.yml' -o -name tags -o -name '*.out' \
-name 'codeql-analysis.yml' -o -name tags -o -name '*.out' -o \
-name '?' -o -iname '*foo*' -o -iname '*bar*' -o -iname '*baz*' -o \
-iname '*curds*' -o -iname '*whey*' -o -iname '*rmme*' \
\) -prune -o -type f -print0 | \
xargs -0 egrep -l '^ * * '
)
@@ -69,6 +79,14 @@ fi
# We exclude binary files, RCS source code history, intermediate
# compiled files, patch droppings and compiled binary libraries.
#
# We also ignore filenames with a single letter, and files
# that end in .out, and files containing the any of the following
# in any letter case:
#
# foo bar baz curds whey rmme
#
# Such files are temporary/test files and are not part of calc.
#
# Last, we have two files that have long lines that, for now,
# we cannot be as picky about without significant work.
#
@@ -84,7 +102,8 @@ TRAILING_WHITESPACE=$(
-path './longbits' -o -name '.*.swp' -o -name 'conf.h' -o \
-name '.git' -o -path './custom/libcustcalc*' -o -path './libcustcalc*' -o \
-name 'sample_many-static' -o -name 'sample_rand-static' -o \
-name 'codeql-analysis.yml' -o -name tags -o -name '*.out' \
-name '?' -o -iname '*foo*' -o -iname '*bar*' -o -iname '*baz*' -o \
-iname '*curds*' -o -iname '*whey*' -o -iname '*rmme*' \
\) -prune -o -type f -print0 | \
xargs -0 egrep -l '[ ]$'
)
@@ -139,6 +158,14 @@ fi
# We exclude binary files, source code history, intermediate
# compiled files, patch droppings and compiled binary libraries.
#
# We also ignore filenames with a single letter, and files
# that end in .out, and files containing the any of the following
# in any letter case:
#
# foo bar baz curds whey rmme
#
# Such files are temporary/test files and are not part of calc.
#
# Last, we have files that have long lines that, for now,
# we cannot be as picky about without significant work.
#
@@ -155,7 +182,8 @@ PICKY_PHASE_1=$(
-name '.git' -o -path './custom/libcustcalc*' -o -path './libcustcalc*' -o \
-name 'sample_many-static' -o -name 'sample_rand-static' -o \
-name 'codeql-analysis.yml' -o -name tags -o -name '*.out' -o \
-name '.gitignore' -o -name 'README.md' -o -name '.lldbinit' \
-name '?' -o -iname '*foo*' -o -iname '*bar*' -o -iname '*baz*' -o \
-iname '*curds*' -o -iname '*whey*' -o -iname '*rmme*' \
\) -prune -o -type f -print0 | \
if [[ -x /usr/local/bin/picky ]]; then
xargs -0 /usr/local/bin/picky -s -v -w132