diff --git a/gold/ChangeLog b/gold/ChangeLog index 3e3f4fd511..b73da9b4bf 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,8 @@ 2008-04-23 Ian Lance Taylor + * 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 9cfd8867d4..1672225d02 100644 --- a/gold/object.cc +++ b/gold/object.cc @@ -609,6 +609,13 @@ Sized_relobj::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; }