From ab72d1285d031ec0a5f8cfc7205e70dd439b661a Mon Sep 17 00:00:00 2001 From: Juan Jose Garcia Ripoll Date: Sat, 6 Nov 2010 00:04:47 +0100 Subject: [PATCH] Avoid using the dispatch table in the interpreter when compiling with GCC on Solaris, so that no spurious relocation tables are created. --- src/h/bytecodes.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/h/bytecodes.h b/src/h/bytecodes.h index e50ff9943..d19f0c999 100644 --- a/src/h/bytecodes.h +++ b/src/h/bytecodes.h @@ -146,8 +146,11 @@ typedef int16_t cl_oparg; * saves a range check on the opcode size and (ii) each opcode has a * dispatch instruction at the end, so that the processor may better * predict jumps. + * + * NOTE: We cannot use this in Solaris because GCC erroneously produces + * relocation tables. */ -#if (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +#if (defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(__sun__)) #define ECL_THREADED_INTERPRETER #endif