Hi
I have compiled Clisp in Debian GNU/Hurd but get a warning message during
Clisp startup since the mmapable address ranges configured for UNIX_HURD
seem to be incorrect:
Warning: reserving address range 0x18060000...0xbfffffff that contains
memory mappings. clisp might crash later!
Memory dump:
0x0 - 0xfff
0x1000 - 0x39fff
0x3a000 - 0x3bfff
0x3c000 - 0x3cfff
0x3d000 - 0x3dfff
0x3e000 - 0x103dfff
... <- many ranges here
0x830c000 - 0x832efff
0x18000000 - 0x1805ffff
0x20000000 - 0x20020fff
0x20021000 - 0x20021fff
0x20022000 - 0x27ffffff
In src/lispbibl.d we have the following:
/* On Hurd/i386:
MMAP_FIXED_ADDRESS_HIGHEST_BIT = 30
CODE_ADDRESS_RANGE = 0x00000000UL or 0x08000000UL
MALLOC_ADDRESS_RANGE = 0x08000000UL
SHLIB_ADDRESS_RANGE = 0x01000000UL
STACK_ADDRESS_RANGE = 0x01000000UL
Addresses >= 0xC0000000UL are not mmapable.
There is room from 0x11000000UL to 0xBFFFFFFFUL, but let's keep some
distance. */
#define MAPPABLE_ADDRESS_RANGE_START 0x18000000UL
#define MAPPABLE_ADDRESS_RANGE_END 0xBFFFFFFFUL
Either something changed in Clisp that would cause memory to be allocated
at 0x18000000UL or maybe the memory layout has changed.
Dumping the memory addresses for a bare bones C program shows a very
similar memory layout so I suspect the definitions are incorrect. Can
anybody confirm that and where to look?
Otherwise using 0x28000000UL for MAPPABLE_ADDRESS_RANGE_START will work.
Thanks