[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 224/437: Correct mips o32 abi that was broken when addin
From: |
Andy Wingo |
Subject: |
[Guile-commits] 224/437: Correct mips o32 abi that was broken when adding n32 abi support. |
Date: |
Mon, 2 Jul 2018 05:14:25 -0400 (EDT) |
wingo pushed a commit to branch lightning
in repository guile.
commit 8b28150303ac87d8662d7070c42fd6c87041573c
Author: pcpa <address@hidden>
Date: Tue Jun 25 12:21:07 2013 -0300
Correct mips o32 abi that was broken when adding n32 abi support.
* lib/jit_mips.c: Correct cut&paste error that caused wrong
stack offset calculation for double arguments in stack in
the o32 abi.
Correct typo in the __LITTLE_ENDIAN macro name, that came
from cut&paste error in the original typo in lib/jit_ppc.c.
* lib/jit_ia64.c, lib/jit_ppc.c: Correct typo in the
__LITTLE_ENDIAN macro name.
---
ChangeLog | 11 +++++++++++
lib/jit_ia64.c | 14 +++++++-------
lib/jit_mips.c | 38 +++++++++++++++++++-------------------
lib/jit_ppc.c | 2 +-
4 files changed, 38 insertions(+), 27 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 81fc943..8bd544a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2013-06-25 Paulo Andrade <address@hidden>
+
+ * lib/jit_mips.c: Correct cut&paste error that caused wrong
+ stack offset calculation for double arguments in stack in
+ the o32 abi.
+ Correct typo in the __LITTLE_ENDIAN macro name, that came
+ from cut&paste error in the original typo in lib/jit_ppc.c.
+
+ * lib/jit_ia64.c, lib/jit_ppc.c: Correct typo in the
+ __LITTLE_ENDIAN macro name.
+
2013-06-22 Paulo Andrade <address@hidden>
* check/lightning.c, configure.ac, include/lightning.h,
diff --git a/lib/jit_ia64.c b/lib/jit_ia64.c
index a4c8764..71142a2 100644
--- a/lib/jit_ia64.c
+++ b/lib/jit_ia64.c
@@ -405,7 +405,7 @@ _jit_getarg_c(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
jit_extr_c(u, _R32 + v->u.w);
}
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_c(u, JIT_FP, v->u.w);
#else
jit_ldxi_c(u, JIT_FP,
@@ -420,7 +420,7 @@ _jit_getarg_uc(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
if (v->u.w < 8)
jit_extr_uc(u, _R32 + v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_uc(u, JIT_FP, v->u.w);
#else
jit_ldxi_uc(u, JIT_FP,
@@ -435,7 +435,7 @@ _jit_getarg_s(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
if (v->u.w < 8)
jit_extr_s(u, _R32 + v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_s(u, JIT_FP, v->u.w);
#else
jit_ldxi_s(u, JIT_FP,
@@ -450,7 +450,7 @@ _jit_getarg_us(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
if (v->u.w < 8)
jit_extr_us(u, _R32 + v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_us(u, JIT_FP, v->u.w);
#else
jit_ldxi_us(u, JIT_FP,
@@ -465,7 +465,7 @@ _jit_getarg_i(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
if (v->u.w < 8)
jit_extr_i(u, _R32 + v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_i(u, JIT_FP, v->u.w);
#else
jit_ldxi_i(u, JIT_FP,
@@ -480,7 +480,7 @@ _jit_getarg_ui(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
if (v->u.w < 8)
jit_extr_ui(u, _R32 + v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_ui(u, JIT_FP, v->u.w);
#else
jit_ldxi_ui(u, JIT_FP,
@@ -504,7 +504,7 @@ _jit_getarg_f(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
if (v->u.w < 8)
jit_movr_f(u, _F8 + v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_f(u, JIT_FP, v->u.w);
#else
jit_ldxi_f(u, JIT_FP,
diff --git a/lib/jit_mips.c b/lib/jit_mips.c
index 1bdf28a..c2ae781 100644
--- a/lib/jit_mips.c
+++ b/lib/jit_mips.c
@@ -286,7 +286,7 @@ _jit_arg(jit_state_t *_jit)
_jitc->function->self.size += STACK_SLOT;
}
#else
- offset = (_jitc->function->self.size - stack_framesize) >> 2;
+ offset = (_jitc->function->self.size - stack_framesize) >> STACK_SHIFT;
_jitc->function->self.argi = 1;
if (offset >= 4)
offset = _jitc->function->self.size;
@@ -314,7 +314,7 @@ _jit_arg_f(jit_state_t *_jit)
_jitc->function->self.size += STACK_SLOT;
}
#else
- offset = (_jitc->function->self.size - stack_framesize) >> 2;
+ offset = (_jitc->function->self.size - stack_framesize) >> STACK_SHIFT;
if (offset < 4) {
if (!_jitc->function->self.argi) {
if (offset == 0)
@@ -356,14 +356,14 @@ _jit_arg_d(jit_state_t *_jit)
_jitc->function->self.size += 4;
_jitc->function->self.argi = 1;
}
- offset = (_jitc->function->self.size - stack_framesize) >> 2;
+ offset = (_jitc->function->self.size - stack_framesize) >> STACK_SHIFT;
if (offset < 4) {
if (!_jitc->function->self.argi)
offset += 4;
}
else
offset = _jitc->function->self.size;
- _jitc->function->self.size += STACK_SLOT;
+ _jitc->function->self.size += sizeof(jit_float64_t);
#endif
return (jit_new_node_w(jit_code_arg_d, offset));
}
@@ -380,12 +380,12 @@ _jit_getarg_c(jit_state_t *_jit, jit_int32_t u,
jit_node_t *v)
if (v->u.w < NUM_WORD_ARGS)
jit_extr_c(u, _A0 - v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_c(u, _FP, v->u.w);
#else
jit_ldxi_c(u, JIT_FP, v->u.w + STACK_SLOT - sizeof(jit_int8_t));
- }
#endif
+ }
}
void
@@ -394,12 +394,12 @@ _jit_getarg_uc(jit_state_t *_jit, jit_int32_t u,
jit_node_t *v)
if (v->u.w < NUM_WORD_ARGS)
jit_extr_uc(u, _A0 - v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_uc(u, _FP, v->u.w);
#else
jit_ldxi_uc(u, JIT_FP, v->u.w + STACK_SLOT - sizeof(jit_uint8_t));
- }
#endif
+ }
}
void
@@ -408,12 +408,12 @@ _jit_getarg_s(jit_state_t *_jit, jit_int32_t u,
jit_node_t *v)
if (v->u.w < NUM_WORD_ARGS)
jit_extr_s(u, _A0 - v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_s(u, _FP, v->u.w);
#else
jit_ldxi_s(u, JIT_FP, v->u.w + STACK_SLOT - sizeof(jit_int16_t));
- }
#endif
+ }
}
void
@@ -422,12 +422,12 @@ _jit_getarg_us(jit_state_t *_jit, jit_int32_t u,
jit_node_t *v)
if (v->u.w < NUM_WORD_ARGS)
jit_extr_us(u, _A0 - v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_us(u, _FP, v->u.w);
#else
jit_ldxi_us(u, JIT_FP, v->u.w + STACK_SLOT - sizeof(jit_uint16_t));
- }
#endif
+ }
}
void
@@ -441,12 +441,12 @@ _jit_getarg_i(jit_state_t *_jit, jit_int32_t u,
jit_node_t *v)
#endif
}
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_i(u, _FP, v->u.w);
#else
jit_ldxi_i(u, JIT_FP, v->u.w + STACK_SLOT - sizeof(jit_int32_t));
- }
#endif
+ }
}
#if __WORDSIZE == 64
@@ -456,12 +456,12 @@ _jit_getarg_ui(jit_state_t *_jit, jit_int32_t u,
jit_node_t *v)
if (v->u.w < NUM_WORD_ARGS)
jit_extr_ui(u, _A0 - v->u.w);
else {
-# if __BYTE_ORDER == __LITTLE__ENDIAN
+# if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_ui(u, _FP, v->u.w);
# else
jit_ldxi_ui(u, JIT_FP, v->u.w + STACK_SLOT - sizeof(jit_uint32_t));
- }
# endif
+ }
}
void
@@ -668,7 +668,7 @@ _jit_pushargr_d(jit_state_t *_jit, jit_int32_t u)
_jitc->function->call.size += 4;
adjust = 1;
}
- offset = _jitc->function->call.size >> 2;
+ offset = _jitc->function->call.size >> STACK_SHIFT;
if (offset < 3) {
if (adjust) {
jit_movr_d_ww(_A0 - offset, _A0 - (offset + 1), u);
@@ -681,7 +681,7 @@ _jit_pushargr_d(jit_state_t *_jit, jit_int32_t u)
}
else
jit_stxi_d(_jitc->function->call.size, JIT_SP, u);
- _jitc->function->call.size += STACK_SLOT;
+ _jitc->function->call.size += sizeof(jit_float64_t);
#endif
}
@@ -731,7 +731,7 @@ _jit_pushargi_d(jit_state_t *_jit, jit_float64_t u)
jit_stxi_d(_jitc->function->call.size, JIT_SP, regno);
jit_unget_reg(regno);
}
- _jitc->function->call.size += STACK_SLOT;
+ _jitc->function->call.size += sizeof(jit_float64_t);
#endif
}
diff --git a/lib/jit_ppc.c b/lib/jit_ppc.c
index a2e6401..010d905 100644
--- a/lib/jit_ppc.c
+++ b/lib/jit_ppc.c
@@ -318,7 +318,7 @@ _jit_getarg_c(jit_state_t *_jit, jit_int32_t u, jit_node_t
*v)
if (v->u.w < 8)
jit_extr_c(u, JIT_RA0 - v->u.w);
else {
-#if __BYTE_ORDER == __LITTLE__ENDIAN
+#if __BYTE_ORDER == __LITTLE_ENDIAN
jit_ldxi_c(u, JIT_FP, v->u.w);
#else
jit_ldxi_c(u, JIT_FP,
- [Guile-commits] 196/437: Add missing __ppc__ definition., (continued)
- [Guile-commits] 196/437: Add missing __ppc__ definition., Andy Wingo, 2018/07/02
- [Guile-commits] 159/437: Correct stack.tst test case on ppc. Now all tests pass in all backends., Andy Wingo, 2018/07/02
- [Guile-commits] 172/437: Rework {get, push}arg{, i, r}_{f, d} to a more descriptive name and usage., Andy Wingo, 2018/07/02
- [Guile-commits] 221/437: Correct build and pass all tests on Solaris Sparc., Andy Wingo, 2018/07/02
- [Guile-commits] 228/437: Properly check tests output., Andy Wingo, 2018/07/02
- [Guile-commits] 186/437: Add code to release all memory used by the jit state., Andy Wingo, 2018/07/02
- [Guile-commits] 137/437: Make mips backend compile on a qemu image., Andy Wingo, 2018/07/02
- [Guile-commits] 222/437: Correct build and pass all tests on Solaris x86., Andy Wingo, 2018/07/02
- [Guile-commits] 219/437: Remove redundancy in the hppa cache synchronization code., Andy Wingo, 2018/07/02
- [Guile-commits] 245/437: S390X: Correct values of float registers saved on stack., Andy Wingo, 2018/07/02
- [Guile-commits] 224/437: Correct mips o32 abi that was broken when adding n32 abi support.,
Andy Wingo <=
- [Guile-commits] 230/437: New s390x port built on the hercules emulator and fedora 16 image., Andy Wingo, 2018/07/02
- [Guile-commits] 234/437: GNU lightning 2.0.0 release, Andy Wingo, 2018/07/02
- [Guile-commits] 256/437: X86: %r12 may be used as an index register., Andy Wingo, 2018/07/02
- [Guile-commits] 229/437: Do not assume cast of nan or inf double to float always work., Andy Wingo, 2018/07/02
- [Guile-commits] 231/437: Cosmetic removal of white spaces in end of lines., Andy Wingo, 2018/07/02
- [Guile-commits] 232/437: Correct off by one bug on s390x subi., Andy Wingo, 2018/07/02
- [Guile-commits] 123/437: Revert change aliasing jit_movi_p to jit_movi_ul., Andy Wingo, 2018/07/02
- [Guile-commits] 248/437: Correct wrong example and mt unsafe code in the arm backend., Andy Wingo, 2018/07/02
- [Guile-commits] 236/437: Correct build and make check on gcc111 - AIX 7.1., Andy Wingo, 2018/07/02
- [Guile-commits] 237/437: Correct build and check on NetBSD amd64., Andy Wingo, 2018/07/02