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 | |
parent | 78c8836415d45839875a5f312bfaa3d3ceea189a (diff) | |
download | gdb-7550610057c51d47e3815ef93893d4f4faa7e03d.zip gdb-7550610057c51d47e3815ef93893d4f4faa7e03d.tar.gz gdb-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'.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b651051..091e363 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2018-02-05 Maciej W. Rozycki <macro@mips.com> + + * elf.c (_bfd_elf_write_object_contents): Propagate a failure + status from `->elf_backend_section_processing'. + 2018-02-02 Jim Wilson <jimw@sifive.com> PR ld/22756 @@ -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; |