diff options
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 3 | ||||
-rw-r--r-- | gold/object.cc | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index 3e3f4fd..b73da9b 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,8 @@ 2008-04-23 Ian Lance Taylor <iant@google.com> + * object.cc (Sized_relobj::include_section_group): Check for + invalid section group. + * object.cc (make_elf_object): Correct test for 64-bit ELF file header size. diff --git a/gold/object.cc b/gold/object.cc index 9cfd886..1672225 100644 --- a/gold/object.cc +++ b/gold/object.cc @@ -609,6 +609,13 @@ Sized_relobj<size, big_endian>::include_section_group( secnum, index); continue; } + + // Check for an earlier section number, since we're going to get + // it wrong--we may have already decided to include the section. + if (secnum < index) + this->error(_("invalid section group %u refers to earlier section %u"), + index, secnum); + (*omit)[secnum] = true; } |