tag 479902 patch
thanks

The attached patch allows cryopid to build on my i386 system.  It
handles the removal of asm/page.h, the move of linux/user.h to
sys/user.h, and the renamings of user_i387_regs to user_fpregs_regs
and some registers.

-- 
Matt
diff -ru cryopid-0.5.9.1~/src/arch-i386/cp_r_i387.c 
cryopid-0.5.9.1/src/arch-i386/cp_r_i387.c
--- cryopid-0.5.9.1~/src/arch-i386/cp_r_i387.c  2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/cp_r_i387.c   2008-05-25 10:21:38.000000000 
-0700
@@ -1,4 +1,4 @@
-#include <linux/user.h>
+#include <sys/user.h>
 #include <sys/ptrace.h>
 #include <string.h>
 #include <errno.h>
@@ -8,8 +8,8 @@
 
 void read_chunk_i387_data(void *fptr, int action)
 {
-    struct user_i387_struct u;
-    read_bit(fptr, &u, sizeof(struct user_i387_struct));
+    struct user_fpregs_struct u;
+    read_bit(fptr, &u, sizeof(struct user_fpregs_struct));
 
     if (action & ACTION_PRINT)
        fprintf(stderr, "i387 state (not currently restored)");
diff -ru cryopid-0.5.9.1~/src/arch-i386/cp_r_regs.c 
cryopid-0.5.9.1/src/arch-i386/cp_r_regs.c
--- cryopid-0.5.9.1~/src/arch-i386/cp_r_regs.c  2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/cp_r_regs.c   2008-05-25 10:17:00.000000000 
-0700
@@ -1,4 +1,4 @@
-#include <linux/user.h>
+#include <sys/user.h>
 #include <linux/unistd.h>
 #include <asm/ldt.h>
 #include <sys/mman.h>
@@ -28,8 +28,8 @@
     *(long*)r->esp = r->eflags;
     
     /* set up gs */
-    if (!emulate_tls && r->gs != 0) {
-       *cp++=0x66;*cp++=0xb8; *(short*)(cp) = r->gs; cp+=2; /* mov foo, %eax  
*/
+    if (!emulate_tls && r->xgs != 0) {
+       *cp++=0x66;*cp++=0xb8; *(short*)(cp) = r->xgs; cp+=2; /* mov foo, %eax  
*/
        *cp++=0x8e;*cp++=0xe8; /* mov %eax, %gs */
     }
 
@@ -90,8 +90,8 @@
     /* jump back to where we were. */
     *cp++=0xea;
     *(unsigned long*)(cp) = r->eip; cp+= 4;
-    asm("mov %%cs,%w0": "=q"(r->cs)); /* ensure we use the right CS for the 
current kernel */
-    *(unsigned short*)(cp) = r->cs; cp+= 2; /* jmp cs:foo */
+    asm("mov %%cs,%w0": "=q"(r->xcs)); /* ensure we use the right CS for the 
current kernel */
+    *(unsigned short*)(cp) = r->xcs; cp+= 2; /* jmp cs:foo */
     syscall_check(
        (int)mprotect((void*)TRAMPOLINE_ADDR, PAGE_SIZE, PROT_READ|PROT_EXEC),
            0, "mmap");
@@ -111,7 +111,7 @@
        fprintf(stderr, "\tesi: 0x%08lx edi: 0x%08lx ebp: 0x%08lx esp: 
0x%08lx\n",
                user.regs.esi, user.regs.edi, user.regs.ebp, user.regs.esp);
        fprintf(stderr, "\t ds: 0x%08x  es: 0x%08x  fs: 0x%08x  gs: 0x%08x\n",
-               user.regs.ds, user.regs.es, user.regs.fs, user.regs.gs);
+               user.regs.xds, user.regs.xes, user.regs.xfs, user.regs.xgs);
        fprintf(stderr, "\teip: 0x%08lx eflags: 0x%08lx",
                user.regs.eip, user.regs.eflags);
     }
diff -ru cryopid-0.5.9.1~/src/arch-i386/cp_r_tls.c 
cryopid-0.5.9.1/src/arch-i386/cp_r_tls.c
--- cryopid-0.5.9.1~/src/arch-i386/cp_r_tls.c   2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/cp_r_tls.c    2008-05-25 10:18:15.000000000 
-0700
@@ -1,4 +1,4 @@
-#include <linux/user.h>
+#include <sys/user.h>
 #include <linux/unistd.h>
 #include <signal.h>
 #include <asm/ldt.h>
diff -ru cryopid-0.5.9.1~/src/arch-i386/cp_w_i387.c 
cryopid-0.5.9.1/src/arch-i386/cp_w_i387.c
--- cryopid-0.5.9.1~/src/arch-i386/cp_w_i387.c  2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/cp_w_i387.c   2008-05-25 10:32:38.000000000 
-0700
@@ -1,4 +1,4 @@
-#include <linux/user.h>
+#include <sys/user.h>
 #include <sys/ptrace.h>
 #include <string.h>
 #include <errno.h>
