This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] ELF/BFD: Propagate the return status from backend section processing


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=7550610057c51d47e3815ef93893d4f4faa7e03d

commit 7550610057c51d47e3815ef93893d4f4faa7e03d
Author: Maciej W. Rozycki <macro@mips.com>
Date:   Mon Feb 5 14:00:21 2018 +0000

    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'.

Diff:
---
 bfd/ChangeLog | 5 +++++
 bfd/elf.c     | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

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
diff --git a/bfd/elf.c b/bfd/elf.c
index d71efd1..dedf35f 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -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;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]