diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp index 24e74e654b0a..5dc04c2995f6 100644 --- a/lld/ELF/Writer.cpp +++ b/lld/ELF/Writer.cpp @@ -29,8 +29,10 @@ using namespace lld::elf2; static const int PageSize = 4096; -// On linux x86_64 mmap of the first 15 pages fails, so the smallest value -// that can be used in here is 0x10000. +// On freebsd x86_64 the first page cannot be mmaped. +// On linux that is controled by vm.mmap_min_addr. At least on some x86_64 +// installs that is 65536, so the first 15 pages cannot be used. +// Given that, the smallest value that can be used in here is 0x10000. // If using 2MB pages, the smallest page aligned address that works is // 0x200000, but it looks like every OS uses 4k pages for executables. // FIXME: This is architecture and OS dependent.