[binutils-gdb] Clear the ch_reserved field in 64-bit output

H.J.Lu hjl@sourceware.org
Tue Oct 6 21:35:00 GMT 2015


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

commit 8c6da3dfbc65354975680bf7d8e273dbdca5de87
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Tue Oct 6 14:34:17 2015 -0700

    Clear the ch_reserved field in 64-bit output
    
    It is better to clear the ch_reserved field of Elf64_External_Chdr
    in 64-bit output.
    
    	* bfd.c (bfd_update_compression_header): Clear the ch_reserved
    	field in 64-bit output.
    	(bfd_convert_section_contents): Likewise.

Diff:
---
 bfd/ChangeLog | 6 ++++++
 bfd/bfd.c     | 2 ++
 2 files changed, 8 insertions(+)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index db6fe6b..b2a8855 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* bfd.c (bfd_update_compression_header): Clear the ch_reserved
+	field in 64-bit output.
+	(bfd_convert_section_contents): Likewise.
+
 2015-10-05  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR ld/18914
diff --git a/bfd/bfd.c b/bfd/bfd.c
index f68f665..9c4457e 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -2001,6 +2001,7 @@ bfd_update_compression_header (bfd *abfd, bfd_byte *contents,
 		  Elf64_External_Chdr *echdr
 		    = (Elf64_External_Chdr *) contents;
 		  bfd_put_32 (abfd, ELFCOMPRESS_ZLIB, &echdr->ch_type);
+		  bfd_put_32 (abfd, 0, &echdr->ch_reserved);
 		  bfd_put_64 (abfd, sec->size, &echdr->ch_size);
 		  bfd_put_64 (abfd, 1 << sec->alignment_power,
 			      &echdr->ch_addralign);
@@ -2251,6 +2252,7 @@ bfd_convert_section_contents (bfd *ibfd, sec_ptr isec, bfd *obfd,
     {
       Elf64_External_Chdr *echdr = (Elf64_External_Chdr *) contents;
       bfd_put_32 (obfd, ELFCOMPRESS_ZLIB, &echdr->ch_type);
+      bfd_put_32 (obfd, 0, &echdr->ch_reserved);
       bfd_put_64 (obfd, chdr.ch_size, &echdr->ch_size);
       bfd_put_64 (obfd, chdr.ch_addralign, &echdr->ch_addralign);
     }



More information about the Binutils-cvs mailing list