summaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-05-22 00:04:40 +0000
committerAlan Modra <amodra@bigpond.net.au>2002-05-22 00:04:40 +0000
commit29906100002e261c4e372aef2993b497c7309fb3 (patch)
tree4849b15a28388e40dfed53ba03ef0834240d7929 /bfd
parent3998767389f931389f7bc1096a3cbaff09066698 (diff)
downloadgdb-29906100002e261c4e372aef2993b497c7309fb3.tar.gz
* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
unresolved relocs. (ppc64_elf_size_dynamic_sections): Check for splt NULL.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog6
-rw-r--r--bfd/elf64-ppc.c17
2 files changed, 16 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index db0f945fff2..e4e026b6cb1 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2002-05-22 Alan Modra <amodra@bigpond.net.au>
+
+ * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
+ unresolved relocs.
+ (ppc64_elf_size_dynamic_sections): Check for splt NULL.
+
2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* bfd/bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 65ef4535ef9..a304090685e 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -3897,7 +3897,7 @@ ppc64_elf_size_dynamic_sections (output_bfd, info)
return false;
}
- if (htab->splt->_raw_size != 0)
+ if (htab->splt != NULL && htab->splt->_raw_size != 0)
{
if (!add_dynamic_entry (DT_PLTGOT, 0)
|| !add_dynamic_entry (DT_PLTRELSZ, 0)
@@ -5716,12 +5716,15 @@ ppc64_elf_relocate_section (output_bfd, info, input_bfd, input_section,
&& !(info->shared
&& (input_section->flags & SEC_DEBUGGING) != 0
&& (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0))
- (*_bfd_error_handler)
- (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
- bfd_archive_filename (input_bfd),
- bfd_get_section_name (input_bfd, input_section),
- (long) rel->r_offset,
- h->root.root.string);
+ {
+ (*_bfd_error_handler)
+ (_("%s(%s+0x%lx): unresolvable relocation against symbol `%s'"),
+ bfd_archive_filename (input_bfd),
+ bfd_get_section_name (input_bfd, input_section),
+ (long) rel->r_offset,
+ h->root.root.string);
+ ret = false;
+ }
r = _bfd_final_link_relocate (ppc64_elf_howto_table[(int) r_type],
input_bfd,