guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] 236/437: Correct build and make check on gcc111 - AIX 7.


From: Andy Wingo
Subject: [Guile-commits] 236/437: Correct build and make check on gcc111 - AIX 7.1.
Date: Mon, 2 Jul 2018 05:14:28 -0400 (EDT)

wingo pushed a commit to branch lightning
in repository guile.

commit 7f677a6d4f3ebc9551b7833b0d158f842d5f75e2
Author: pcpa <address@hidden>
Date:   Mon Aug 26 15:53:40 2013 -0300

    Correct build and make check on gcc111 - AIX 7.1.
    
        lib/jit_ppc.c: Correct C sequence point problem miscalculating
        the actual function address in a function descriptor. Problem
        happens with gcc 4.8.1 at least.
---
 ChangeLog     | 6 ++++++
 lib/jit_ppc.c | 6 ++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 28fc900..f8ee83e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-08-26 Paulo Andrade <address@hidden>
+
+       lib/jit_ppc.c: Correct C sequence point problem miscalculating
+       the actual function address in a function descriptor. Problem
+       happens with gcc 4.8.1 at least.
+
 2013-08-11 Paulo Andrade <address@hidden>
 
        * lib/jit_s390x-cpu.c: Correct code checking if immediate
diff --git a/lib/jit_ppc.c b/lib/jit_ppc.c
index 95c5c47..003fcbb 100644
--- a/lib/jit_ppc.c
+++ b/lib/jit_ppc.c
@@ -779,7 +779,8 @@ _emit_code(jit_state_t *_jit)
 #if __powerpc__
     undo.prolog_offset = 0;
     /* code may start with a jump so add an initial function descriptor */
-    iw(_jit->pc.w + sizeof(void*) * 3);        /* addr */
+    word = _jit->pc.w + sizeof(void*) * 3;
+    iw(word);                          /* addr */
     iw(0);                             /* toc */
     iw(0);                             /* env */
 #endif
@@ -1289,7 +1290,8 @@ _emit_code(jit_state_t *_jit)
                    }
                    _jitc->prolog.ptr[_jitc->prolog.offset++] = _jit->pc.w;
                    /* function descriptor */
-                   iw(_jit->pc.w + sizeof(void*) * 3); /* addr */
+                   word = _jit->pc.w + sizeof(void*) * 3;
+                   iw(word);                           /* addr */
                    iw(0);                              /* toc */
                    iw(0);                              /* env */
                }



reply via email to

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