Build break on SPU (and other non-mmap systems?) (Re: [patch,libgfortran,toplevel] Use libbacktrace in libgfortran)
FX
fxcoudert@gmail.com
Mon Aug 24 12:38:00 GMT 2015
> On the SPU, mmap is indeed not available. Before that change, it was still
> possible to build libgfortran for SPU ...
>
> Is the intent to now require mmap on every system that supports libgfortran,
> or should use of mmap in libbacktrace be optional in some form?
The idea is that libbacktrace should be able to build on all targets, at least in a minimally-functional form: https://gcc.gnu.org/ml/gcc/2015-08/msg00038.html
libgfortran should continue to build on all targets, even those that don’t have an mmap().
I see that there is a test in libbacktrace/configure.ac for mmap(), but apparently it fails on your system:
--------------------------------
AC_CHECK_HEADERS(sys/mman.h)
if test "$ac_cv_header_sys_mman_h" = "no"; then
have_mmap=no
else
if test -n "${with_target_subdir}"; then
# When built as a GCC target library, we can't do a link test. We
# simply assume that if we have mman.h, we have mmap.
have_mmap=yes
else
AC_CHECK_FUNC(mmap, [have_mmap=yes], [have_mmap=no])
fi
fi
--------------------------------
So this should be the place to patch things up. Relying on the presence of <sys/mman.h> is apparently not restrictive enough. Maybe we could use a AC_EGREP_HEADER test, as is currently done for dl_interate_phdr()?
FX
More information about the Fortran
mailing list