public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
From: H.J. Lu <hjl@sourceware.org>
To: binutils-cvs@sourceware.org
Subject: [binutils-gdb] mmap: Avoid the sanitizer configure check failure
Date: Wed, 10 Apr 2024 10:59:07 +0000 (GMT)	[thread overview]
Message-ID: <20240410105907.66D9D385843B@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=303da223b1b7401623eaec418b22b7b80d5b16af

commit 303da223b1b7401623eaec418b22b7b80d5b16af
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 9 06:43:36 2024 -0700

    mmap: Avoid the sanitizer configure check failure
    
    When -fsanitize=address,undefined is used to build, the mmap configure
    check failed with
    
    =================================================================
    ==231796==ERROR: LeakSanitizer: detected memory leaks
    
    Direct leak of 4096 byte(s) in 1 object(s) allocated from:
        #0 0x7cdd3d0defdf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
        #1 0x5750c7f6d72b in main /home/alan/build/gas-san/all/bfd/conftest.c:239
    
    Direct leak of 4096 byte(s) in 1 object(s) allocated from:
        #0 0x7cdd3d0defdf in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:69
        #1 0x5750c7f6d2e1 in main /home/alan/build/gas-san/all/bfd/conftest.c:190
    
    SUMMARY: AddressSanitizer: 8192 byte(s) leaked in 2 allocation(s).
    
    Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP to avoid the sanitizer
    configure check failure.
    
    bfd/
    
            * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP.
            * Makefile.in: Regenerated.
            * aclocal.m4: Likewise.
            * configure: Likewise.
    
    binutils/
    
            * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP.
            * Makefile.in: Regenerated.
            * aclocal.m4: Likewise.
            * configure: Likewise.
    
    ld/
    
            * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP.
            * Makefile.in: Regenerated.
            * aclocal.m4: Likewise.
            * configure: Likewise.
    
    libctf/
    
            * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP.
            * Makefile.in: Regenerated.
            * aclocal.m4: Likewise.
            * configure: Likewise.
    
    libsframe/
    
            * configure.ac: Replace AC_FUNC_MMAP with GCC_AC_FUNC_MMAP.
            * Makefile.in: Regenerated.
            * aclocal.m4: Likewise.
            * configure: Likewise.

Diff:
---
 bfd/Makefile.in        | 2 +-
 bfd/aclocal.m4         | 1 +
 bfd/configure          | 5 +++++
 bfd/configure.ac       | 2 +-
 binutils/Makefile.in   | 2 +-
 binutils/aclocal.m4    | 1 +
 binutils/configure     | 5 +++++
 binutils/configure.ac  | 2 +-
 ld/Makefile.in         | 2 +-
 ld/aclocal.m4          | 1 +
 ld/configure           | 5 +++++
 ld/configure.ac        | 2 +-
 libctf/Makefile.in     | 2 +-
 libctf/aclocal.m4      | 1 +
 libctf/configure       | 5 +++++
 libctf/configure.ac    | 2 +-
 libsframe/Makefile.in  | 1 +
 libsframe/aclocal.m4   | 1 +
 libsframe/configure    | 5 +++++
 libsframe/configure.ac | 2 +-
 20 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index faaa0c424b8..3092bff2935 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -125,7 +125,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
 	$(top_srcdir)/../config/lib-ld.m4 \
 	$(top_srcdir)/../config/lib-link.m4 \
 	$(top_srcdir)/../config/lib-prefix.m4 \
-	$(top_srcdir)/../config/nls.m4 \
+	$(top_srcdir)/../config/mmap.m4 $(top_srcdir)/../config/nls.m4 \
 	$(top_srcdir)/../config/override.m4 \
 	$(top_srcdir)/../config/pkg.m4 \
 	$(top_srcdir)/../config/plugins.m4 \
diff --git a/bfd/aclocal.m4 b/bfd/aclocal.m4
index 4b3fd56cfc9..8364b5dba69 100644
--- a/bfd/aclocal.m4
+++ b/bfd/aclocal.m4
@@ -1180,6 +1180,7 @@ m4_include([../config/lead-dot.m4])
 m4_include([../config/lib-ld.m4])
 m4_include([../config/lib-link.m4])
 m4_include([../config/lib-prefix.m4])
