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;