[patch PR 51900]: Fix PE's delegitimize_address functions

Kai Tietz ktietz70@googlemail.com
Mon Jan 23 11:20:00 GMT 2012


2012/1/23 Richard Guenther <richard.guenther@gmail.com>:
> On Sun, Jan 22, 2012 at 8:05 PM, Kai Tietz <ktietz70@googlemail.com> wrote:
>> Hello,
>>
>> this patch fixes reported issue in PR about common-symbols and fix
>> behavior about -fcommon/-fno-common.  Additionally it adds proper
>> support for weakref, local-variant of weaks, and tries to handle
>> resolution-file information for PE-COFF.
>>
>> I did regression tests of all standard-languages for
>> x86_64-w64-mingw32 and i686-w64-mingw32.  Dave would you mind to test
>> it for cygwin, too?  I assume it will fit for cygwin, but just to make
>> sure.  Also I did a regression test for x86_64-unknown-linux-gnu.
>>
>> Patch ok for apply?
>
> As said in the PR your binds_local_p target hook should end with calling
> default_binds_local_p[_1].  No need to duplicate all code in your hook
> (it will quickly get out-of-date).
>
> Richard.

Well, issue here is the following block in default_binds_local_p_1:

...
  /* Variables defined outside this object might not be local.  */
  else if (DECL_EXTERNAL (exp) && !resolved_locally)
    local_p = false;
...

This condition is only true for PE-coff, if dllimport attribute was specified.

I will try to adjust patch for this, but some redudant checkings are
necessary here for sure.

Kai



More information about the Gcc-patches mailing list