Date: Fri, 13 Apr 2012 00:25:32 +0530 From: Maninya M <maninya@gmail.com> To: freebsd-hackers@freebsd.org Subject: mmap segmentation fault Message-ID: <CAC46K3=LbSYFqCPSXO%2BwhZK6mpTwW9YQXWDqq5UwBzPQGAFeVg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hello,
I want to allocate memory at a specified address location 'a' of size 'b'.
I wrote code below to do it, but I'm getting a seg fault. How can I solve
this?
How can I get the allocated memory at the required address?
int main()
{
unsigned int *addr,*newaddr;
unsigned long a=134516736,a1;
unsigned long b=3895296;
unsigned long flags =6;
a1=(a&0xffff0000);
printf("%x\n",(void *)a);
newaddr=(unsigned int *)mmap((void *)a,b,6,MAP_ANONYMOUS|MAP_FIXED,-1,0);
if(newaddr==MAP_FAILED)
printf("mmap failed");
else
printf("sucess %x",newaddr);
return 0;
}
Output is
8049000
Segmentation fault
--
Maninya
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAC46K3=LbSYFqCPSXO%2BwhZK6mpTwW9YQXWDqq5UwBzPQGAFeVg>
