From a572c4549742bb0876335f3be4c5a76fac555454 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 2 Aug 2013 18:24:19 +0000 Subject: [PATCH] go-gcc.cc (immutable_struct_set_init): Always call resolve_unique_section. * go-gcc.cc (immutable_struct_set_init): Always call resolve_unique_section. From-SVN: r201446 --- gcc/go/ChangeLog | 5 +++++ gcc/go/go-gcc.cc | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/go/ChangeLog b/gcc/go/ChangeLog index db9d4443ac9..f0317c4a473 100644 --- a/gcc/go/ChangeLog +++ b/gcc/go/ChangeLog @@ -1,3 +1,8 @@ +2013-08-02 Ian Lance Taylor + + * go-gcc.cc (immutable_struct_set_init): Always call + resolve_unique_section. + 2013-07-24 Ian Lance Taylor * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a diff --git a/gcc/go/go-gcc.cc b/gcc/go/go-gcc.cc index 27c756e5496..50dbb3128f1 100644 --- a/gcc/go/go-gcc.cc +++ b/gcc/go/go-gcc.cc @@ -1521,10 +1521,11 @@ Gcc_backend::immutable_struct_set_init(Bvariable* var, const std::string&, TREE_PUBLIC(decl) = 1; } else - { - make_decl_one_only(decl, DECL_ASSEMBLER_NAME(decl)); - resolve_unique_section(decl, 1, 0); - } + make_decl_one_only(decl, DECL_ASSEMBLER_NAME(decl)); + + // These variables are often unneeded in the final program, so put + // them in their own section so that linker GC can discard them. + resolve_unique_section(decl, 1, 1); rest_of_decl_compilation(decl, 1, 0); } -- 2.30.2