Hello,
Since commit 52b50c15fa3b319bb162f0d47fbeb6582842c020, madvise() advice
macros are no longer available on noMMU architectures. However, the
madvise() function call is still available. Therefore the following
piece of code from madplay causes a build failure:
# if defined(HAVE_MADVISE)
madvise(fdm, length, MADV_SEQUENTIAL);
# endif
Indeed, because madvise() exists in uClibc, HAVE_MADVISE is defined.
But MADV_SEQUENTIAL is no longer defined, causing a build failure.
Shouldn't madvise() be handled like posix_madvise(), i.e made not
available on noMMU systems?
Also, I see in <sys/mman.h> that the posix_madvise() prototype is still
visible on noMMU platforms. Is still really correct?
See the two attached patches (completely untested, not even build
tested) for what I mean.
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com