aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog2
-rw-r--r--gold/target-reloc.h5
2 files changed, 4 insertions, 3 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index c061293..246cf08 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,7 @@
2008-04-30 Cary Coutant <ccoutant@google.com>
+ * target-reloc.h (relocate_section): Fix dead-pointer bug.
+
* layout.cc (Layout::include_section): Refactored check for debug
info section.
(Layout::add_comdat): Add new parameters. Change type
diff --git a/gold/target-reloc.h b/gold/target-reloc.h
index e1c3cc3..d06dc82 100644
--- a/gold/target-reloc.h
+++ b/gold/target-reloc.h
@@ -227,9 +227,8 @@ relocate_section(
{
if (comdat_behavior == CB_UNDETERMINED)
{
- const char* name =
- object->section_name(relinfo->data_shndx).c_str();
- comdat_behavior = get_comdat_behavior(name);
+ std::string name = object->section_name(relinfo->data_shndx);
+ comdat_behavior = get_comdat_behavior(name.c_str());
}
if (comdat_behavior == CB_PRETEND)
{