All of lore.kernel.org
 help / color / mirror / Atom feed
* [uml-devel] [FYI: 2.6.16 patch] fix the UML compilation
@ 2007-01-05 23:52 Adrian Bunk
  2007-01-09 17:55 ` Jeff Dike
  2007-01-09 23:43 ` Blaisorblade
  0 siblings, 2 replies; 4+ messages in thread
From: Adrian Bunk @ 2007-01-05 23:52 UTC (permalink / raw)
  To: jdike; +Cc: user-mode-linux-devel

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 <bunk@stusta.de>
Date:   Fri Jan 5 03:17:11 2007 +0100

    fix the UML compilation
    
    Based on patches from Linus' tree.
    
    Signed-off-by: Adrian Bunk <bunk@stusta.de>

diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c
index d261888..a0afd10 100644
--- a/arch/um/os-Linux/process.c
+++ b/arch/um/os-Linux/process.c
@@ -11,6 +11,7 @@
 #include <linux/unistd.h>
 #include <sys/mman.h>
 #include <sys/wait.h>
+#include <sys/syscall.h>
 #include "ptrace_user.h"
 #include "os.h"
 #include "user.h"
@@ -139,11 +140,9 @@ void os_usr1_process(int pid)
  * syscalls, and also breaks with clone(), which does not unshare the TLS.
  */
 
-inline _syscall0(pid_t, getpid)
-
 int os_getpid(void)
 {
-	return(getpid());
+	return(syscall(__NR_getpid));
 }
 
 int os_getpgrp(void)
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
index bbf34cb..215ef68 100644
--- a/arch/um/os-Linux/skas/process.c
+++ b/arch/um/os-Linux/skas/process.c
@@ -17,6 +17,7 @@
 #include <sys/time.h>
 #include <asm/unistd.h>
 #include <asm/types.h>
+#include <asm/page.h>
 #include "user.h"
 #include "sysdep/ptrace.h"
 #include "user_util.h"
diff --git a/arch/um/sys-i386/unmap.c b/arch/um/sys-i386/unmap.c
index 1b0ad0e..8e55cd5 100644
--- a/arch/um/sys-i386/unmap.c
+++ b/arch/um/sys-i386/unmap.c
@@ -5,20 +5,17 @@
 
 #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(munmap(to, size) < 0){
+	if (syscall(__NR_munmap, to, size) < 0){
 		return(-1);
 	}
-	if(mmap2(to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1 ){
+	if (syscall(__NR_mmap2, to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1 ){
 		return(-1);
 	}
-	if(munmap(from, size) < 0){
+	if (syscall(__NR_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 f4a4bff..57c9286 100644
--- a/arch/um/sys-x86_64/unmap.c
+++ b/arch/um/sys-x86_64/unmap.c
@@ -5,20 +5,17 @@
 
 #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(munmap(to, size) < 0){
+	if (syscall(__NR_munmap, to, size) < 0){
 		return(-1);
 	}
-	if(mmap(to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1){
+	if (syscall(__NR_mmap, to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1){
 		return(-1);
 	}
-	if(munmap(from, size) < 0){
+	if (syscall(__NR_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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [uml-devel] [FYI: 2.6.16 patch] fix the UML compilation
  2007-01-05 23:52 [uml-devel] [FYI: 2.6.16 patch] fix the UML compilation Adrian Bunk
@ 2007-01-09 17:55 ` Jeff Dike
  2007-01-09 23:43 ` Blaisorblade
  1 sibling, 0 replies; 4+ messages in thread
From: Jeff Dike @ 2007-01-09 17:55 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: user-mode-linux-devel

On Sat, Jan 06, 2007 at 12:52:52AM +0100, 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.

With this patch, if it builds, it's good.

				Jeff

-- 
Work email - jdike at linux dot intel dot com

-------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [uml-devel] [FYI: 2.6.16 patch] fix the UML compilation
  2007-01-05 23:52 [uml-devel] [FYI: 2.6.16 patch] fix the UML compilation Adrian Bunk
  2007-01-09 17:55 ` Jeff Dike
@ 2007-01-09 23:43 ` Blaisorblade
  2007-01-14 14:57   ` Adrian Bunk
  1 sibling, 1 reply; 4+ messages in thread
From: Blaisorblade @ 2007-01-09 23:43 UTC (permalink / raw)
  To: user-mode-linux-devel; +Cc: jdike, Adrian Bunk

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 <bunk@stusta.de>
> Date:   Fri Jan 5 03:17:11 2007 +0100
>
>     fix the UML compilation
>
>     Based on patches from Linus' tree.
>
>     Signed-off-by: Adrian Bunk <bunk@stusta.de>
>
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.

> diff --git a/arch/um/sys-i386/unmap.c b/arch/um/sys-i386/unmap.c
> index 1b0ad0e..8e55cd5 100644
> --- a/arch/um/sys-i386/unmap.c
> +++ b/arch/um/sys-i386/unmap.c
> @@ -5,20 +5,17 @@
>
>  #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(munmap(to, size) < 0){
> +	if (syscall(__NR_munmap, to, size) < 0){
>  		return(-1);
>  	}
> -	if(mmap2(to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1 ){
> +	if (syscall(__NR_mmap2, to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) ==
> (void*) -1 ){ return(-1);
>  	}
> -	if(munmap(from, size) < 0){
> +	if (syscall(__NR_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 f4a4bff..57c9286 100644
> --- a/arch/um/sys-x86_64/unmap.c
> +++ b/arch/um/sys-x86_64/unmap.c
> @@ -5,20 +5,17 @@
>
>  #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(munmap(to, size) < 0){
> +	if (syscall(__NR_munmap, to, size) < 0){
>  		return(-1);
>  	}
> -	if(mmap(to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) == (void*) -1){
> +	if (syscall(__NR_mmap, to, size, prot, MAP_SHARED | MAP_FIXED, fd, 0) ==
> (void*) -1){ return(-1);
>  	}
> -	if(munmap(from, size) < 0){
> +	if (syscall(__NR_munmap, from, size) < 0){
>  		return(-1);
>  	}
>  	return(0);
>

-- 
Inform me of my mistakes, so I can add them to my list!
Paolo Giarrusso, aka Blaisorblade
http://www.user-mode-linux.org/~blaisorblade

Chiacchiera con i tuoi amici in tempo reale! 
 http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com 


-------------------------------------------------------------------------
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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [uml-devel] [FYI: 2.6.16 patch] fix the UML compilation
  2007-01-09 23:43 ` Blaisorblade
@ 2007-01-14 14:57   ` Adrian Bunk
  0 siblings, 0 replies; 4+ messages in thread
From: Adrian Bunk @ 2007-01-14 14:57 UTC (permalink / raw)
  To: Blaisorblade; +Cc: jdike, user-mode-linux-devel

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 <bunk@stusta.de>
> > Date:   Fri Jan 5 03:17:11 2007 +0100
> >
> >     fix the UML compilation
> >
> >     Based on patches from Linus' tree.
> >
> >     Signed-off-by: Adrian Bunk <bunk@stusta.de>
> >
> 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 <blaisorblade@yahoo.it>
Date:   Sun Jan 14 15:42:49 2007 +0100

    UML: fix the MODE_TT compilation
    
    Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
    Signed-off-by: Adrian Bunk <bunk@stusta.de>

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

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-01-14 14:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-05 23:52 [uml-devel] [FYI: 2.6.16 patch] fix the UML compilation Adrian Bunk
2007-01-09 17:55 ` Jeff Dike
2007-01-09 23:43 ` Blaisorblade
2007-01-14 14:57   ` Adrian Bunk

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.