diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/peXXigen.c | 2 | ||||
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/objcopy.c | 5 |
4 files changed, 16 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bc34a78..194ba68 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2009-04-27 H.J. Lu <hongjiu.lu@intel.com> + + * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Don't + copy pe_opthdr. + 2009-04-23 Matthias Klose <doko@ubuntu.com> * peXXigen.c (_bfd_XXi_swap_sym_in): Initialize `name'. diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c index 76224cb..4229de2 100644 --- a/bfd/peXXigen.c +++ b/bfd/peXXigen.c @@ -2188,7 +2188,7 @@ _bfd_XX_bfd_copy_private_bfd_data_common (bfd * ibfd, bfd * obfd) ipe = pe_data (ibfd); ope = pe_data (obfd); - ope->pe_opthdr = ipe->pe_opthdr; + /* pe_opthdr is copied in copy_object. */ ope->dll = ipe->dll; /* Don't copy input subsystem if output is different from input. */ diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 0e2d554..75af8f1 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2009-04-27 H.J. Lu <hongjiu.lu@intel.com> + + * objcopy.c (copy_object): Copy pe_opthdr before changing PE + parameters. + 2009-04-24 Cary Coutant <ccoutant@google.com> * dwarf.c (process_extended_line_op): Add DW_LNE_set_discriminator. diff --git a/binutils/objcopy.c b/binutils/objcopy.c index 3fe8741..7ef95c5 100644 --- a/binutils/objcopy.c +++ b/binutils/objcopy.c @@ -1491,6 +1491,11 @@ copy_object (bfd *ibfd, bfd *obfd) /* Set up PE parameters. */ pe_data_type *pe = pe_data (obfd); + /* Copy PE parameters before changing them. */ + if (ibfd->xvec->flavour == bfd_target_coff_flavour + && bfd_pei_p (ibfd)) + pe->pe_opthdr = pe_data (ibfd)->pe_opthdr; + if (pe_file_alignment != (bfd_vma) -1) pe->pe_opthdr.FileAlignment = pe_file_alignment; else |