https://sourceware.org/bugzilla/show_bug.cgi?id=29292
--- Comment #4 from Rainer Orth <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #3 from Nick Alcock <nick.alcock at oracle dot com> ---
Thanks for the update.
> Mixed mmap() and read() from the same fd is absolutely nonportable (or at the
> very least delicate and breaks frequently, as seen here) and we should not be
> doing it. Unfortunately with a temporary file this is hard to avoid... I had
> hoped the msync() would fix this, and until now it seemed to.
I'd have expected that, too. This all worked even on Solaris 11.3, so
the breakage is (relatively) recent.
> I wonder if dupping the fd would help, but I suspect not. I'll see if I can
> thrash about and find some way to do this without rewriting all the
> header-writing code I'm in the middle of literally deleting on another branch
> anyway!
Given the plans you lined out, I don't think this is worth the trouble.
The following snippet in libctf/configure.ac did the trick for me
without affecting any code:
diff --git a/libctf/configure.ac b/libctf/configure.ac
--- a/libctf/configure.ac
+++ b/libctf/configure.ac
@@ -65,6 +65,13 @@ 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.
+ *-*-solaris*)
+ ac_cv_func_mmap_fixed_mapped=no
+ ;;
+esac
GCC_AC_FUNC_MMAP
# Needed for BFD capability checks.
AC_SEARCH_LIBS(dlsym, dl)
This might even be acceptable for 2.45.
--
You are receiving this mail because:
You are on the CC list for the bug.