aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1993-04-16 20:37:41 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1993-04-16 20:37:41 +0000
commit8a18e16fa65b3e63064eeaaa0481e73942a6972a (patch)
tree58ecd19f307b2eba325779939288b0be4526abe6
parent3ca25f3f23a4d829685d195f196173d293207e58 (diff)
downloadgcc-8a18e16fa65b3e63064eeaaa0481e73942a6972a.zip
gcc-8a18e16fa65b3e63064eeaaa0481e73942a6972a.tar.gz
gcc-8a18e16fa65b3e63064eeaaa0481e73942a6972a.tar.bz2
Don't put relocatable items into .rdata.
Allow iris to have it's version of the trampoline code. From-SVN: r4161
-rw-r--r--gcc/config/mips/mips.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 07ecb22..a688e20 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -645,7 +645,7 @@ while (0)
/* Print subsidiary information on the compiler version in use. */
-#define MIPS_VERSION "[AL 1.1, MM 38]"
+#define MIPS_VERSION "[AL 1.1, MM 39]"
#ifndef MACHINE_TYPE
#define MACHINE_TYPE "BSD Mips"
@@ -1968,6 +1968,7 @@ typedef struct mips_args {
RTX for the static chain value that should be passed to the
function when it is called. */
+#ifndef INITIALIZE_TRAMPOLINE
#define INITIALIZE_TRAMPOLINE(ADDR, FUNC, CHAIN) \
{ \
rtx addr = ADDR; \
@@ -1978,10 +1979,12 @@ typedef struct mips_args {
emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"), \
0, VOIDmode, 1, addr, Pmode); \
}
+#endif /* INITIALIZE_TRAMPOLINE */
/* Attempt to turn on access permissions for the stack. */
+#ifndef TRANSFER_FROM_TRAMPOLINE
#define TRANSFER_FROM_TRAMPOLINE \
\
void \
@@ -2002,6 +2005,7 @@ __enable_execute_stack (addr) \
perror ("cacheflush of trampoline code"); \
*/ \
}
+#endif /* TRANSFER_FROM_TRAMPOLINE */
/* Addressing modes, and classification of registers for them. */
@@ -3431,11 +3435,15 @@ rdata_section () \
rdata_section (); \
} \
-#define SELECT_SECTION(DECL,RELOC) \
+#define SELECT_SECTION(DECL, RELOC) \
{ \
if (int_size_in_bytes (TREE_TYPE (DECL)) <= mips_section_threshold \
&& mips_section_threshold > 0) \
sdata_section (); \
+ \
+ else if (RELOC) \
+ data_section (); \
+ \
else if (TREE_CODE (DECL) == STRING_CST) \
{ \
if (flag_writable_strings) \
@@ -3443,10 +3451,13 @@ rdata_section () \
else \
rdata_section (); \
} \
+ \
else if (TREE_CODE (DECL) != VAR_DECL) \
rdata_section (); \
+ \
else if (!TREE_READONLY (DECL)) \
data_section (); \
+ \
else \
rdata_section (); \
}