From: Nick Clifton Date: Wed, 17 Sep 1997 16:52:23 +0000 (+0000) Subject: Catch relocations against non-existant symbols. X-Git-Tag: gdb-4_18-branchpoint~4708 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db1fa6ab261fd9d5a22b8c8adec16c54dcb4b7ea;p=thirdparty%2Fbinutils-gdb.git Catch relocations against non-existant symbols. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bae50f89685..dd64b747b34 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +Wed Sep 17 09:54:51 1997 Nick Clifton + + * elf32-v850.c (v850_elf_final_link_relocate): Add checks to catch + relocations against non-existant symbols. + Tue Sep 16 14:20:27 1997 Nick Clifton * reloc.c: Add BFR_RELOC_V850_TDA_16_16_OFFSET. diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index feb298e4da0..d3339fb6fbf 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -945,6 +945,9 @@ v850_elf_final_link_relocate (howto, input_bfd, output_bfd, return bfd_reloc_ok; case R_V850_ZDA_16_16_OFFSET: + if (sym_sec == NULL) + return bfd_reloc_undefined; + value -= sym_sec->output_section->vma; value += (short) bfd_get_16 (input_bfd, hit_data); @@ -955,6 +958,9 @@ v850_elf_final_link_relocate (howto, input_bfd, output_bfd, return bfd_reloc_ok; case R_V850_ZDA_15_16_OFFSET: + if (sym_sec == NULL) + return bfd_reloc_undefined; + insn = bfd_get_16 (input_bfd, hit_data); value -= sym_sec->output_section->vma; @@ -984,6 +990,9 @@ v850_elf_final_link_relocate (howto, input_bfd, output_bfd, return bfd_reloc_ok; case R_V850_SDA_16_16_OFFSET: + if (sym_sec == NULL) + return bfd_reloc_undefined; + { unsigned long gp; struct bfd_link_hash_entry * h; @@ -1010,6 +1019,9 @@ v850_elf_final_link_relocate (howto, input_bfd, output_bfd, } case R_V850_SDA_15_16_OFFSET: + if (sym_sec == NULL) + return bfd_reloc_undefined; + { unsigned long gp; struct bfd_link_hash_entry * h; @@ -1218,6 +1230,9 @@ v850_elf_final_link_relocate (howto, input_bfd, output_bfd, } case R_V850_SDA_16_16_SPLIT_OFFSET: + if (sym_sec == NULL) + return bfd_reloc_undefined; + { unsigned long gp; struct bfd_link_hash_entry * h; @@ -1252,6 +1267,9 @@ v850_elf_final_link_relocate (howto, input_bfd, output_bfd, } case R_V850_ZDA_16_16_SPLIT_OFFSET: + if (sym_sec == NULL) + return bfd_reloc_undefined; + insn = bfd_get_32 (input_bfd, hit_data); value -= sym_sec->output_section->vma;