0.9.7.12:
[sbcl.git] / src / runtime / x86-64-arch.c
index 5f10060..91143d5 100644 (file)
@@ -36,6 +36,13 @@ unsigned long fast_random_state = 1;
 
 void arch_init(void)
 {}
+
+os_vm_address_t
+arch_get_bad_addr(int sig, siginfo_t *code, os_context_t *context)
+{
+    return (os_vm_address_t)code->si_addr;
+}
+
 \f
 /*
  * hacking signal contexts
@@ -125,6 +132,13 @@ arch_set_pseudo_atomic_interrupted(os_context_t *context)
     SetSymbolValue(PSEUDO_ATOMIC_INTERRUPTED, make_fixnum(1),
                    arch_os_get_current_thread());
 }
+
+void
+arch_clear_pseudo_atomic_interrupted(os_context_t *context)
+{
+    SetSymbolValue(PSEUDO_ATOMIC_INTERRUPTED, make_fixnum(0),
+                   arch_os_get_current_thread());
+}
 \f
 /*
  * This stuff seems to get called for TRACE and debug activity.
@@ -251,7 +265,7 @@ sigtrap_handler(int signal, siginfo_t *info, void *void_context)
          * seems to be no point in doing that, since we're just
          * going to lose(..) anyway. */
         fake_foreign_function_call(context);
-        lose("%%PRIMITIVE HALT called; the party is over.");
+        lose("%%PRIMITIVE HALT called; the party is over.\n");
 
     case trap_Error:
     case trap_Cerror: