aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/reloc.cc3
2 files changed, 8 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index ba1e407..08429b7 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2011-05-30 Ian Lance Taylor <iant@google.com>
+
+ * reloc.cc (Sized_relobj_file::do_read_relocs): Ignore empty reloc
+ sections.
+
2011-05-29 Ian Lance Taylor <iant@google.com>
PR gold/12804
diff --git a/gold/reloc.cc b/gold/reloc.cc
index 97ed337..dacab35 100644
--- a/gold/reloc.cc
+++ b/gold/reloc.cc
@@ -322,6 +322,9 @@ Sized_relobj_file<size, big_endian>::do_read_relocs(Read_relocs_data* rd)
off_t sh_size = shdr.get_sh_size();
+ if (sh_size == 0)
+ continue;
+
unsigned int reloc_size;
if (sh_type == elfcpp::SHT_REL)
reloc_size = elfcpp::Elf_sizes<size>::rel_size;