This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Missing variable 'pe_data_import_dll'
- To: binutils at sources dot redhat dot com
- Subject: Re: Missing variable 'pe_data_import_dll'
- From: Charles Wilson <cwilson at ece dot gatech dot edu>
- Date: Thu, 09 Aug 2001 18:25:02 -0400
- CC: Paul Sokolovsky <paul dot sokolovsky at technologist dot com>,Robert Collins <robert dot collins at itdomain dot com dot au>
> Hi Paul,
>
> Your recent patch to ld/pe-dll.c:
>
> 2001-08-02 Paul Sokolovsky <paul.sokolovsky@technologist.com>
>
This patch originated with Paul; however, I and others modified it
significantly before it was accepted into binutils CVS.
>
> created a reference to an external variable called: 'pe_data_import_dll'
> in the function pe_create_import_fixup().
Ah. but this particular variable (which started life as
"data_import_dll") originated in a part of the code which was carried
unchanged from Paul's original. So, it is correct that questions about
this should be directed to Paul...but I'll elaborate below.
> Unfortunately this new variable does not appear to be defined anywhere!
> (At least it was not defined when I tried to build the arm-epoc-pe
> target today).
It is defined in emultempl/pe.em. From my personal "auto-import STATUS"
list:
> 1. make pe_data_import_dll static? No, used in both pe.em and
> pe-dll.c. But why? Is this really necessary -- it sure is ugly. Can
> we fix it?
So, it is on the agenda -- but I did not realize the problem would cause
a build failure for another platform. So, that makes increases its
priority...
Unfortunately, I am not sure why this "data sharing" between pe.em and
pe-dll.c is necessary, and haven't had time to dig into it yet. Worse,
my development machine is dead and shipped back to manufacturer for
repair. Sigh.
Paul, I asked you before ( in message "Re: [RFA] pei386 dll: auto-import
patch" at 2:03am on Aug 2 ) about this variable
>>> +char *data_import_dll;
>>>
>>
>> Should this be static?
>
> No, it's used in both pe.em and pe-dll.c. Although, I'm not really
> sure why. Paul? Robert? If it really needs to be public, I
> suppose we should rename it pe_data_import_dll.
Please comment; is there any way to eliminate the use of this global?
Thanks,
Chuck