Ver Fonte

Merge branch 'maint'

* maint:
  Regenerate
  Don't enable AddressSanitizer in non-debug builds.
Bryan Drewery há 9 anos atrás
pai
commit
e9feb58b75
5 ficheiros alterados com 13 adições e 5 exclusões
  1. 3 2
      Makefile.in
  2. 2 1
      build/autotools/configure.ac
  3. 3 1
      configure
  4. 4 0
      doc/UPDATES.md
  5. 1 1
      src/Makefile.in

+ 3 - 2
Makefile.in

@@ -41,6 +41,7 @@ LIBS = @LIBS@
 INCLUDES = @TCL_INCLUDES@ @SSL_INCLUDES@
 
 DEBCXXFLAGS = -DDEBUG -fno-inline -g3 -ggdb3 -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wshadow -Wpointer-arith @GCC3DEB@ @GCC4DEB@ @DEBCXXFLAGS@
+DEBLDFLAGS= @DEBLDFLAGS@
 CFLGS = @GCC3_CFLAGS@
 CXXFLAGS = @CXXFLAGS@ $(CFLGS) @GCC3_CXXFLAGS@ -fno-rtti
 
@@ -59,10 +60,10 @@ MAKE_DYNAMIC = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'CC=$(CC)' 'LD=$(LD_DYNAMIC)'
 MAKE_DEBUG = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'CC=$(CC)' 'LD=$(LD_DEBUG) -g' 'INCLUDES=$(INCLUDES)' \
 'CCDEPMODE=$(CCDEPMODE)' 'BRANCH=$(BRANCH)' 'COMMIT=$(COMMIT_SHORT)' 'BUILDTS=$(BUILDTS)' 'VERSION=$(VERSION)' \
 'STRIP=touch' 'CXXFLAGS=$(CXXFLAGS) $(DEBCXXFLAGS)' 'CFLGS=$(CFLGS) $(DEBCXXFLAGS) -DBIN_TYPE_DYNAMIC' \
-'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(debug)'
+'DEBLDFLAGS=$(DEBLDFLAGS)' 'LIBS=$(LIBS)' 'EGGEXEC=$(BINEXEC)' 'EGGBUILD=(debug)'
 
 MAKE_UTILS = $(MAKE) 'MAKE=$(MAKE)' 'CXX=$(CXX)' 'CC=$(CC)' 'STRIP=touch' 'INCLUDES=$(INCLUDES)' \
-'CCDEPMODE=$(CCDEPMODE)' \
+'CCDEPMODE=$(CCDEPMODE)' 'DEBLDFLAGS=$(DEBLDFLAGS)' \
 'CXXFLAGS=$(CXXFLAGS) $(DEBCXXFLAGS)' 'CFLGS=$(CFLGS) $(DEBCXXFLAGS)' 'LIBS=$(LIBS)' 'LD=$(LD_DEBUG) -g'
 
 .PHONY: checkclean.static checkclean.dynamic checkclean.debug lib wraith dwraith lib.debug debug test general sorthelp sort indent tar distrib distclean clean cleanutils test all dynamic static tags

+ 2 - 1
build/autotools/configure.ac

@@ -46,7 +46,7 @@ if [[ "${ax_cv_prog_cc_Og}" = "no" ]]; then
 fi
 CXX_FLAG_CHECK_LINK([DEBCXXFLAGS], [-fsanitize=address], [fsanitize_address])
 if [[ "${ax_cv_prog_cc_fsanitize_address}" = "yes" ]]; then
-  LDFLAGS="${LDFLAGS} -fsanitize=address"
+  DEBLDFLAGS="${DEBLDFLAGS} -fsanitize=address"
 fi
 CXX_FLAG_CHECK([DEBCXXFLAGS], [-fstack-protector-all], [stackprotectorall])
 CXX_FLAG_CHECK([DEBCXXFLAGS], [-Wconditional-uninitialized], [w_conditional_uninitialized])
@@ -92,6 +92,7 @@ EGG_CHECK_RANDOM_MAX
 # Create static binaries
 EGG_CHECK_CCSTATIC
 AC_SUBST(DEBCXXFLAGS)
+AC_SUBST(DEBLDFLAGS)
 
 #checkpoint
 AC_CACHE_SAVE 

+ 3 - 1
configure

@@ -643,6 +643,7 @@ LIBELF_LIB
 LIBELF_BUNDLED
 EGREP
 GREP
+DEBLDFLAGS
 DEBCXXFLAGS
 STATIC
 BUILDARCH
@@ -3870,7 +3871,7 @@ EOF
   fi
 
 if [ "${ax_cv_prog_cc_fsanitize_address}" = "yes" ]; then
-  LDFLAGS="${LDFLAGS} -fsanitize=address"
+  DEBLDFLAGS="${DEBLDFLAGS} -fsanitize=address"
 fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler understands -fstack-protector-all" >&5
@@ -4855,6 +4856,7 @@ fi
 
 
 
+
 #checkpoint
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure

+ 4 - 0
doc/UPDATES.md

@@ -4,6 +4,10 @@
 # maint
   * Support Debian/Ubuntu's libssl1.0.0[:i386] package.
   * Improve hints about OpenSSL library packages to install.
+  * Fix AddressSanitizer [1] being enabled by default causing 16TB+ of VM to be
+    used.  On most systems this was harmless since the memory was not actually
+    used.  This feature is still enabled by default for debug binaries.
+    [1] http://clang.llvm.org/docs/AddressSanitizer.html
 
 # 1.4.7
   * Update server list, 'set -yes servers -' and 'set -yes servers6 -' to get new list.

+ 1 - 1
src/Makefile.in

@@ -11,7 +11,7 @@ VPATH = @srcdir@
 CXXFLAGS = $(CXXFLAGS)
 CFLAGS = $(CFLGS)
 CPPFLAGS = @CPPFLAGS@ -I. -I$(top_srcdir) -I$(top_srcdir)/lib -I$(top_srcdir)/pack @DEFS@ $(INCLUDES) '-DCOMMIT="$(COMMIT)"' '-DBRANCH="$(BRANCH)"' -DBUILDTS=$(BUILDTS) '-DVERSION="$(VERSION)"'
-LDFLAGS = @LDFLAGS@
+LDFLAGS = @LDFLAGS@ $(DEBLDFLAGS)
 SETTINGSFILE = $(top_srcdir)/doc/settings.txt
 RESPONSESFILE = $(top_srcdir)/doc/responses.txt
 HELPFILE = $(top_srcdir)/doc/help.txt