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~4709 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db1fa6ab261fd9d5a22b8c8adec16c54dcb4b7ea;p=external%2Fbinutils.git Catch relocations against non-existant symbols. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bae50f8..dd64b74 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 feb298e..d3339fb 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;