Mercurial > octave
diff build-aux/common.mk @ 20712:4a25c398ffa2
configure option to build with address sanitizer (bugg #46449)
* common.mk (WARN_LDFLAGS, ADDRESS_SANITIZER_OPTIONS): New variables.
(do_subst_script_vals): Substitute ADDRESS_SANITIZER_OPTIONS.
* configure.ac (GCC_ADDRESS_SANITIZER_FLAGS,
GXX_ADDRESS_SANITIZER_FLAGS, LD_ADDRESS_SANITIZER_FLAGS):
New flags to optionally add to WARN_CFLAGS, WARN_CXXFLAGS, and
WARN_LDFLAGS.
(--enable-address-sanitizer-flags): New option.
(WARN_LDFLAGS): Substitute new variable and display it in summary.
* libgui/module.mk, config-module.awk, libinterp/module.mk,
liboctave/module.mk, src/module.mk: Add WARN_LDFLAGS to linker options.
* run-octave.in: Handle address sanitizer environment variable.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 18 Nov 2015 15:44:33 -0500 |
parents | bacaec9b5535 |
children | 54527108599a |
line wrap: on
line diff
--- a/build-aux/common.mk Wed Nov 18 10:40:26 2015 -0800 +++ b/build-aux/common.mk Wed Nov 18 15:44:33 2015 -0500 @@ -143,6 +143,7 @@ LD_CXX = @LD_CXX@ LD_STATIC_FLAG = @LD_STATIC_FLAG@ LIBFLAGS = -L$(top_builddir) +WARN_LDFLAGS = @WARN_LDFLAGS@ #ALL_LDFLAGS = $(LIBFLAGS) $(LD_STATIC_FLAG) $(CPICFLAG) $(LDFLAGS) BUILD_LDFLAGS = @BUILD_LDFLAGS@ @@ -318,6 +319,10 @@ USE_64_BIT_IDX_T = @USE_64_BIT_IDX_T@ OCTAVE_IDX_TYPE = @OCTAVE_IDX_TYPE@ +if AMCOND_ADDRESS_SANITIZER_ENABLED + ADDRESS_SANITIZER_OPTIONS="symbolize=1" +endif + # The arguments passed to configure. config_opts = @config_opts@ @@ -884,6 +889,7 @@ -e "s|%AWK%|${AWK}|g" \ -e "s|%FIND%|${FIND}|g" \ -e "s|%SED%|${SED}|g" \ + -e "s|%ADDRESS_SANITIZER_OPTIONS%|${ADDRESS_SANITIZER_OPTIONS}|g" \ -e "s|%abs_top_srcdir%|${abs_top_srcdir}|" \ -e "s|%builddir%|$(shell pwd)|" > $@-t && \ $(simple_move_if_change_rule)