void *contents;
void *result;
_dl_sysdep_read_whole_file (const char *file, size_t *sizep, int prot){  void *contents;  struct stat st;  int fd = __open (file, O_RDONLY);  if (fd < 0)    return NULL;  if (__fstat (fd, &st) < 0)    result = NULL;  else    {      /* Map a copy of the file contents.  */      result = __mmap (0, st.st_size, prot,#ifdef MAP_COPY		       MAP_COPY#else		       MAP_PRIVATE#endif#ifdef MAP_FILE		       | MAP_FILE#endif		       , fd, 0);      if (result == (void *) -1)	result = NULL;      else	*sizep = st.st_size;    }  __close (fd);  return result;}