aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2025-07-16 13:10:05 +0100
committerNick Alcock <nick.alcock@oracle.com>2025-08-10 17:49:52 +0100
commit208db3b38f84807b10eb757b2bee8f56acf10c18 (patch)
tree6707384bb47cf941fa5e25a0993a85b124a76e26
parentf57c0f19710c6fb2052d3709da7081327918ddf9 (diff)
downloadbinutils-208db3b38f84807b10eb757b2bee8f56acf10c18.zip
binutils-208db3b38f84807b10eb757b2bee8f56acf10c18.tar.gz
binutils-208db3b38f84807b10eb757b2bee8f56acf10c18.tar.bz2
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. (cherry picked from commit 00d853d1fe7885d0a685584f32b7ed70485c6def)
-rwxr-xr-xlibctf/configure8
-rw-r--r--libctf/configure.ac8
2 files changed, 16 insertions, 0 deletions
diff --git a/libctf/configure b/libctf/configure
index 7466d56..4c244da 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 fbd8ec1..dbe311c 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)