diff options
Diffstat (limited to 'elf')
-rw-r--r-- | elf/Makefile | 2 | ||||
-rw-r--r-- | elf/dl-load.c | 8 |
2 files changed, 5 insertions, 5 deletions
diff --git a/elf/Makefile b/elf/Makefile index fc7ce789d1..da266b825c 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -39,7 +39,7 @@ distribute := $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \ dl-cache.h dl-hash.h soinit.c sofini.c ldd.bash.in \ genrtldtbl.awk atomicity.h dl-procinfo.h ldsodefs.h \ dl-librecon.h interp.c sln.c dl-dst.h hp-timing.h \ - do-lookup.h sprof.c gen-trusted-dirs.awk \ + do-lookup.h dl-lookupcfg.h sprof.c gen-trusted-dirs.awk \ testobj1.c testobj2.c testobj3.c testobj4.c testobj5.c \ testobj6.c testobj1_1.c failobj.c \ ldconfig.h ldconfig.c cache.c readlib.c readelflib.c \ diff --git a/elf/dl-load.c b/elf/dl-load.c index f5d91ba6c7..10698ce045 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -922,17 +922,17 @@ _dl_map_object_from_fd (const char *name, int fd, char *realname, - MAP_BASE_ADDR (l)); /* Remember which part of the address space this object uses. */ - l->l_map_start = map_segment (mappref, maplength, c->prot, 0, - c->mapoff); + l->l_map_start = (ElfW(Addr)) map_segment (mappref, maplength, c->prot, + 0, c->mapoff); l->l_map_end = l->l_map_start + maplength; - l->l_addr = (ElfW(Addr)) mapat - c->mapstart; + l->l_addr = l->l_map_start - c->mapstart; /* Change protection on the excess portion to disallow all access; the portions we do not remap later will be inaccessible as if unallocated. Then jump into the normal segment-mapping loop to handle the portion of the segment past the end of the file mapping. */ - __mprotect ((caddr_t) l->l_map_start, + __mprotect ((caddr_t) (l->l_addr + c->mapend), loadcmds[nloadcmds - 1].allocend - c->mapend, 0); |