diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2005-11-18 01:55:34 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2005-11-18 01:55:34 +0000 |
commit | ff2d10c1e49a8936763ea7bfa2ee335f4b797298 (patch) | |
tree | f7de15014a0085f44ce51e707c4844ee5dd161a1 /gcc/varasm.c | |
parent | ebb23329cd736e3f60eb60f544e9e218baa3a9ab (diff) | |
download | gcc-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.c | 7 |
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 |