public inbox for binutils-cvs@sourceware.org
 help / color / mirror / Atom feed
* [binutils-gdb] mmap: Avoid the sanitizer configure check failure
@ 2024-04-10 10:59 H.J. Lu
  0 siblings, 0 replies; 2+ messages in thread
From: H.J. Lu @ 2024-04-10 10:59 UTC (permalink / raw)
  To: binutils-cvs

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}

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [binutils-gdb] mmap: Avoid the sanitizer configure check failure
@ 2024-04-10 10:59 H.J. Lu
  0 siblings, 0 replies; 2+ messages in thread
From: H.J. Lu @ 2024-04-10 10:59 UTC (permalink / raw)
  To: binutils-cvs, gdb-cvs

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

commit 219822fd5db6305592b45677a3b38c02b523360e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Apr 9 06:39:21 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).
    
    Define GCC_AC_FUNC_MMAP with export ASAN_OPTIONS=detect_leaks=0 to avoid
    the sanitizer configure check failure.
    
    config/
    
            * mmap.m4 (GCC_AC_FUNC_MMAP): New.
            * no-executables.m4 (AC_FUNC_MMAP): Renamed to GCC_AC_FUNC_MMAP.
            Change AC_FUNC_MMAP to GCC_AC_FUNC_MMAP.
    
    libiberty/
    
            * Makefile.in (aclocal_deps): Add $(srcdir)/../config/mmap.m4.
            * acinclude.m4: Change AC_FUNC_MMAP to GCC_AC_FUNC_MMAP.
            * aclocal.m4: Regenerated.
            * configure: Likewise.
    
    zlib/
    
            * acinclude.m4: Include ../config/mmap.m4.
            * Makefile.in: Regenerated.
            * configure: Likewise.

Diff:
---
 config/mmap.m4           | 22 ++++++++++++++++++++++
 config/no-executables.m4 |  4 ++--
 libiberty/Makefile.in    |  1 +
 libiberty/acinclude.m4   |  2 +-
 libiberty/aclocal.m4     |  1 +
 libiberty/configure      |  5 +++++
 zlib/Makefile.in         |  2 +-
 zlib/acinclude.m4        |  1 +
 zlib/configure           |  7 -------
 9 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/config/mmap.m4 b/config/mmap.m4
index fba0d9d3657..326b97b91f4 100644
--- a/config/mmap.m4
+++ b/config/mmap.m4
@@ -95,3 +95,25 @@ if test $gcc_cv_func_mmap_anon = yes; then
 	    [Define if mmap with MAP_ANON(YMOUS) works.])
 fi
 ])
+
+dnl
+dnl Avoid the sanitizer run-time memory leak failure in the mmap configure
+dnl test.  This should be removed when autoconf with commit:
+dnl
+dnl commit 09b6e78d1592ce10fdc975025d699ee41444aa3f
+dnl Author: Paul Eggert <eggert@cs.ucla.edu>
+dnl Date:   Fri Feb 5 21:06:20 2016 -0800
+dnl Fix memory leak in AC_FUNC_MMAP
+dnl
+dnl * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Fix memory leak
+dnl in test case, found by configuring with gcc -fsanitize=address.
+dnl
+dnl is in use.
+dnl
+AC_DEFUN([GCC_AC_FUNC_MMAP],
+  save_ASAN_OPTIONS="$ASAN_OPTIONS"
+  ASAN_OPTIONS=detect_leaks=0
+  export ASAN_OPTIONS
+  m4_defn([AC_FUNC_MMAP])
+  ASAN_OPTIONS="$save_ASAN_OPTIONS"
+)
diff --git a/config/no-executables.m4 b/config/no-executables.m4
index 6842f84fba3..e8e2537bde5 100644
--- a/config/no-executables.m4
+++ b/config/no-executables.m4
@@ -49,14 +49,14 @@ m4_defn([AC_LINK_IFELSE]))
 
 dnl This is a shame.  We have to provide a default for some link tests,
 dnl similar to the default for run tests.
