Hi Jan,
Even more KISS-like:
if (pe_data (obfd) != NULL && pe_data (ibfd) != NULL && (pe_data (obfd)->real_flags & 0x20)) pe_data (obfd)->real_flags |= 0x20;
Except of course that you want to check for the presence of the flag in the *input* bfd and then copy it to the output bfd... So I have checked in this version of the patch:
bfd/ChangeLog PR binutils/716 * peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address aware flag from the input bfd to the output bfd.
Index: bfd/peicode.h
===================================================================
RCS file: /cvs/src/src/bfd/peicode.h,v
retrieving revision 1.42
diff -c -3 -p -r1.42 peicode.h
*** bfd/peicode.h 31 Jan 2005 23:13:29 -0000 1.42
--- bfd/peicode.h 14 Feb 2005 11:17:43 -0000
*************** static bfd_boolean
*** 384,389 ****
--- 384,397 ----
pe_bfd_copy_private_bfd_data (ibfd, obfd)
bfd *ibfd, *obfd;
{
+ /* PR binutils/716: Copy the large address aware flag.
+ XXX: Should we be copying other flags or other fields in the pe_data()
+ structure ? */
+ if (pe_data (obfd) != NULL
+ && pe_data (ibfd) != NULL
+ && pe_data (ibfd)->real_flags & IMAGE_FILE_LARGE_ADDRESS_AWARE)
+ pe_data (obfd)->real_flags |= IMAGE_FILE_LARGE_ADDRESS_AWARE;
+
if (!_bfd_XX_bfd_copy_private_bfd_data_common (ibfd, obfd))
return FALSE;
_______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils