diff options
author | Ian Lance Taylor <ian@airs.com> | 2009-10-16 05:16:09 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2009-10-16 05:16:09 +0000 |
commit | 68b6574b4d15cd06198aac40c7ad9624a80c1bdb (patch) | |
tree | 5b116dff68289444a8b0033d8c6422f82c523f5f /gold | |
parent | 661be1e21e12f87f58c14d0ef8caaee770857297 (diff) | |
download | gdb-68b6574b4d15cd06198aac40c7ad9624a80c1bdb.zip gdb-68b6574b4d15cd06198aac40c7ad9624a80c1bdb.tar.gz gdb-68b6574b4d15cd06198aac40c7ad9624a80c1bdb.tar.bz2 |
* layout.cc (Layout::relaxation_loop_body): Don't crash if we see
program headers with no load segment if there is a linker script.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 3 | ||||
-rw-r--r-- | gold/layout.cc | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 6ebb5e8..ea864a7 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,8 @@ 2009-10-15 Ian Lance Taylor <iant@google.com> + * layout.cc (Layout::relaxation_loop_body): Don't crash if we see + program headers with no load segment if there is a linker script. + * layout.cc (Layout::set_segment_offsets): Align the file offset to the segment aligment for -N or -n with no load segment. * output.cc (Output_segment::add_output_section): Don't crash if diff --git a/gold/layout.cc b/gold/layout.cc index 0b62c18..028703a 100644 --- a/gold/layout.cc +++ b/gold/layout.cc @@ -1421,7 +1421,9 @@ Layout::relaxation_loop_body( != General_options::OBJECT_FORMAT_ELF) load_seg = NULL; - gold_assert(phdr_seg == NULL || load_seg != NULL); + gold_assert(phdr_seg == NULL + || load_seg != NULL + || this->script_options_->saw_sections_clause()); // Lay out the segment headers. if (!parameters->options().relocatable()) |