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.