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

Reply via email to