aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2008-05-01 02:01:23 +0000
committerCary Coutant <ccoutant@google.com>2008-05-01 02:01:23 +0000
commit4418b2d587cab23c5257683aaf40dbdb6a091782 (patch)
tree700cd5ff2fb627143aa300f24633d2d407eeede6
parente94cf1277329c4eaba3b398b446e693550463c77 (diff)
downloadgdb-4418b2d587cab23c5257683aaf40dbdb6a091782.zip
gdb-4418b2d587cab23c5257683aaf40dbdb6a091782.tar.gz
gdb-4418b2d587cab23c5257683aaf40dbdb6a091782.tar.bz2
* target-reloc.h (relocate_section): Fix dead-pointer bug.
-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)
{