bump version
[buildroot.git] / toolchain / gcc / 4.4.0 / gcc-4.3-pr31537.01.patch
blob5df637640ab3e896618f56b02c4b58df0eb598bb
1 Index: gcc-4.3/gcc/varasm.c
2 ===================================================================
3 --- gcc-4.3/gcc/varasm.c (revision 131820)
4 +++ gcc-4.3/gcc/varasm.c (working copy)
5 @@ -5349,7 +5349,26 @@ assemble_alias (tree decl, tree target)
6 do_assemble_alias (decl, target);
7 else
9 - alias_pair *p = VEC_safe_push (alias_pair, gc, alias_pairs, NULL);
10 + unsigned int i;
11 + alias_pair *p;
13 + if (is_weakref && flag_unit_at_a_time)
14 + /* Do not insert duplicate weakrefs. */
15 + for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); i++)
16 + if (DECL_ASSEMBLER_NAME (p->decl) == DECL_ASSEMBLER_NAME (decl))
17 + {
18 + /* The last specified target is used. */
19 + if (target != p->target)
20 + {
21 + warning (OPT_Wattributes, "%q+D overriding symbol "
22 + "%qs with %qs", decl,
23 + IDENTIFIER_POINTER (p->target),
24 + IDENTIFIER_POINTER (target));
25 + p->target = target;
26 + }
27 + return;
28 + }
29 + p = VEC_safe_push (alias_pair, gc, alias_pairs, NULL);
30 p->decl = decl;
31 p->target = target;