From 2a15f5e1e277a72a2c5e3fbb2a020328f92f73a9 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Wed, 13 Mar 2002 13:33:39 +0000 Subject: [PATCH] cris.c (cris_target_asm_function_prologue): Revert 2002-03-12 internal visibility change. * config/cris/cris.c (cris_target_asm_function_prologue): Revert 2002-03-12 internal visibility change. (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding visibility into SYMBOL_REF_FLAG. From-SVN: r50735 --- gcc/ChangeLog | 7 +++++++ gcc/config/cris/cris.c | 22 ++++++++-------------- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cf1127efd73..b8bd58417d6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-03-13 Hans-Peter Nilsson + + * config/cris/cris.c (cris_target_asm_function_prologue): Revert + 2002-03-12 internal visibility change. + (cris_encode_section_info): Consider MODULE_LOCAL_P when encoding + visibility into SYMBOL_REF_FLAG. + 2002-03-13 Ulrich Weigand * expr.c (expand_expr, case NE_EXPR): Do not call copy_to_reg with diff --git a/gcc/config/cris/cris.c b/gcc/config/cris/cris.c index d1c6f5b4b11..2fe9ea46098 100644 --- a/gcc/config/cris/cris.c +++ b/gcc/config/cris/cris.c @@ -857,19 +857,11 @@ cris_target_asm_function_prologue (file, size) framesize += size + cfoa_size; } - /* Set up the PIC register. Not needed for a function marked with - visibility "internal". */ + /* Set up the PIC register. */ if (current_function_uses_pic_offset_table) - { - tree vis = lookup_attribute ("visibility", DECL_ATTRIBUTES (cfun->decl)); - - if (!vis - || strcmp ("internal", - TREE_STRING_POINTER (TREE_VALUE (TREE_VALUE (vis))))) - asm_fprintf (file, "\tmove.d $pc,$%s\n\tsub.d .:GOTOFF,$%s\n", - reg_names[PIC_OFFSET_TABLE_REGNUM], - reg_names[PIC_OFFSET_TABLE_REGNUM]); - } + asm_fprintf (file, "\tmove.d $pc,$%s\n\tsub.d .:GOTOFF,$%s\n", + reg_names[PIC_OFFSET_TABLE_REGNUM], + reg_names[PIC_OFFSET_TABLE_REGNUM]); if (TARGET_PDEBUG) fprintf (file, @@ -3054,11 +3046,13 @@ cris_encode_section_info (exp, first) if (DECL_P (exp)) { if (TREE_CODE (exp) == FUNCTION_DECL - && (TREE_PUBLIC (exp) || DECL_WEAK (exp))) + && (TREE_PUBLIC (exp) || DECL_WEAK (exp)) + && ! MODULE_LOCAL_P (exp)) SYMBOL_REF_FLAG (XEXP (DECL_RTL (exp), 0)) = 0; else SYMBOL_REF_FLAG (XEXP (DECL_RTL (exp), 0)) - = ! TREE_PUBLIC (exp) && ! DECL_WEAK (exp); + = ((! TREE_PUBLIC (exp) && ! DECL_WEAK (exp)) + || MODULE_LOCAL_P (exp)); } else /* Others are local entities. */ -- 2.30.2