We have these huge complicated tests that try to detect nuances of
mmap() semantics, and we have at least two bug reports saying they
don't work. This patch rips it all out and substitutes blacklists
for the small set of host systems that have problems.
Comments, including especially additions or subtractions from the
blacklist sets, would be appreciated. Note that I gave up on
detecting the existence of /dev/zero -- this is unlikely to cause
trouble, since ggc-page.c prefers MAP_ANON(YMOUS). However, any
system that has mmap() in its library but has neither MAP_ANON nor
/dev/zero *must* get put in the /dev/zero blacklist, or we'll get
runtime failures. (I've changed the abort() in init_ggc on failing to
open /dev/zero to an internal_error() which reports errno, which
should help with the bug reports at least.)
i686-linux bootstrap running; testing would be appreciated on
blacklisted systems, and/or under the conditions that prompted the
original bug reports.
zw