aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2005-11-18 01:55:34 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2005-11-18 01:55:34 +0000
commitff2d10c1e49a8936763ea7bfa2ee335f4b797298 (patch)
treef7de15014a0085f44ce51e707c4844ee5dd161a1 /gcc/varasm.c
parentebb23329cd736e3f60eb60f544e9e218baa3a9ab (diff)
downloadgcc-ff2d10c1e49a8936763ea7bfa2ee335f4b797298.zip
gcc-ff2d10c1e49a8936763ea7bfa2ee335f4b797298.tar.gz
gcc-ff2d10c1e49a8936763ea7bfa2ee335f4b797298.tar.bz2
rs6000.h (ASM_OUTPUT_WEAKREF): Define.
* config/rs6000/rs6000.h (ASM_OUTPUT_WEAKREF): Define. * defaults.h (ASM_OUTPUT_WEAKREF): Add decl argument. * varasm.c (do_assemble_alias): Adjust call. (weak_finish): Don't use ASM_WEAKEN_LABEL if ASM_WEAKEN_DECL is defined. * doc/tm.texi (ASM_OUTPUT_WEAKREF): Document it. From-SVN: r107156
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index ad4d060..68a46ea 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -4551,7 +4551,10 @@ weak_finish (void)
#ifndef ASM_OUTPUT_WEAKREF
else if (! TREE_SYMBOL_REFERENCED (target))
{
-# ifdef ASM_WEAKEN_LABEL
+ /* Use ASM_WEAKEN_LABEL only if ASM_WEAKEN_DECL is not
+ defined, otherwise we and weak_finish_1 would use a
+ different macros. */
+# if defined ASM_WEAKEN_LABEL && ! defined ASM_WEAKEN_DECL
ASM_WEAKEN_LABEL (asm_out_file, IDENTIFIER_POINTER (target));
# else
tree decl = find_decl_and_mark_needed (alias_decl, target);
@@ -4736,7 +4739,7 @@ do_assemble_alias (tree decl, tree target)
weakref_targets = tree_cons (decl, target, weakref_targets);
#ifdef ASM_OUTPUT_WEAKREF
- ASM_OUTPUT_WEAKREF (asm_out_file,
+ ASM_OUTPUT_WEAKREF (asm_out_file, decl,
IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)),
IDENTIFIER_POINTER (target));
#else