-m4_define([AC_FUNC_MMAP],
+m4_define([GCC_AC_FUNC_MMAP],
 if test x$gcc_no_link = xyes; then
   if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then
     ac_cv_func_mmap_fixed_mapped=no
   fi
 fi
 if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
-  m4_defn([AC_FUNC_MMAP])
+  m4_defn([GCC_AC_FUNC_MMAP])
 fi)
 
 m4_divert_pop()dnl
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index 85c4b6b6ef8..b77a41c781c 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -508,6 +508,7 @@ aclocal_deps = \
 	$(srcdir)/../config/cet.m4 \
 	$(srcdir)/../config/enable.m4 \
 	$(srcdir)/../config/gcc-plugin.m4 \
+	$(srcdir)/../config/mmap.m4 \
 	$(srcdir)/../config/no-executables.m4 \
 	$(srcdir)/../config/override.m4 \
 	$(srcdir)/../config/picflag.m4 \
diff --git a/libiberty/acinclude.m4 b/libiberty/acinclude.m4
index 9974dcd4ec5..d08e31bc0b5 100644
--- a/libiberty/acinclude.m4
+++ b/libiberty/acinclude.m4
@@ -19,7 +19,7 @@ dnl On some versions of SunOS4 at least, strncmp reads a word at a time
 dnl but erroneously reads past the end of strings.  This can cause
 dnl a SEGV in some cases.
 AC_DEFUN([libiberty_AC_FUNC_STRNCMP],
-[AC_REQUIRE([AC_FUNC_MMAP])
+[AC_REQUIRE([GCC_AC_FUNC_MMAP])
 AC_CACHE_CHECK([for working strncmp], ac_cv_func_strncmp_works,
 [AC_TRY_RUN([
 /* Test by Jim Wilson and Kaveh Ghazi.
diff --git a/libiberty/aclocal.m4 b/libiberty/aclocal.m4
index 364fb6bc3b4..9678b0acaba 100644
--- a/libiberty/aclocal.m4
+++ b/libiberty/aclocal.m4
@@ -17,6 +17,7 @@ m4_include([../config/cet.m4])
 m4_include([../config/enable.m4])
 m4_include([../config/gcc-plugin.m4])
 m4_include([../config/hwcaps.m4])
+m4_include([../config/mmap.m4])
 m4_include([../config/no-executables.m4])
 m4_include([../config/override.m4])
 m4_include([../config/picflag.m4])
diff --git a/libiberty/configure b/libiberty/configure
index 5c69fee56c1..18e98b84bb5 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -7724,6 +7724,9 @@ if test x$gcc_no_link = xyes; then
   fi
 fi
 if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
+  save_ASAN_OPTIONS="$ASAN_OPTIONS"
+  ASAN_OPTIONS=detect_leaks=0
+  export ASAN_OPTIONS
 
 for ac_func in getpagesize
 do :
@@ -7902,6 +7905,8 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 fi
 rm -f conftest.mmap conftest.txt
 
+  ASAN_OPTIONS="$save_ASAN_OPTIONS"
+
 fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strncmp" >&5
diff --git a/zlib/Makefile.in b/zlib/Makefile.in
index dd8a21deba1..951260ac4c5 100644
--- a/zlib/Makefile.in
+++ b/zlib/Makefile.in
@@ -98,7 +98,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
 	$(top_srcdir)/../config/override.m4 \
 	$(top_srcdir)/../ltoptions.m4 $(top_srcdir)/../ltsugar.m4 \
 	$(top_srcdir)/../ltversion.m4 $(top_srcdir)/../lt~obsolete.m4 \
-	$(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/acinclude.m4 $(top_srcdir)/../config/mmap.m4 \
 	$(top_srcdir)/../config/no-executables.m4 \
 	$(top_srcdir)/../libtool.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
diff --git a/zlib/acinclude.m4 b/zlib/acinclude.m4
index 9a5f5485716..3b8be00d702 100644
--- a/zlib/acinclude.m4
+++ b/zlib/acinclude.m4
@@ -1,3 +1,4 @@
+sinclude(../config/mmap.m4)
 sinclude(../config/no-executables.m4)
 sinclude(../libtool.m4)
 dnl The lines below arrange for aclocal not to bring libtool.m4
diff --git a/zlib/configure b/zlib/configure
index 2d551360683..0e8a28a09a8 100755
--- a/zlib/configure
+++ b/zlib/configure
@@ -11245,12 +11245,6 @@ if test -n "$with_cross_host"; then
    # We ignore --with-system-zlib in this case.
    target_all=libzgcj.la
 else
-   if test x$gcc_no_link = xyes; then
-  if test "x${ac_cv_func_mmap_fixed_mapped+set}" != xset; then
-    ac_cv_func_mmap_fixed_mapped=no
-  fi
-fi
-if test "x${ac_cv_func_mmap_fixed_mapped}" != xno; then
 
 
 
@@ -11452,7 +11446,6 @@ $as_echo "#define HAVE_MMAP 1" >>confdefs.h
 fi
 rm -f conftest.mmap conftest.txt
 
-fi
    for ac_func in memcpy strerror
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-04-10 10:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-10 10:59 [binutils-gdb] mmap: Avoid the sanitizer configure check failure H.J. Lu
  -- strict thread matches above, loose matches on Subject: below --
2024-04-10 10:59 H.J. Lu

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).