From: Rainer Orth Date: Wed, 16 Jul 2025 12:10:05 +0000 (+0100) Subject: libctf: do not use mmap on Solaris 11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00d853d1fe7885d0a685584f32b7ed70485c6def;p=thirdparty%2Fbinutils-gdb.git 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 --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)