bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug binutils/716] strip doesn't maintain /LARGEADDRESSAWARE flag (m


From: Nick Clifton
Subject: Re: [Bug binutils/716] strip doesn't maintain /LARGEADDRESSAWARE flag (mingw build, Windows 2000)
Date: Mon, 14 Feb 2005 11:30:32 +0000
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

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;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]