Hi!

I just tried to build Parrot 1.0.0 on Solaris/x86, using GCC 3.4.6.
This fails with

src/ops/core_ops.c
Assembler: core_ops.c
        "<stdin>", line 116571 : Illegal mnemonic
        Near line: "    int3"
        "<stdin>", line 116571 : Syntax error
        Near line: "    int3"

The reason is, that

#if defined(__GNUC__) && defined(i386)

checks the compiler, when it actually should check for the assembler.

This change

--- experimental.ops.orig       Thu Mar 12 02:43:57 2009
+++ experimental.ops    Thu Mar 19 16:46:30 2009
@@ -204,7 +204,7 @@
 =cut

 op trap() :deprecated {
-#if defined(__GNUC__) && defined(i386)
+#if defined(__GNUC__) && defined(i386) && !defined(__sun__)
     __asm__("int3");       /* opcode 0xcc */
 #endif
 #if defined(__GNUC__) && defined(PPC)

makes the file compile. I don't know if the original code will work
when using gas from binutils, so this change might not be correct as
well.
_______________________________________________
http://lists.parrot.org/mailman/listinfo/parrot-dev

Reply via email to