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>