+m4_include([../config/mmap.m4])
 m4_include([../config/nls.m4])
 m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
diff --git a/bfd/configure b/bfd/configure
index 210550ae042..89fe4388171 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -17332,6 +17332,9 @@ done
 
 
 
+save_ASAN_OPTIONS="$ASAN_OPTIONS"
+  ASAN_OPTIONS=detect_leaks=0
+  export ASAN_OPTIONS
 
 for ac_func in getpagesize
 do :
@@ -17510,6 +17513,8 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 fi
 rm -f conftest.mmap conftest.txt
 
+  ASAN_OPTIONS="$save_ASAN_OPTIONS"
+
 for ac_func in madvise mprotect
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
diff --git a/bfd/configure.ac b/bfd/configure.ac
index 02d8ba96318..29ede92b993 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -1029,7 +1029,7 @@ AC_MSG_RESULT($bfd_file_ptr)
 AC_SUBST(bfd_file_ptr)
 AC_SUBST(bfd_ufile_ptr)
 
-AC_FUNC_MMAP
+GCC_AC_FUNC_MMAP
 AC_CHECK_FUNCS(madvise mprotect)
 case ${want_mmap}+${ac_cv_func_mmap_fixed_mapped} in
   true+yes )  AC_DEFINE(USE_MMAP, 1, [Use mmap if it's available?]) ;;
diff --git a/binutils/Makefile.in b/binutils/Makefile.in
index 842a6d99b54..67fa5b3b8d9 100644
--- a/binutils/Makefile.in
+++ b/binutils/Makefile.in
@@ -152,7 +152,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \
 	$(top_srcdir)/../config/lib-ld.m4 \
 	$(top_srcdir)/../config/lib-link.m4 \
 	$(top_srcdir)/../config/lib-prefix.m4 \
-	$(top_srcdir)/../config/nls.m4 \
+	$(top_srcdir)/../config/mmap.m4 $(top_srcdir)/../config/nls.m4 \
 	$(top_srcdir)/../config/override.m4 \
 	$(top_srcdir)/../config/pkg.m4 \
 	$(top_srcdir)/../config/plugins.m4 \
diff --git a/binutils/aclocal.m4 b/binutils/aclocal.m4
index 1238894b07b..eb1433a68bd 100644
--- a/binutils/aclocal.m4
+++ b/binutils/aclocal.m4
@@ -1200,6 +1200,7 @@ m4_include([../config/lead-dot.m4])
 m4_include([../config/lib-ld.m4])
 m4_include([../config/lib-link.m4])
 m4_include([../config/lib-prefix.m4])
+m4_include([../config/mmap.m4])
 m4_include([../config/nls.m4])
 m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
diff --git a/binutils/configure b/binutils/configure
index 2b9f52720c3..5d87b6b3e66 100755
--- a/binutils/configure
+++ b/binutils/configure
@@ -15231,6 +15231,9 @@ done
 
 
 
+save_ASAN_OPTIONS="$ASAN_OPTIONS"
+  ASAN_OPTIONS=detect_leaks=0
+  export ASAN_OPTIONS
 
 for ac_func in getpagesize
 do :
@@ -15409,6 +15412,8 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 fi
 rm -f conftest.mmap conftest.txt
 
+  ASAN_OPTIONS="$save_ASAN_OPTIONS"
+
 for ac_func in fseeko fseeko64 getc_unlocked mkdtemp mkstemp utimensat utimes
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
diff --git a/binutils/configure.ac b/binutils/configure.ac
index dac72c1bdd4..ac3e418392f 100644
--- a/binutils/configure.ac
+++ b/binutils/configure.ac
@@ -199,7 +199,7 @@ AC_SUBST(DEMANGLER_NAME)
 AC_CHECK_HEADERS(fcntl.h inttypes.h stdint.h sys/file.h \
 		 sys/stat.h sys/time.h sys/types.h unistd.h)
 AC_HEADER_SYS_WAIT
-AC_FUNC_MMAP
+GCC_AC_FUNC_MMAP
 AC_CHECK_FUNCS(fseeko fseeko64 getc_unlocked mkdtemp mkstemp utimensat utimes)
 
 AC_MSG_CHECKING([for mbstate_t])
diff --git a/ld/Makefile.in b/ld/Makefile.in
index abb0565718f..8350f00a521 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -126,7 +126,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \
 	$(top_srcdir)/../config/lib-ld.m4 \
 	$(top_srcdir)/../config/lib-link.m4 \
 	$(top_srcdir)/../config/lib-prefix.m4 \
-	$(top_srcdir)/../config/nls.m4 \
+	$(top_srcdir)/../config/mmap.m4 $(top_srcdir)/../config/nls.m4 \
 	$(top_srcdir)/../config/override.m4 \
 	$(top_srcdir)/../config/pkg.m4 \
 	$(top_srcdir)/../config/plugins.m4 \
diff --git a/ld/aclocal.m4 b/ld/aclocal.m4
index d9feb988d64..01c2dc2694d 100644
--- a/ld/aclocal.m4
+++ b/ld/aclocal.m4
@@ -1202,6 +1202,7 @@ m4_include([../config/lead-dot.m4])
 m4_include([../config/lib-ld.m4])
 m4_include([../config/lib-link.m4])
 m4_include([../config/lib-prefix.m4])
+m4_include([../config/mmap.m4])
 m4_include([../config/nls.m4])
 m4_include([../config/override.m4])
 m4_include([../config/pkg.m4])
diff --git a/ld/configure b/ld/configure
index 96ef1f8bb65..ba0024699d4 100755
--- a/ld/configure
+++ b/ld/configure
@@ -18802,6 +18802,9 @@ done
 
 
 
+save_ASAN_OPTIONS="$ASAN_OPTIONS"
+  ASAN_OPTIONS=detect_leaks=0
+  export ASAN_OPTIONS
 
 for ac_func in getpagesize
 do :
@@ -18980,6 +18983,8 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 fi
 rm -f conftest.mmap conftest.txt
 
+  ASAN_OPTIONS="$save_ASAN_OPTIONS"
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
 $as_echo_n "checking for library containing dlopen... " >&6; }
diff --git a/ld/configure.ac b/ld/configure.ac
index 4a11787ae71..0d4aa4c2373 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -401,7 +401,7 @@ BFD_BINARY_FOPEN
 
 AC_CHECK_DECLS([asprintf, environ, stpcpy])
 
-AC_FUNC_MMAP
+GCC_AC_FUNC_MMAP
 
 AC_SEARCH_LIBS([dlopen], [dl])
 
diff --git a/libctf/Makefile.in b/libctf/Makefile.in
index 1cdf105a323..54f5daa79ee 100644
--- a/libctf/Makefile.in
+++ b/libctf/Makefile.in
@@ -145,7 +145,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \
 	$(top_srcdir)/../config/lib-ld.m4 \
 	$(top_srcdir)/../config/lib-link.m4 \
 	$(top_srcdir)/../config/lib-prefix.m4 \
-	$(top_srcdir)/../config/nls.m4 \
+	$(top_srcdir)/../config/mmap.m4 $(top_srcdir)/../config/nls.m4 \
 	$(top_srcdir)/../config/override.m4 \
 	$(top_srcdir)/../config/po.m4 \
 	$(top_srcdir)/../config/progtest.m4 \
diff --git a/libctf/aclocal.m4 b/libctf/aclocal.m4
index e64180daf89..fc2b7d7ddcc 100644
--- a/libctf/aclocal.m4
+++ b/libctf/aclocal.m4
@@ -1240,6 +1240,7 @@ m4_include([../config/lead-dot.m4])
 m4_include([../config/lib-ld.m4])
 m4_include([../config/lib-link.m4])
 m4_include([../config/lib-prefix.m4])
+m4_include([../config/mmap.m4])
 m4_include([../config/nls.m4])
 m4_include([../config/override.m4])
 m4_include([../config/po.m4])
diff --git a/libctf/configure b/libctf/configure
index 3701bd8e796..778c141571e 100755
--- a/libctf/configure
+++ b/libctf/configure
@@ -15989,6 +15989,9 @@ done
 
 
 
+save_ASAN_OPTIONS="$ASAN_OPTIONS"
+  ASAN_OPTIONS=detect_leaks=0
+  export ASAN_OPTIONS
 
 for ac_func in getpagesize
 do :
@@ -16167,6 +16170,8 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 fi
 rm -f conftest.mmap conftest.txt
 
+  ASAN_OPTIONS="$save_ASAN_OPTIONS"
+
 # Needed for BFD capability checks.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
 $as_echo_n "checking for library containing dlsym... " >&6; }
