In cases where we can't (or haven't gotten around to) attempting graceful handling of mmap failures, Linux users may benefit from additional information on how to avoid the problem. Signed-off-by: Eric Wong <e@xxxxxxxxx> --- object-file.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/object-file.c b/object-file.c index 4c043f1f3c..4139a5ebe6 100644 --- a/object-file.c +++ b/object-file.c @@ -1027,8 +1027,14 @@ void *xmmap(void *start, size_t length, int prot, int flags, int fd, off_t offset) { void *ret = xmmap_gently(start, length, prot, flags, fd, offset); - if (ret == MAP_FAILED) + if (ret == MAP_FAILED) { +#if defined(__linux__) + if (errno == ENOMEM) + die_errno(_( +"mmap failed, check sys.vm.max_map_count and/or RLIMIT_DATA")); +#endif /* OS-specific bits */ die_errno(_("mmap failed")); + } return ret; }