This is the mail archive of the
mailing list for the binutils project.
RE: environ is autofiltered from dll export list?
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: "'Christopher Faylor'" <me at cgf dot cx>, "'Pedro Alves'" <pedro_alves at portugalmail dot pt>, <binutils at sourceware dot org>
- Date: Wed, 24 May 2006 18:08:52 +0100
- Subject: RE: environ is autofiltered from dll export list?
On 24 May 2006 17:20, Christopher Faylor wrote:
> On Wed, May 24, 2006 at 01:55:53PM +0100, Pedro Alves wrote:
>> Dave Korn wrote:
>>> On 23 May 2006 22:02, Pedro Alves wrote:
>> Ok, I can provide a patch for that, but I would like to understand the
>> environ part of my question first.
Can't say I understand what it's need for myself, but ...
>>> char** environ is explicitly disabled from dll exporting in
>> pe-dll.c's autofilters. Why is it? I tried to look in the archives,
>>> back when the auto-importing was introduced, but couldn't find the
>>> rationale. Should every dll have its own environ?
>> I think this was needed when there was no auto-importing, and cygwin
>> defined environ as __cygwin_environ:
>> Is it still needed? In that case I will have to conditionally compile
>> out that part for arm-wince-pe target.
> Are you asking if cygwin still exports environ as __cygwin_environ? If
> so, then the answer is "yes".
... since it's still needed, you will indeed have to disable it for
arm-wince-pe. However, you shouldn't conditionally compile it out, because
that's the kind of non-multi-arch borkenness that we want to avoid; using
"#ifdef" in binutils makes --enable-targets=all fall down in very mysterious
and hard-to-isolate ways!
Take a look at pe_dll_id_target; you could add a flag in the pe_details_type
entries that control which arches use which autofilter names. Or you could do
it the other way round, and add flags to autofilter_entry_type to tell it
which arches should use or ignore that particular entry.
Can't think of a witty .sigline today....