Bonjour a tous,
je rencontre des problèmes lors de l'utilisation de MMAP sur SunOS. en effet celui-si contrairement a FreeBSD impose a l'utilisateur de préciser l'alignement, je ne vois pas comment faire, si quelqu'un a une idée, voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 int rd_section(int file_desc, Elf32_Ehdr *header) { Elf32_Shdr *section; void *buffer; struct stat mystat; if (fstat(file_desc, &mystat) != 0) return (-1); #if defined (__sun) buffer = mmap((caddr_t)0, mystat.st_size, PROT_READ, MAP_PRIVATE, file_desc, header->e_shoff - (header->e_shoff%getpagesize())); #else buffer = mmap((caddr_t)0, mystat.st_size, PROT_READ, MAP_FILE, file_desc, header->e_shoff); #endif if ((int)buffer == -1) { printf("errno : %d\n", errno ); perror("mmap"); return (-1); } section = buffer;
Partager