@@ -8,15 +8,15 @@
 
 void write_chunk_i387_data(void *fptr, struct cp_i387_data *data)
 {
-    write_bit(fptr, data->i387_data, sizeof(struct user_i387_struct));
+    write_bit(fptr, data->i387_data, sizeof(struct user_fpregs_struct));
 }
 
 void fetch_chunks_i387_data(pid_t pid, int flags, struct list *l)
 {
     struct cp_chunk *chunk;
-    struct user_i387_struct *i387_data;
+    struct user_fpregs_struct *i387_data;
 
-    i387_data = xmalloc(sizeof(struct user_i387_struct));
+    i387_data = xmalloc(sizeof(struct user_fpregs_struct));
     if (ptrace(PTRACE_GETFPREGS, pid, 0, i387_data) == -1) {
        bail("ptrace(PTRACE_PEEKDATA): %s", strerror(errno));
     }
diff -ru cryopid-0.5.9.1~/src/arch-i386/cp_w_regs.c 
cryopid-0.5.9.1/src/arch-i386/cp_w_regs.c
--- cryopid-0.5.9.1~/src/arch-i386/cp_w_regs.c  2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/cp_w_regs.c   2008-05-25 10:27:35.000000000 
-0700
@@ -1,4 +1,4 @@
-#include <linux/user.h>
+#include <sys/user.h>
 #include <linux/unistd.h>
 #include <asm/ldt.h>
 #include <sys/mman.h>
diff -ru cryopid-0.5.9.1~/src/arch-i386/cp_w_tls.c 
cryopid-0.5.9.1/src/arch-i386/cp_w_tls.c
--- cryopid-0.5.9.1~/src/arch-i386/cp_w_tls.c   2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/cp_w_tls.c    2008-05-25 10:28:51.000000000 
-0700
@@ -1,4 +1,4 @@
-#include <linux/user.h>
+#include <sys/user.h>
 #include <linux/unistd.h>
 #include <signal.h>
 #include <asm/ldt.h>
diff -ru cryopid-0.5.9.1~/src/arch-i386/elfwriter.c 
cryopid-0.5.9.1/src/arch-i386/elfwriter.c
--- cryopid-0.5.9.1~/src/arch-i386/elfwriter.c  2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/elfwriter.c   2008-05-25 10:26:16.000000000 
-0700
@@ -1,5 +1,5 @@
 #include <elf.h>
-#include <asm/page.h>
+#include <sys/user.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
diff -ru cryopid-0.5.9.1~/src/arch-i386/process.c 
cryopid-0.5.9.1/src/arch-i386/process.c
--- cryopid-0.5.9.1~/src/arch-i386/process.c    2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/process.c     2008-05-25 10:23:40.000000000 
-0700
@@ -10,8 +10,7 @@
 #include <assert.h>
 #include <netinet/tcp.h>
 #include <linux/net.h>
-#include <asm/page.h>
-#include <asm/user.h>
+#include <sys/user.h>
 
 #include "linux/tcpcp.h"
 
diff -ru cryopid-0.5.9.1~/src/arch-i386/stub.h 
cryopid-0.5.9.1/src/arch-i386/stub.h
--- cryopid-0.5.9.1~/src/arch-i386/stub.h       2008-05-25 10:08:50.000000000 
-0700
+++ cryopid-0.5.9.1/src/arch-i386/stub.h        2008-05-25 10:36:11.000000000 
-0700
@@ -2,7 +2,7 @@
 #define _STUB_H_
 
 #include <sys/mman.h>
-#include <asm/page.h>
+#include <sys/user.h>
 #include "cryopid.h"
 
 static inline void jump_to_trampoline()
diff -ru cryopid-0.5.9.1~/src/common.c cryopid-0.5.9.1/src/common.c
--- cryopid-0.5.9.1~/src/common.c       2008-05-25 10:08:50.000000000 -0700
+++ cryopid-0.5.9.1/src/common.c        2008-05-25 10:38:36.000000000 -0700
@@ -6,7 +6,7 @@
 #include <string.h>
 #include <unistd.h>
 #include <sys/mman.h>
-#include <asm/page.h>
+#include <sys/user.h>
 
 #include "cryopid.h"
 
diff -ru cryopid-0.5.9.1~/src/cp_w_vma.c cryopid-0.5.9.1/src/cp_w_vma.c
--- cryopid-0.5.9.1~/src/cp_w_vma.c     2008-05-25 10:08:50.000000000 -0700
+++ cryopid-0.5.9.1/src/cp_w_vma.c      2008-05-25 10:34:23.000000000 -0700
@@ -5,7 +5,7 @@
 #include <fcntl.h>
 #include <stdio.h>
 #include <unistd.h>
-#include <asm/page.h>
+#include <sys/user.h>
 
 #include "cpimage.h"
 #include "process.h"

Reply via email to