The following fails on hurd-amd64 with MAP_FAILED:
void* ptr = mmap(NULL, 0x1000, PROT_READ | PROT_WRITE,
MAP_ANONYMOUS | MAP_32BIT, -1, 0);
This fails because the lower 32 bit address space has been marked
PROT_NONE by hurd/exec/exec.c in order to catch pointer truncation on 64
bit. I can see that this protection is applied to any program that can
be mapped anywhere and is therefore presumed to not specifically require
the low 4GB address space.
Should MAP_32BIT be supported on hurd-amd64 ?
Mike.