[binutils-gdb] libctf: do not use mmap on Solaris 11

Nick Alcock nix@sourceware.org
Wed Jul 23 12:07:58 GMT 2025


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

commit 00d853d1fe7885d0a685584f32b7ed70485c6def
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date:   Wed Jul 16 13:10:05 2025 +0100

    libctf: do not use mmap on Solaris 11
    
    Writable mmaps and read are inconsistent with each other on Solaris 11.4,
    which breaks archive writing.  Simply assert that Solaris 2.11 doesn't have
    mmap, falling back to read(): the archive format is being bumped shortly, to
    one with completely different writeout code, so this workaround need not
    stay for long.
    
    [nca: added commit log]
    
    libctf/
            PR libctf/29292
            * configure.ac: Turn off mmap on Solaris 2.11.
            * configure: Regenerated.

Diff:
---
 libctf/configure    | 8 ++++++++
 libctf/configure.ac | 8 ++++++++
 2 files changed, 16 insertions(+)

diff --git a/libctf/configure b/libctf/configure
index 7466d56a18b..4c244da0100 100755
--- a/libctf/configure
+++ b/libctf/configure
@@ -15966,6 +15966,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+case "${host}" in
+  # PR libctf/29292
+  # libctf's use of mmap doesn't work on Solaris 11.4, so disable it.
+  *-*-solaris2.11*)
+    ac_cv_func_mmap_fixed_mapped=no
+  ;;
+esac
+
 
 
 
diff --git a/libctf/configure.ac b/libctf/configure.ac
index fbd8ec12a14..dbe311c5af3 100644
--- a/libctf/configure.ac
+++ b/libctf/configure.ac
@@ -65,6 +65,14 @@ AM_MAINTAINER_MODE
 AM_INSTALL_LIBBFD
 ACX_PROG_CC_WARNING_OPTS([-Wall], [ac_libctf_warn_cflags])
 
+case "${host}" in
+  # PR libctf/29292
+  # libctf's use of mmap doesn't work on Solaris 11.4, so disable it.
+  *-*-solaris2.11*)
+    ac_cv_func_mmap_fixed_mapped=no
+  ;;
+esac
+
 GCC_AC_FUNC_MMAP
 # Needed for BFD capability checks.
 AC_SEARCH_LIBS(dlsym, dl)


More information about the Binutils-cvs mailing list