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@redhat.com>2005-11-18 01:55:34 +0000
commit8a52943a065fc7647e3e3d55117b74948bc660f6 (patch)
treef7de15014a0085f44ce51e707c4844ee5dd161a1 /gcc/varasm.c
parente262ed6c0616ace290a46a21200729b067bbfcad (diff)
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@107156 138bc75d-0d04-0410-961f-82ee72b054a4
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 ad4d060a29f..68a46eab5e2 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