[patch binutils]: Fix Bug binutils/11822: PE file alignment ignored in objcopy and strip

Kai Tietz ktietz70@googlemail.com
Thu Aug 21 08:31:00 GMT 2014


Hello,

Passing --section-alignment and --file-alignment values to objcopy sometimes
leads to completely messed up alignment. Underlying issue was that valid
optional header FileAlignment was ignored for none-set linkinfo.  This isn't
correct assumption for objcopy.

ChangeLog

2014-08-21  Kai Tietz  <ktietz@redhat.com>

    PR binutils/11822
    * coffcode.h (coff_compute_section_file_positions): Keep
    FileAlignment valid as set.

Tested for x86_64-w64-mingw32, i686-w64-mingw32.  Ok for apply?

Regards,
Kai
-------------- next part --------------
From 6e2c928155887d382eba4480edbe8f2a5a976ba3 Mon Sep 17 00:00:00 2001
From: Kai Tietz <ktietz70@googlemail.com>
Date: Wed, 20 Aug 2014 17:39:21 +0200
Subject: Fix file-alignment for objcopy for pe-coff

---
 bfd/coffcode.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 89ca234..6678b88 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -3134,7 +3134,8 @@ coff_compute_section_file_positions (bfd * abfd)
 #ifdef COFF_IMAGE_WITH_PE
   int page_size;
 
-  if (coff_data (abfd)->link_info)
+  if (coff_data (abfd)->link_info
+      || (pe_data (abfd) && pe_data (abfd)->pe_opthdr.FileAlignment))
     {
       page_size = pe_data (abfd)->pe_opthdr.FileAlignment;
 
-- 
1.7.9



More information about the Binutils mailing list