| |
|
| #if defined(HAVE_MMAP) |
#if defined(HAVE_MMAP) |
| if (offset==0) { |
if (offset==0) { |
| Address image1; |
|
| image=alloc_mmap(dictsize); |
image=alloc_mmap(dictsize); |
| |
if (image != (Address)MAP_FAILED) { |
| |
Address image1; |
| debugp(stderr,"try mmap($%lx, $%lx, ..., MAP_FIXED|MAP_FILE, imagefile, 0); ", (long)image, (long)imagesize); |
debugp(stderr,"try mmap($%lx, $%lx, ..., MAP_FIXED|MAP_FILE, imagefile, 0); ", (long)image, (long)imagesize); |
| image1 = mmap(image, imagesize, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_FIXED|MAP_FILE|MAP_PRIVATE, fileno(file), 0); |
image1 = mmap(image, imagesize, PROT_EXEC|PROT_READ|PROT_WRITE, MAP_FIXED|MAP_FILE|MAP_PRIVATE, fileno(file), 0); |
| after_alloc(image1,dictsize); |
after_alloc(image1,dictsize); |
| if (image != (Address)MAP_FAILED && image1 == (Address)MAP_FAILED) |
if (image1 == (Address)MAP_FAILED) |
| goto read_image; |
goto read_image; |
| } |
} |
| |
} |
| #endif /* defined(HAVE_MMAP) */ |
#endif /* defined(HAVE_MMAP) */ |
| if (image == (Address)MAP_FAILED) { |
if (image == (Address)MAP_FAILED) { |
| image = my_alloc(dictsize+offset)+offset; |
image = my_alloc(dictsize+offset)+offset; |