fix the UML compilation
PATCH 1/1 fix the UML compilation
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.
arch/um/os-Linux/process.c +2 -3
@@ -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 )
arch/um/os-Linux/skas/process.c +1 -0
@@ -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"
arch/um/sys-i386/unmap.c +4 -7
@@ -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 );
arch/um/sys-x86_64/unmap.c +4 -7
@@ -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 [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 5 lines · Adrian Bunk
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
Signature · 11 lines
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 [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 11 lines · Adrian Bunk
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
Adriancommit
cc0e04780f51553c88a2eb1a33f709346f6d0281
Quoted 9 lines
Author: Adrian Bunk <[email protected]> Date: Fri Jan 5 03:17:11 2007 +0100fix 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.
Quoted 61 lines
arch/um/sys-i386/unmap.c +4
-7@@ -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) intswitcheroo (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 ); }arch/um/sys-i386/unmap.c +0
-0return (0 );arch/um/sys-x86_64/unmap.c +4
-7@@ -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) intswitcheroo (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);
Signature · 17 lines
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 [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 19 lines · Blaisorblade
Quoted 18 lines · Adrian Bunk
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
Adriancommit
cc0e04780f51553c88a2eb1a33f709346f6d0281Author: Adrian Bunk <[email protected]> Date: Fri Jan 5 03:17:11 2007 +0100fix the UML compilation
Based on patches from Linus' tree.
Quoted 7 lines
Quoted 2 lines
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
arch/um/sys-i386/unmap.c +7 -4
@@ -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 );
arch/um/sys-x86_64/unmap.c +7 -4
@@ -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 [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel