> Of course, things work fine using 64 bit ABIs, /.../

Which is because we still don't have any machine code support for
x86_64. As a workaround you can always disable it for i386 as well:
./configure --without-machine-code

Otherwise it looks like the following commit could be the answer to
your trouble (ugly though it is, I have to say). It's present in
7.8.368.

commit 3925525
Author: Per Hedbor <[email protected]>
Date:   Fri Nov 13 14:47:21 2009 +0100

    This avoids 100% crach rate on my 64bit workstation with a 32-bit userlevel 
runtime
    
    Rev: src/code/ia32.c:1.51

diff --git a/src/code/ia32.c b/src/code/ia32.c
index ca552f1..ea0c2c9 100644
--- a/src/code/ia32.c
+++ b/src/code/ia32.c
@@ -2,7 +2,7 @@
 || This file is part of Pike. For copyright information see COPYRIGHT.
 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
 || for more information.
-|| $Id: ia32.c,v 1.50 2008/11/19 21:37:34 mast Exp $
+|| $Id: ia32.c,v 1.51 2009/11/13 13:47:21 per Exp $
 */
 
 /*
@@ -1040,7 +1040,7 @@ void ia32_flush_instruction_cache(void *start, size_t len)
        clflush [eax];
       }
 #else  /* USE_GCC_IA32_ASM_STYLE */
-#ifdef HAVE_ASM_CLFLUSH
+#if 1
       __asm__ __volatile__("clflush %0" :: "m" (*addr));
 #else
       /* clflush (%eax) */
  • 32 ... H. William Welliver III
    • ... Martin Stjernholm, Roxen IS @ Pike developers forum
      • ... Marcus Comstedt (ACROSS) (Hail Ilpalazzo!) @ Pike (-) developers forum
        • ... Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum
          • ... Henrik Grubbstr�m (Lysator) @ Pike (-) developers forum
        • ... Martin Stjernholm, Roxen IS @ Pike developers forum
          • ... Bill Welliver

Reply via email to