[BACK]Return to rtld.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / libexec / ld.aout_so

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/libexec/ld.aout_so/Attic/rtld.c between version 1.15 and 1.16

version 1.15, 1994/02/15 22:51:23 version 1.16, 1994/03/28 02:11:53
Line 42 
Line 42 
 #include <sys/mman.h>  #include <sys/mman.h>
 #ifndef BSD  #ifndef BSD
 #define MAP_COPY        MAP_PRIVATE  #define MAP_COPY        MAP_PRIVATE
 #define MAP_FILE        0  
 #define MAP_ANON        0  #define MAP_ANON        0
 #endif  #endif
 #include <fcntl.h>  #include <fcntl.h>
Line 476  again:
Line 475  again:
   
         if ((addr = mmap(0, hdr.a_text + hdr.a_data,          if ((addr = mmap(0, hdr.a_text + hdr.a_data,
                                 PROT_READ|PROT_EXEC,                                  PROT_READ|PROT_EXEC,
                                 MAP_FILE|MAP_COPY, fd, 0)) == (caddr_t)-1) {                                  MAP_COPY, fd, 0)) == (caddr_t)-1) {
                 (void)close(fd);                  (void)close(fd);
                 return NULL;                  return NULL;
         }          }
   
         if (mmap(addr + hdr.a_text, hdr.a_data,          if (mmap(addr + hdr.a_text, hdr.a_data,
                                 PROT_READ|PROT_WRITE|PROT_EXEC,                                  PROT_READ|PROT_WRITE|PROT_EXEC,
                                 MAP_FILE|MAP_FIXED|MAP_COPY,                                  MAP_FIXED|MAP_COPY,
                                 fd, hdr.a_text) == (caddr_t)-1) {                                  fd, hdr.a_text) == (caddr_t)-1) {
                 (void)close(fd);                  (void)close(fd);
                 return NULL;                  return NULL;
Line 947  maphints()
Line 946  maphints()
         }          }
   
         msize = PAGSIZ;          msize = PAGSIZ;
         addr = mmap(0, msize, PROT_READ, MAP_FILE|MAP_COPY, fd, 0);          addr = mmap(0, msize, PROT_READ, MAP_COPY, fd, 0);
   
         if (addr == (caddr_t)-1) {          if (addr == (caddr_t)-1) {
                 hheader = (struct hints_header *)-1;                  hheader = (struct hints_header *)-1;
Line 969  maphints()
Line 968  maphints()
   
         if (hheader->hh_ehints > msize) {          if (hheader->hh_ehints > msize) {
                 if (mmap(addr+msize, hheader->hh_ehints - msize,                  if (mmap(addr+msize, hheader->hh_ehints - msize,
                                 PROT_READ, MAP_FILE|MAP_COPY|MAP_FIXED,                                  PROT_READ, MAP_COPY|MAP_FIXED,
                                 fd, msize) != (caddr_t)(addr+msize)) {                                  fd, msize) != (caddr_t)(addr+msize)) {
   
                         munmap((caddr_t)hheader, msize);                          munmap((caddr_t)hheader, msize);

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.16

CVSweb <webmaster@jp.NetBSD.org>