From 303da223b1b7401623eaec418b22b7b80d5b16af Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 9 Apr 2024 06:43:36 -0700 Subject: 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. --- binutils/Makefile.in | 2 +- binutils/aclocal.m4 | 1 + binutils/configure | 5 +++++ binutils/configure.ac | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) (limited to 'binutils') diff --git a/binutils/Makefile.in b/binutils/Makefile.in index 842a6d9..67fa5b3 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 1238894..eb1433a 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 2b9f527..5d87b6b 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 dac72c1..ac3e418 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]) -- cgit v1.1