1.0.1.4:
authorJuho Snellman <jsnell@iki.fi>
Fri, 29 Dec 2006 00:32:14 +0000 (00:32 +0000)
committerJuho Snellman <jsnell@iki.fi>
Fri, 29 Dec 2006 00:32:14 +0000 (00:32 +0000)
        Fix Sparc build with gcc 4.1. (Patch from Rex Dieter).

src/runtime/sparc-arch.c
version.lisp-expr

index 38f60e5..6151619 100644 (file)
@@ -86,8 +86,12 @@ os_vm_address_t arch_get_bad_addr(int sig, siginfo_t *code, os_context_t *contex
 
 void arch_skip_instruction(os_context_t *context)
 {
-    ((char *) *os_context_pc_addr(context)) = ((char *) *os_context_npc_addr(context));
-    ((char *) *os_context_npc_addr(context)) += 4;
+    *os_context_pc_addr(context) = *os_context_npc_addr(context);
+    /* Note that we're doing integer arithmetic here, not pointer. So
+     * the value that the return value of os_context_npc_addr() points
+     * to will be incremented by 4, not 16.
+     */
+    *os_context_npc_addr(context) += 4;
 }
 
 unsigned char *arch_internal_error_arguments(os_context_t *context)
index 1b25df9..caceea4 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.1.3"
+"1.0.1.4"