OSDN Git Service

R13 is reserved for small data area pointer by SVR4 PPC ABI
authormalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 26 Jan 2009 18:21:53 +0000 (18:21 +0000)
committermalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 26 Jan 2009 18:21:53 +0000 (18:21 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6450 c046a42c-6fe2-441c-8c8c-71466251a162

tcg/ppc/tcg-target.c

index 40cf01c..60563f7 100644 (file)
@@ -109,7 +109,9 @@ static const int tcg_target_reg_alloc_order[] = {
     TCG_REG_R11,
 #endif
     TCG_REG_R12,
+#ifndef __linux__
     TCG_REG_R13,
+#endif
     TCG_REG_R0,
     TCG_REG_R1,
     TCG_REG_R2,
@@ -1528,6 +1530,9 @@ void tcg_target_init(TCGContext *s)
 #ifndef __APPLE__
     tcg_regset_set_reg(s->reserved_regs, TCG_REG_R2);
 #endif
+#ifdef __linux__
+    tcg_regset_set_reg(s->reserved_regs, TCG_REG_R13);
+#endif
 
     tcg_add_target_add_op_defs(ppc_op_defs);
 }