Richard Sandiford wrote:
Mark,
I tried running some MIPS16 tests against RC1 and found a regression
from 3.4. The problem is the following hack in mips.h:
----------------------------------------------------------------------------
/* When generating mips16 code we want to put the jump table in the .text
section. In all other cases, we want to put the jump table in the .rdata
section. Unfortunately, we can't use JUMP_TABLES_IN_TEXT_SECTION, because
it is not conditional. Instead, we use ASM_OUTPUT_CASE_LABEL to switch back
to the .text section if appropriate. */
#undef ASM_OUTPUT_CASE_LABEL
#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, INSN) \
do { \
if (TARGET_MIPS16) \
function_section (current_function_decl); \
(*targetm.asm_out.internal_label) (FILE, PREFIX, NUM); \
} while (0)
----------------------------------------------------------------------------
* config/mips/mips.h (ASM_OUTPUT_CASE_LABEL): Delete.
(JUMP_TABLES_IN_TEXT_SECTION): Define.
OK for 4.0 RC2.
--
Mark Mitchell
CodeSourcery, LLC
[EMAIL PROTECTED]
(916) 791-8304