aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-04-27 13:59:43 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-04-27 13:59:43 +0000
commit325c681d94281b21b30dc18dd604a54e418df607 (patch)
tree9d1a23e038a82d3e57094def34d1df5924f04d86
parent945a118de0fdc7934635cfe263d14444ebbdd403 (diff)
downloadgdb-325c681d94281b21b30dc18dd604a54e418df607.zip
gdb-325c681d94281b21b30dc18dd604a54e418df607.tar.gz
gdb-325c681d94281b21b30dc18dd604a54e418df607.tar.bz2
bfd/
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. binutils/ 2009-04-27 H.J. Lu <hongjiu.lu@intel.com> * objcopy.c (copy_object): Copy pe_opthdr before changing PE parameters.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/peXXigen.c2
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/objcopy.c5
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