[2/2] mmap: Avoid the sanitizer configure check failure

Message ID 20240409142435.1708867-3-hjl.tools@gmail.com
State New
Headers
Series mmap: Avoid the sanitizer configure check failure |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 fail Patch failed to apply

Commit Message

H.J. Lu April 9, 2024, 2:24 p.m. UTC
  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.
---
 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(-)
  

Patch

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}