summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog8
-rw-r--r--bfd/elf32-tilepro.c5
-rw-r--r--bfd/elf64-s390.c5
-rw-r--r--bfd/elfxx-sparc.c7
4 files changed, 18 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6e34cc75f2..cc4d7fdc73 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,11 @@
+2013-08-24 Maciej W. Rozycki <macro@linux-mips.org>
+
+ * elf32-tilepro.c (tilepro_elf_finish_dynamic_sections): Don't
+ set GOT's entry size if there is no ELF section data.
+ * elf64-s390.c (elf_s390_finish_dynamic_sections): Likewise.
+ * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections):
+ Likewise.
+
2013-08-23 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (get_elf_x86_64_arch_data): New.
diff --git a/bfd/elf32-tilepro.c b/bfd/elf32-tilepro.c
index 62b9553647..c36da2bee2 100644
--- a/bfd/elf32-tilepro.c
+++ b/bfd/elf32-tilepro.c
@@ -3909,8 +3909,9 @@ tilepro_elf_finish_dynamic_sections (bfd *output_bfd,
PLT_ENTRY_SIZE - PLT_HEADER_SIZE);
}
- elf_section_data (splt->output_section)->this_hdr.sh_entsize
- = PLT_ENTRY_SIZE;
+ if (elf_section_data (splt->output_section) != NULL)
+ elf_section_data (splt->output_section)->this_hdr.sh_entsize
+ = PLT_ENTRY_SIZE;
}
if (htab->elf.sgotplt)
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 75413e03a9..3aea98ce76 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -3692,8 +3692,9 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd,
- htab->elf.splt->output_section->vma - 6)/2,
htab->elf.splt->contents + 8);
}
- elf_section_data (htab->elf.splt->output_section)
- ->this_hdr.sh_entsize = PLT_ENTRY_SIZE;
+ if (elf_section_data (htab->elf.splt->output_section) != NULL)
+ elf_section_data (htab->elf.splt->output_section)->this_hdr.sh_entsize
+ = PLT_ENTRY_SIZE;
}
if (htab->elf.sgotplt)
diff --git a/bfd/elfxx-sparc.c b/bfd/elfxx-sparc.c
index ba001056af..94da3600a8 100644
--- a/bfd/elfxx-sparc.c
+++ b/bfd/elfxx-sparc.c
@@ -4793,9 +4793,10 @@ _bfd_sparc_elf_finish_dynamic_sections (bfd *output_bfd, struct bfd_link_info *i
}
}
- elf_section_data (splt->output_section)->this_hdr.sh_entsize
- = (htab->is_vxworks || !ABI_64_P (output_bfd))
- ? 0 : htab->plt_entry_size;
+ if (elf_section_data (splt->output_section) != NULL)
+ elf_section_data (splt->output_section)->this_hdr.sh_entsize
+ = ((htab->is_vxworks || !ABI_64_P (output_bfd))
+ ? 0 : htab->plt_entry_size);
}
/* Set the first entry in the global offset table to the address of
OpenPOWER on IntegriCloud