Re: shared memory load address and gcl
Greetings, and thanks so much for your reply!
I think my conceptual question is now clearer. My experience with
linux tells me that sbrk'ed memory cannot overrun the address used for
shared memory maps. But on asdfasdf, there appears at first blush no
such problem. Can this possibly be right? Should I ignore this
apparent ceiling to the lisp heap on bsd?
yy.c:
=============================================================================
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/resource.h>
int main() {
struct rlimit rl;
void *p,*p1,*p2;
getrlimit(RLIMIT_DATA, &rl);
p=(void *)sbrk(0);
p1=(void *)sbrk(0x1000000);
p2=(void *)sbrk(0x1000000);
printf("%ld %ld %p %p %p\n",rl.rlim_cur,rl.rlim_max,p,p1,p2);
memset(p1,0,0x1000000);
memset(p2,0,0x1000000);
return 0;
}
=============================================================================
./yy
34359738368 34359738368 0x600a88 0x600a88 0x1600a88
echo $?
0
ldd ./yy
libc.so.0.1 => /lib/libc.so.0.1 (0x0000000801256000)
/lib/ld-kfreebsd-x86-64.so.1 => /lib64/ld-kfreebsd-x86-64.so.1 (0x0000000001021000)
Thanks again!
--
Camm Maguire camm@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
Reply to: