aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/cris
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-04-16 22:53:21 -0700
committerRichard Henderson <rth@gcc.gnu.org>2003-04-16 22:53:21 -0700
commit5c93e01bbc74be5af2771fedfbff346d2aa0b7bb (patch)
tree2e50a44910f39f1cb2ff01c4ea328f470438ec4b /gcc/config/cris
parent11467df2cfbc83ab81b48bdaf15504f9a2175b73 (diff)
downloadgcc-5c93e01bbc74be5af2771fedfbff346d2aa0b7bb.zip
gcc-5c93e01bbc74be5af2771fedfbff346d2aa0b7bb.tar.gz
gcc-5c93e01bbc74be5af2771fedfbff346d2aa0b7bb.tar.bz2
cris.c (cris_gotless_symbol, [...]): Use SYMBOL_REF_LOCAL_P; abort if not pic.
* config/cris/cris.c (cris_gotless_symbol, cris_got_symbol): Use SYMBOL_REF_LOCAL_P; abort if not pic. (cris_encode_section_info): Remove. From-SVN: r65721
Diffstat (limited to 'gcc/config/cris')
-rw-r--r--gcc/config/cris/cris.c40
1 files changed, 14 insertions, 26 deletions
diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c
index ed3bc9e..dfd3464 100644
--- a/gcc/config/cris/cris.c
+++ b/gcc/config/cris/cris.c
@@ -100,7 +100,6 @@ static void cris_target_asm_function_prologue
static void cris_target_asm_function_epilogue
PARAMS ((FILE *, HOST_WIDE_INT));
-static void cris_encode_section_info PARAMS ((tree, int));
static void cris_operand_lossage PARAMS ((const char *, rtx));
static void cris_asm_output_mi_thunk
@@ -158,9 +157,6 @@ int cris_cpu_version = CRIS_DEFAULT_CPU_VERSION;
#undef TARGET_ASM_FUNCTION_EPILOGUE
#define TARGET_ASM_FUNCTION_EPILOGUE cris_target_asm_function_epilogue
-#undef TARGET_ENCODE_SECTION_INFO
-#define TARGET_ENCODE_SECTION_INFO cris_encode_section_info
-
#undef TARGET_ASM_OUTPUT_MI_THUNK
#define TARGET_ASM_OUTPUT_MI_THUNK cris_asm_output_mi_thunk
#undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
@@ -2506,6 +2502,11 @@ int
cris_gotless_symbol (x)
rtx x;
{
+#ifdef ENABLE_CHECKING
+ if (!flag_pic)
+ abort ();
+#endif
+
switch (GET_CODE (x))
{
case UNSPEC:
@@ -2513,9 +2514,9 @@ cris_gotless_symbol (x)
return 1;
case SYMBOL_REF:
- if (flag_pic && cfun != NULL)
+ if (cfun != NULL)
current_function_uses_pic_offset_table = 1;
- return SYMBOL_REF_FLAG (x);
+ return SYMBOL_REF_LOCAL_P (x);
case LABEL_REF:
/* We don't set current_function_uses_pic_offset_table for
@@ -2562,6 +2563,11 @@ int
cris_got_symbol (x)
rtx x;
{
+#ifdef ENABLE_CHECKING
+ if (!flag_pic)
+ abort ();
+#endif
+
switch (GET_CODE (x))
{
case UNSPEC:
@@ -2569,9 +2575,9 @@ cris_got_symbol (x)
return 0;
case SYMBOL_REF:
- if (flag_pic && cfun != NULL)
+ if (cfun != NULL)
current_function_uses_pic_offset_table = 1;
- return ! SYMBOL_REF_FLAG (x);
+ return ! SYMBOL_REF_LOCAL_P (x);
case CONST:
return cris_got_symbol (XEXP (x, 0));
@@ -3187,24 +3193,6 @@ restart:
}
}
-/* Code-in whether we can get away without a GOT entry (needed for
- externally visible objects but not for functions) into
- SYMBOL_REF_FLAG and add the PLT suffix for global functions. */
-
-static void
-cris_encode_section_info (exp, first)
- tree exp;
- int first ATTRIBUTE_UNUSED;
-{
- if (flag_pic)
- {
- rtx rtl = DECL_P (exp) ? DECL_RTL (exp) : TREE_CST_RTL (exp);
-
- if (GET_CODE (rtl) == MEM && GET_CODE (XEXP (rtl, 0)) == SYMBOL_REF)
- SYMBOL_REF_FLAG (XEXP (rtl, 0)) = (*targetm.binds_local_p) (exp);
- }
-}
-
#if 0
/* Various small functions to replace macros. Only called from a
debugger. They might collide with gcc functions or system functions,