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