On Tue, Apr 04, 2006 at 04:48:20PM -0400, D. Bahi wrote:
> arch/um/os-Linux/sys-i386/registers.c: In function 'get_thread_regs':
> arch/um/os-Linux/sys-i386/registers.c:137: error: 'JB_PC' undeclared
> (first use in this function)
> arch/um/os-Linux/sys-i386/registers.c:137: error: (Each undeclared
> identifier is reported only once
> arch/um/os-Linux/sys-i386/registers.c:137: error: for each function it
> appears in.)
> arch/um/os-Linux/sys-i386/registers.c:138: error: 'JB_SP' undeclared
> (first use in this function)
> arch/um/os-Linux/sys-i386/registers.c:139: error: 'JB_BP' undeclared
> (first use in this function)
> make[4]: *** [arch/um/os-Linux/sys-i386/registers.o] Error 1
> make[3]: *** [arch/um/os-Linux/sys-i386] Error 2
> make[2]: *** [arch/um/os-Linux] Error 2
> make[1]: *** [build] Error 2

You need this patch:

# Newer libcs don't define the JB_* jmp_buf access macros.  If this is
# the case, we provide values ourselves.
Index: linux-2.6.15/arch/um/os-Linux/sys-i386/registers.c
===================================================================
--- linux-2.6.15.orig/arch/um/os-Linux/sys-i386/registers.c     2006-02-13 
13:00:06.000000000 -0500
+++ linux-2.6.15/arch/um/os-Linux/sys-i386/registers.c  2006-02-13 
13:04:07.000000000 -0500
@@ -130,6 +130,12 @@ void get_safe_registers(unsigned long *r
                       HOST_FP_SIZE * sizeof(unsigned long));
 }
 
+#ifndef JB_PC
+#define JB_PC 5
+#define JB_SP 4
+#define JB_BP 3
+#endif
+
 void get_thread_regs(union uml_pt_regs *uml_regs, void *buffer)
 {
        struct __jmp_buf_tag *jmpbuf = buffer;
Index: linux-2.6.15/arch/um/os-Linux/sys-x86_64/registers.c
===================================================================
--- linux-2.6.15.orig/arch/um/os-Linux/sys-x86_64/registers.c   2006-02-13 
13:00:06.000000000 -0500
+++ linux-2.6.15/arch/um/os-Linux/sys-x86_64/registers.c        2006-02-13 
13:04:07.000000000 -0500
@@ -78,6 +78,12 @@ void get_safe_registers(unsigned long *r
                       HOST_FP_SIZE * sizeof(unsigned long));
 }
 
+#ifndef JB_PC
+#define JB_PC 7
+#define JB_RSP 6
+#define JB_RBP 1
+#endif
+
 void get_thread_regs(union uml_pt_regs *uml_regs, void *buffer)
 {
        struct __jmp_buf_tag *jmpbuf = buffer;

This is a temporary fix (which I am using as well) - a real fix will
involve writing a private UML version of setjmp and longjmp.

                                Jeff


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to