* object.cc (Sized_relobj::do_layout): Don't get confused if

layout_eh_frame returns NULL.
This commit is contained in:
Ian Lance Taylor
2010-01-08 22:34:34 +00:00
parent abecea76bc
commit 339d40a3d9
2 changed files with 7 additions and 2 deletions

View File

@@ -1,3 +1,8 @@
2010-01-08 Ian Lance Taylor <iant@google.com>
* object.cc (Sized_relobj::do_layout): Don't get confused if
layout_eh_frame returns NULL.
2010-01-08 Ian Lance Taylor <iant@google.com>
PR 11084

View File

@@ -1390,7 +1390,7 @@ Sized_relobj<size, big_endian>::do_layout(Symbol_table* symtab,
reloc_type[i],
&offset);
out_sections[i] = os;
if (offset == -1)
if (os == NULL || offset == -1)
{
// An object can contain at most one section holding exception
// frame information.
@@ -1404,7 +1404,7 @@ Sized_relobj<size, big_endian>::do_layout(Symbol_table* symtab,
// If this section requires special handling, and if there are
// relocs that apply to it, then we must do the special handling
// before we apply the relocs.
if (offset == -1 && reloc_shndx[i] != 0)
if (os != NULL && offset == -1 && reloc_shndx[i] != 0)
this->set_relocs_must_follow_section_writes();
}