diff options
author | Maciej W. Rozycki <macro@mips.com> | 2018-02-05 14:00:21 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@mips.com> | 2018-02-05 14:00:21 +0000 |
commit | 7550610057c51d47e3815ef93893d4f4faa7e03d (patch) | |
tree | 9b0a6d5613cde05e1a64473f41cd23d4f95981d7 /bfd/elf.c | |
parent | 78c8836415d45839875a5f312bfaa3d3ceea189a (diff) | |
download | binutils-7550610057c51d47e3815ef93893d4f4faa7e03d.zip binutils-7550610057c51d47e3815ef93893d4f4faa7e03d.tar.gz binutils-7550610057c51d47e3815ef93893d4f4faa7e03d.tar.bz2 |
ELF/BFD: Propagate the return status from backend section processing
Fix the issue of any failure from `->elf_backend_section_processing'
not being propagated by `_bfd_elf_write_object_contents'. The MIPS
`_bfd_mips_elf_section_processing' handler can actually potentially
fail, however the caller currently ignores that.
bfd/
* elf.c (_bfd_elf_write_object_contents): Propagate a failure
status from `->elf_backend_section_processing'.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r-- | bfd/elf.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -6354,7 +6354,8 @@ _bfd_elf_write_object_contents (bfd *abfd) = _bfd_elf_strtab_offset (elf_shstrtab (abfd), i_shdrp[count]->sh_name); if (bed->elf_backend_section_processing) - (*bed->elf_backend_section_processing) (abfd, i_shdrp[count]); + if (!(*bed->elf_backend_section_processing) (abfd, i_shdrp[count])) + return FALSE; if (i_shdrp[count]->contents) { bfd_size_type amt = i_shdrp[count]->sh_size; |