* reloc.cc (relocate_sections): Skip empty relocation sections.
This commit is contained in:
Ian Lance Taylor 2009-06-24 14:36:14 +00:00
parent cf13d6995d
commit 1307d6cd4a
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2009-06-24 Ian Lance Taylor <iant@google.com>
PR 10244
* reloc.cc (relocate_sections): Skip empty relocation sections.
2009-06-23 Ian Lance Taylor <iant@google.com>
PR 10156

View File

@ -822,6 +822,10 @@ Sized_relobj<size, big_endian>::relocate_sections(
if (sh_type != elfcpp::SHT_REL && sh_type != elfcpp::SHT_RELA)
continue;
off_t sh_size = shdr.get_sh_size();
if (sh_size == 0)
continue;
unsigned int index = this->adjust_shndx(shdr.get_sh_info());
if (index >= this->shnum())
{
@ -851,7 +855,6 @@ Sized_relobj<size, big_endian>::relocate_sections(
continue;
}
off_t sh_size = shdr.get_sh_size();
const unsigned char* prelocs = this->get_view(shdr.get_sh_offset(),
sh_size, true, false);