X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=bfd%2Felf32-dlx.c;h=6995de45fccfeb2a6300629148f15c55d43902a3;hb=5f23a08201ed01570b34f5cff99a95fc7b9e2fdb;hp=907eddd7ce78f3b8aa3979370f6e7ab7b76b1776;hpb=38f14ab8fcfa4eab8bab417a5a165b7403ef9b0e;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elf32-dlx.c b/bfd/elf32-dlx.c index 907eddd7ce..6995de45fc 100644 --- a/bfd/elf32-dlx.c +++ b/bfd/elf32-dlx.c @@ -1,5 +1,5 @@ /* DLX specific support for 32-bit ELF - Copyright (C) 2002-2018 Free Software Foundation, Inc. + Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -465,9 +465,7 @@ elf32_dlx_check_relocs (bfd *abfd, /* This relocation describes which C++ vtable entries are actually used. Record for later use during GC. */ case R_DLX_GNU_VTENTRY: - BFD_ASSERT (h != NULL); - if (h != NULL - && !bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) + if (!bfd_elf_gc_record_vtentry (abfd, sec, h, rel->r_addend)) return FALSE; break; } @@ -547,21 +545,22 @@ dlx_rtype_to_howto (bfd *abfd, unsigned int r_type) { _bfd_error_handler (_("%pB: unsupported relocation type %#x"), abfd, r_type); - r_type = 0; + bfd_set_error (bfd_error_bad_value); + return NULL; } return & dlx_elf_howto_table[r_type]; } } -static void +static bfd_boolean elf32_dlx_info_to_howto (bfd * abfd ATTRIBUTE_UNUSED, arelent * cache_ptr ATTRIBUTE_UNUSED, Elf_Internal_Rela * dst ATTRIBUTE_UNUSED) { - abort (); + return FALSE; } -static void +static bfd_boolean elf32_dlx_info_to_howto_rel (bfd *abfd, arelent *cache_ptr, Elf_Internal_Rela *dst) @@ -570,7 +569,7 @@ elf32_dlx_info_to_howto_rel (bfd *abfd, r_type = ELF32_R_TYPE (dst->r_info); cache_ptr->howto = dlx_rtype_to_howto (abfd, r_type); - return; + return cache_ptr->howto != NULL; } #define TARGET_BIG_SYM dlx_elf32_be_vec