From: Ian Lance Taylor Date: Fri, 8 Jan 2010 22:34:34 +0000 (+0000) Subject: * object.cc (Sized_relobj::do_layout): Don't get confused if X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=339d40a3d9fe82620382abe4a4b3565d681aea11;p=binutils-gdb.git * object.cc (Sized_relobj::do_layout): Don't get confused if layout_eh_frame returns NULL. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index cf0707d4b10..c14bcfb22a0 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2010-01-08 Ian Lance Taylor + + * object.cc (Sized_relobj::do_layout): Don't get confused if + layout_eh_frame returns NULL. + 2010-01-08 Ian Lance Taylor PR 11084 diff --git a/gold/object.cc b/gold/object.cc index a6ec76f08d0..1b903368f30 100644 --- a/gold/object.cc +++ b/gold/object.cc @@ -1390,7 +1390,7 @@ Sized_relobj::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::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(); }