diff --git a/libctf/configure.ac b/libctf/configure.ac
index e4e430615bd..f327d48f249 100644
--- a/libctf/configure.ac
+++ b/libctf/configure.ac
@@ -65,7 +65,7 @@ AM_MAINTAINER_MODE
 AM_INSTALL_LIBBFD
 ACX_PROG_CC_WARNING_OPTS([-Wall], [ac_libctf_warn_cflags])
 
-AC_FUNC_MMAP
+GCC_AC_FUNC_MMAP
 # Needed for BFD capability checks.
 AC_SEARCH_LIBS(dlsym, dl)
 AM_ZLIB
diff --git a/libsframe/Makefile.in b/libsframe/Makefile.in
index 9e3d268902b..111d6a30c98 100644
--- a/libsframe/Makefile.in
+++ b/libsframe/Makefile.in
@@ -126,6 +126,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \
 	$(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/../config/jobserver.m4 \
 	$(top_srcdir)/../config/lead-dot.m4 \
+	$(top_srcdir)/../config/mmap.m4 \
 	$(top_srcdir)/../config/override.m4 \
 	$(top_srcdir)/../config/warnings.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/../ltoptions.m4 \
diff --git a/libsframe/aclocal.m4 b/libsframe/aclocal.m4
index b0cdd6b184d..8804d9fb42b 100644
--- a/libsframe/aclocal.m4
+++ b/libsframe/aclocal.m4
@@ -1233,6 +1233,7 @@ m4_include([../config/dejagnu.m4])
 m4_include([../config/depstand.m4])
 m4_include([../config/jobserver.m4])
 m4_include([../config/lead-dot.m4])
+m4_include([../config/mmap.m4])
 m4_include([../config/override.m4])
 m4_include([../config/warnings.m4])
 m4_include([../libtool.m4])
diff --git a/libsframe/configure b/libsframe/configure
index 1d9e5e10695..8a9018c493e 100755
--- a/libsframe/configure
+++ b/libsframe/configure
@@ -12520,6 +12520,9 @@ done
 
 
 
+save_ASAN_OPTIONS="$ASAN_OPTIONS"
+  ASAN_OPTIONS=detect_leaks=0
+  export ASAN_OPTIONS
 
 for ac_func in getpagesize
 do :
@@ -12698,6 +12701,8 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 fi
 rm -f conftest.mmap conftest.txt
 
+  ASAN_OPTIONS="$save_ASAN_OPTIONS"
+
 for ac_header in byteswap.h endian.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
diff --git a/libsframe/configure.ac b/libsframe/configure.ac
index 733517a978f..d63f27070eb 100644
--- a/libsframe/configure.ac
+++ b/libsframe/configure.ac
@@ -112,7 +112,7 @@ AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
 AM_MAINTAINER_MODE
 AM_INSTALL_LIBBFD
 
-AC_FUNC_MMAP
+GCC_AC_FUNC_MMAP
 AC_CHECK_HEADERS(byteswap.h endian.h)
 
 dnl Check for bswap_{16,32,64}

             reply	other threads:[~2024-04-10 10:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-10 10:59 H.J. Lu [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-04-10 10:59 H.J. Lu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240410105907.66D9D385843B@sourceware.org \
    --to=hjl@sourceware.org \
    --cc=binutils-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).