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.