diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-06-29 21:54:44 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-06-29 21:54:44 +0000 |
commit | a040981f6272e74d8157108e1677bc4d13425cd0 (patch) | |
tree | 9a3d9e53eb3d92742c8227ff408748aae7acad5a /bfd | |
parent | d5abbdf3c1a08ac490b0abd9aa026a9e02952782 (diff) | |
download | gdb-a040981f6272e74d8157108e1677bc4d13425cd0.zip gdb-a040981f6272e74d8157108e1677bc4d13425cd0.tar.gz gdb-a040981f6272e74d8157108e1677bc4d13425cd0.tar.bz2 |
Return FALSE on unresolvable relocation
* elf64-x86-64.c (elf_x86_64_relocate_section): Return FALSE
on unresolvable relocation.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf64-x86-64.c | 17 |
2 files changed, 15 insertions, 7 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9ea3a1e..921e679 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,10 @@ 2012-06-29 H.J. Lu <hongjiu.lu@intel.com> + * elf64-x86-64.c (elf_x86_64_relocate_section): Return FALSE + on unresolvable relocation. + +2012-06-29 H.J. Lu <hongjiu.lu@intel.com> + * archive.c (_bfd_compute_and_write_armap): Simplify global symbol handling. diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 03cd2f3..a29ba8a 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -4210,13 +4210,16 @@ elf_x86_64_relocate_section (bfd *output_bfd, && h->def_dynamic) && _bfd_elf_section_offset (output_bfd, info, input_section, rel->r_offset) != (bfd_vma) -1) - (*_bfd_error_handler) - (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"), - input_bfd, - input_section, - (long) rel->r_offset, - howto->name, - h->root.root.string); + { + (*_bfd_error_handler) + (_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"), + input_bfd, + input_section, + (long) rel->r_offset, + howto->name, + h->root.root.string); + return FALSE; + } do_relocation: r = _bfd_final_link_relocate (howto, input_bfd, input_section, |