summaryrefslogtreecommitdiff
path: root/gcc/asan.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-11-14 19:28:43 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2013-11-14 19:28:43 +0100
commit8c8b21e4f737fdf0e75fcc4a414eee0d4ce56113 (patch)
tree0213dbfa59e7b40f340629ba9057c38411ae7817 /gcc/asan.c
parent13e0981af51244eef62156d1e7c4810e87d616da (diff)
downloadgcc-8c8b21e4f737fdf0e75fcc4a414eee0d4ce56113.tar.gz
re PR sanitizer/59122 (libsanitizer merge from upstream r191666 causes duplicate symbol errors)
PR sanitizer/59122 * asan.c (asan_emit_stack_protection): Ensure -fsection-anchors isn't confused by the artificial decl. From-SVN: r204801
Diffstat (limited to 'gcc/asan.c')
-rw-r--r--gcc/asan.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/asan.c b/gcc/asan.c
index 9b6f96872ec..a3fb51fa8db 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -1002,6 +1002,9 @@ asan_emit_stack_protection (rtx base, HOST_WIDE_INT *offsets, tree *decls,
TREE_STATIC (decl) = 1;
TREE_PUBLIC (decl) = 0;
TREE_USED (decl) = 1;
+ DECL_INITIAL (decl) = decl;
+ TREE_ASM_WRITTEN (decl) = 1;
+ TREE_ASM_WRITTEN (id) = 1;
emit_move_insn (mem, expand_normal (build_fold_addr_expr (decl)));
shadow_base = expand_binop (Pmode, lshr_optab, base,
GEN_INT (ASAN_SHADOW_SHIFT),