On Wed, Jan 10, 2007 at 12:43:18AM +0100, Blaisorblade wrote: > On Saturday 06 January 2007 00:52, Adrian Bunk wrote: > > FYI: > > I've applied the patch below to the 2.6.16 tree to fix the UML > > compilation on systems with recent kernel headers. > > > > Please complain if anything is wrong with it. > > > > cu > > Adrian > > > > > > commit cc0e04780f51553c88a2eb1a33f709346f6d0281 > > Author: Adrian Bunk <[EMAIL PROTECTED]> > > Date: Fri Jan 5 03:17:11 2007 +0100 > > > > fix the UML compilation > > > > Based on patches from Linus' tree. > > > > Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]> > > > I reverted the below two hunks when they were applied on git tree, they're > wrong (even because this code is compiled using our headers, not using host > ones). In fact both in git HEAD and in 2.6.19 there is the correct code > version. >...
Thanks, I missed this because in 2.6.16 it only affects the MODE_TT compilation (the tls.c's aren't in 2.6.16). I've now additionally committed the patch below. cu Adrian commit 12f5aa0834c6f2d55382daed856af509cd54b9f6 Author: Paolo 'Blaisorblade' Giarrusso <[EMAIL PROTECTED]> Date: Sun Jan 14 15:42:49 2007 +0100 UML: fix the MODE_TT compilation Signed-off-by: Paolo 'Blaisorblade' Giarrusso <[EMAIL PROTECTED]> Signed-off-by: Adrian Bunk <[EMAIL PROTECTED]> diff --git a/arch/um/sys-i386/unmap.c b/arch/um/sys-i386/unmap.c index 8e55cd5..1b0ad0e 100644 --- a/arch/um/sys-i386/unmap.c +++ b/arch/um/sys-i386/unmap.c @@ -5,17 +5,20 @@ #include <linux/mman.h> #include <asm/unistd.h> -#include <sys/syscall.h> +static int errno; + +static inline _syscall2(int,munmap,void *,start,size_t,len) +static inline _syscall6(void *,mmap2,void *,addr,size_t,len,int,prot,int,flags,int,fd,off_t,offset) int switcheroo(int fd, int prot, void *from, void *to, int size) { - if (syscall(__NR_munmap, to, size) < 0){ + if(munmap(to, size) < 0){ return(-1); } - if (syscall(__NR_mmap2, to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1 ){ + if(mmap2(to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1 ){ return(-1); } - if (syscall(__NR_munmap, from, size) < 0){ + if(munmap(from, size) < 0){ return(-1); } return(0); diff --git a/arch/um/sys-x86_64/unmap.c b/arch/um/sys-x86_64/unmap.c index 57c9286..f4a4bff 100644 --- a/arch/um/sys-x86_64/unmap.c +++ b/arch/um/sys-x86_64/unmap.c @@ -5,17 +5,20 @@ #include <linux/mman.h> #include <asm/unistd.h> -#include <sys/syscall.h> +static int errno; + +static inline _syscall2(int,munmap,void *,start,size_t,len) +static inline _syscall6(void *,mmap,void *,addr,size_t,len,int,prot,int,flags,int,fd,off_t,offset) int switcheroo(int fd, int prot, void *from, void *to, int size) { - if (syscall(__NR_munmap, to, size) < 0){ + if(munmap(to, size) < 0){ return(-1); } - if (syscall(__NR_mmap, to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1){ + if(mmap(to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1){ return(-1); } - if (syscall(__NR_munmap, from, size) < 0){ + if(munmap(from, size) < 0){ return(-1); } return(0); ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ User-mode-linux-devel mailing list User-mode-linux-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel