summaryrefslogtreecommitdiffstats
path: root/sys/kern/link_elf.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2013-09-09 18:11:59 +0000
committerjhb <jhb@FreeBSD.org>2013-09-09 18:11:59 +0000
commit04bb6e10cd2cbd0ee0de7fef3f81e88ebd43e6b4 (patch)
tree42d2ff2e91fcca16534848427856c6243db2126a /sys/kern/link_elf.c
parent2a48fed0b32ceb1567f3b7e33835bacfdf3e0971 (diff)
downloadFreeBSD-src-04bb6e10cd2cbd0ee0de7fef3f81e88ebd43e6b4.zip
FreeBSD-src-04bb6e10cd2cbd0ee0de7fef3f81e88ebd43e6b4.tar.gz
Add a mmap flag (MAP_32BIT) on 64-bit platforms to request that a mapping use
an address in the first 2GB of the process's address space. This flag should have the same semantics as the same flag on Linux. To facilitate this, add a new parameter to vm_map_find() that specifies an optional maximum virtual address. While here, fix several callers of vm_map_find() to use a VMFS_* constant for the findspace argument instead of TRUE and FALSE. Reviewed by: alc Approved by: re (kib)
Diffstat (limited to 'sys/kern/link_elf.c')
-rw-r--r--sys/kern/link_elf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c
index 6252a8d..631ba75 100644
--- a/sys/kern/link_elf.c
+++ b/sys/kern/link_elf.c
@@ -891,7 +891,7 @@ link_elf_load_file(linker_class_t cls, const char* filename,
}
ef->address = (caddr_t) vm_map_min(kernel_map);
error = vm_map_find(kernel_map, ef->object, 0,
- (vm_offset_t *) &ef->address, mapsize, 1,
+ (vm_offset_t *) &ef->address, mapsize, 0, VMFS_OPTIMAL_SPACE,
VM_PROT_ALL, VM_PROT_ALL, 0);
if (error != 0) {
vm_object_deallocate(ef->object);
OpenPOWER on IntegriCloud