l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PATCH: add ctr and lr to clobbed registers.


From: Johan Rydberg
Subject: PATCH: add ctr and lr to clobbed registers.
Date: Thu, 16 Oct 2003 11:38:58 +0200

The current PowerPC syscalls sometimes generate invalid code.  This
patch fixes it (I hope so anyway.  It has fixed all of my problems for 
now).

Also included is the correct relocation code for PowerPC.

2003-10-16  Johan Rydberg  <address@hidden>

        * powerpc/l4/bits/stubs-init.h (__L4_SETUP_SYSCALL): Do correct
        relocation (that means none).

        * powerpc/l4/bits/syscall.h (__L4_PPC_XCLOB): Add ctr and lr.

Index: stubs-init.h
===================================================================
RCS file: /cvsroot/hurd/hurd-l4/libl4/powerpc/l4/bits/stubs-init.h,v
retrieving revision 1.1
diff -u -p -r1.1 stubs-init.h
--- stubs-init.h        22 Sep 2003 20:57:58 -0000      1.1
+++ stubs-init.h        16 Oct 2003 09:33:20 -0000
@@ -26,7 +26,7 @@
 #define __L4_SETUP_SYSCALL(name)                                       \
 extern void (*__l4_ ## name) (void);                                   \
   __l4_ ## name = (void (*) (void))                                    \
-    (((l4_word_t) l4_kip ()) + l4_kip ()->name)
+    ((l4_word_t) l4_kip ()->name)
 
 
 /* Initialize the syscall stubs.  */
Index: syscall.h
===================================================================
RCS file: /cvsroot/hurd/hurd-l4/libl4/powerpc/l4/bits/syscall.h,v
retrieving revision 1.4
diff -u -p -r1.4 syscall.h
--- syscall.h   25 Sep 2003 13:35:44 -0000      1.4
+++ syscall.h   16 Oct 2003 09:33:21 -0000
@@ -35,7 +35,8 @@
    the IPC system calls.  */
 #define __L4_PPC_XCLOB "r18", "r19",                                   \
   "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29",        
\
-  "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", "xer", "memory"
+  "cr0", "cr1", "cr2", "cr3", "cr4", "cr5", "cr6", "cr7", "xer",        \
+  "ctr", "lr", "memory"
 #define __L4_PPC_CLOB "r0", "r11", "r12", "r13", "r14", "r15", "r16",  \
   "r17", __L4_PPC_XCLOB
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]