aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Wood <wood@gnu.org>1992-07-23 19:13:17 +0000
committerTom Wood <wood@gnu.org>1992-07-23 19:13:17 +0000
commit0d53ee39f62797fed4aae53072ebe59ffe11b6c9 (patch)
tree520421d557d82c2a3531963d32b19515f37340e2
parentc73433339781b21b25b4f9f0e489291635da0d63 (diff)
downloadgcc-0d53ee39f62797fed4aae53072ebe59ffe11b6c9.zip
gcc-0d53ee39f62797fed4aae53072ebe59ffe11b6c9.tar.gz
gcc-0d53ee39f62797fed4aae53072ebe59ffe11b6c9.tar.bz2
(ASM_OUTPUT_CASE_LABEL): Change to readonly section if the table contains addresses.
(ASM_OUTPUT_CASE_LABEL): Change to readonly section if the table contains addresses. (JUMP_TABLES_IN_TEXT_SECTION): True by default. From-SVN: r1673
-rw-r--r--gcc/config/m88k/m88k.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/gcc/config/m88k/m88k.h b/gcc/config/m88k/m88k.h
index cd37ab2..f5aa79d 100644
--- a/gcc/config/m88k/m88k.h
+++ b/gcc/config/m88k/m88k.h
@@ -206,9 +206,9 @@ extern char * reg_names[];
/* Print subsidiary information on the compiler version in use.
Redefined in m88kv4.h, and m88kluna.h. */
#define VERSION_INFO1 "88open OCS/BCS, "
-#define VERSION_INFO2 "04 Jul 1992"
+#define VERSION_INFO2 "21 Jul 1992"
#define VERSION_STRING version_string
-#define TM_SCCS_ID "@(#)m88k.h 2.2.6.7 04 Jul 1992 08:35:55"
+#define TM_SCCS_ID "@(#)m88k.h 2.2.6.9 21 Jul 1992 09:24:47"
/* Run-time compilation parameters selecting different hardware subsets. */
@@ -1953,8 +1953,15 @@ enum reg_class { NO_REGS, AP_REG, XRF_REGS, GENERAL_REGS, AGRF_REGS,
#define ASM_OUTPUT_ASCII(FILE, P, SIZE) \
output_ascii (FILE, ASCII_DATA_ASM_OP, 48, P, SIZE)
-/* Override svr4.h. */
+/* Override svr4.h. Change to the readonly data section for a table of
+ addresses. final_scan_insn changes back to the text section. */
#undef ASM_OUTPUT_CASE_LABEL
+#define ASM_OUTPUT_CASE_LABEL(FILE, PREFIX, NUM, TABLE) \
+ do { \
+ if (! CASE_VECTOR_INSNS) \
+ readonly_data_section (); \
+ ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); \
+ } while (0)
/* Epilogue for case labels. This jump instruction is called by casesi
to transfer to the appropriate branch instruction within the table.
@@ -2373,6 +2380,11 @@ sdata_section () \
const_section (); \
}
+/* Jump tables consist of branch instructions and should be output in
+ the text section. When we use a table of addresses, we explicitly
+ change to the readonly data section. */
+#define JUMP_TABLES_IN_TEXT_SECTION 1
+
/* Define this macro if references to a symbol must be treated differently
depending on something about the variable or function named by the
symbol (such as what section it is in).