diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 2f0dbc27a9..b5a5dd0983 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -117,7 +117,7 @@ elf_machine_runtime_setup (struct link_map *l, struct r_scope_elem *scope[], /* Mask identifying addresses reserved for the user program, where the dynamic linker should not map anything. */ -#define ELF_MACHINE_USER_ADDRESS_MASK 0xf0000000UL +#define ELF_MACHINE_USER_ADDRESS_MASK 0xf8000000UL /* Initial entry point code for the dynamic linker. The C function `_dl_start' is the real entry point; diff --git a/sysdeps/mach/hurd/dl-sysdep.c b/sysdeps/mach/hurd/dl-sysdep.c index 968a58f668..b1a151abc1 100644 --- a/sysdeps/mach/hurd/dl-sysdep.c +++ b/sysdeps/mach/hurd/dl-sysdep.c @@ -476,7 +476,7 @@ __mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) mapaddr = (vm_address_t) addr; err = __vm_map (__mach_task_self (), - &mapaddr, (vm_size_t) len, ELF_MACHINE_USER_ADDRESS_MASK, + &mapaddr, (vm_size_t) len, 0, !(flags & MAP_FIXED), memobj_rd, (vm_offset_t) offset, @@ -491,7 +491,7 @@ __mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) if (! err) err = __vm_map (__mach_task_self (), &mapaddr, (vm_size_t) len, - ELF_MACHINE_USER_ADDRESS_MASK, + 0, !(flags & MAP_FIXED), memobj_rd, (vm_offset_t) offset, flags & (MAP_COPY|MAP_PRIVATE),