]> git.ipfire.org Git - people/ms/linux.git/commitdiff
fix the UML compilation
authorAdrian Bunk <bunk@stusta.de>
Fri, 5 Jan 2007 02:17:11 +0000 (03:17 +0100)
committerAdrian Bunk <bunk@stusta.de>
Tue, 9 Jan 2007 02:23:30 +0000 (03:23 +0100)
Based on patches from Linus' tree.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
arch/um/os-Linux/process.c
arch/um/os-Linux/skas/process.c
arch/um/sys-i386/unmap.c
arch/um/sys-x86_64/unmap.c

index d261888f39c439493f1e2071ed4c98ba07b350ef..a0afd106f41e723425e85649eebe7cab6ca853fb 100644 (file)
@@ -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)
index bbf34cb91ce18cbea3e088aea56fe6d6edffdff4..215ef68e62108646791c5c010454603ed47157fb 100644 (file)
@@ -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"
index 1b0ad0e4adcd26d29f0b605266dfea0cfb1f19d2..8e55cd5d3d07230bb5d98d5a5113fd6b707cec8a 100644 (file)
@@ -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);
index f4a4bffd8a18bc5fb4f6aadce49fb466453d11bd..57c9286a701bcdc71df35740973674b8c603684e 100644 (file)
@@ -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);