Subject: re: kern/34010: undefined reference to `uvm_mremap' in LKM compat_linux.o.
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: matthew green <mrg@eterna.com.au>
List: netbsd-bugs
Date: 07/17/2006 06:04:11
> -file uvm/uvm_mremap.c compat_linux
> +file uvm/uvm_mremap.c
i'd like to explain the intent of the current code
so that an lkm/configure guru can decide what would be a good fix.
- its primary purpose is a backend of linux mremap system call.
- however, what uvm_mremap.c implements is more than linux mremap.
eg. it's intended to support inter-vm_map move.
- i made it compat_linux dependent because no one else uses it currently.
- otoh, i put it in uvm/ because its functionality can be useful for others.
(and i was thinking about introducing netbsd-native version of
the system call. it makes significant performance difference for
some applications, especially for ones written for linux. :-)
given this, i would make 2 changes. until we introduce our own
mremap(2), mark the above as "compat_linux | lkm" so that it is
available for LKM's. then, i think we should have mremap(2) and
then we can just remove the conditional in uvm/files.uvm entirely.