aboutsummaryrefslogtreecommitdiff
path: root/gold/incremental.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2011-09-14 01:10:43 +0000
committerCary Coutant <ccoutant@google.com>2011-09-14 01:10:43 +0000
commit1206d0d51475805105f990eaa2a02e2a7699aa80 (patch)
treee9f43f6450ec75af904f09b48bb82c5db5bfe908 /gold/incremental.cc
parentbc99db514094140c75982320cb31dfe0ebb6f33b (diff)
downloadgdb-1206d0d51475805105f990eaa2a02e2a7699aa80.zip
gdb-1206d0d51475805105f990eaa2a02e2a7699aa80.tar.gz
gdb-1206d0d51475805105f990eaa2a02e2a7699aa80.tar.bz2
* incremental.cc (Sized_relobj_incr::do_layout): Call
report_comdat_group for kept comdat sections. * testsuite/Makefile.am (incremental_comdat_test_1): New test. * testsuite/Makefile.in: Regenerate. * testsuite/incr_comdat_test_1.cc: New source file. * testsuite/incr_comdat_test_2_v1.cc: New source file. * testsuite/incr_comdat_test_2_v2.cc: New source file. * testsuite/incr_comdat_test_2_v3.cc: New source file.
Diffstat (limited to 'gold/incremental.cc')
-rw-r--r--gold/incremental.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/incremental.cc b/gold/incremental.cc
index e3b48a4..4c4483d 100644
--- a/gold/incremental.cc
+++ b/gold/incremental.cc
@@ -2008,7 +2008,9 @@ Sized_relobj_incr<size, big_endian>::do_layout(
this->error(_("COMDAT group has no signature"));
bool keep = layout->find_or_add_kept_section(signature, this, i, true,
true, NULL);
- if (!keep)
+ if (keep)
+ incremental_inputs->report_comdat_group(this, signature);
+ else
this->error(_("COMDAT group %s included twice in incremental link"),
signature);
}