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: Charles Wilson <cwilson at ece dot gatech dot edu>
- Subject: Re: Missing variable 'pe_data_import_dll'
- From: Nick Clifton <nickc at cambridge dot redhat dot com>
- Date: 24 Sep 2001 16:04:53 +0100
- Cc: binutils at sources dot redhat dot com,Paul Sokolovsky <paul dot sokolovsky at technologist dot com>,Robert Collins <robert dot collins at itdomain dot com dot au>
- References: <3B730DBE.4080906@ece.gatech.edu><3BAAE296.4030801@ece.gatech.edu>
Hi Charles,
> This is an attempt to improve the situation w.r.t. this shared data
> between pe.em and pe-dll.c. It works as expected on cygwin, but can
> somebody on a non-DLL, pei386 platform (like arm-epoc-pe) give this a
> shot?
I did, and -boo- it did not work. The I moved the definition of the
pe_get_data_import_dll_name() outside of a section of code controlled
by #ifdef DLL_SUPPORT and it worked ... :) I have checked this
modified version in.
oops - spoke too soon - just noticed that building with
--enable-targets=all fails. I will fix this in a second...
> + * Nick suggests the following method:
> + * I still feel however, that there ought to be a better
> + * way to solve this problem. My suggestion is that the
> + * definition of DLL_SUPPORT ought to be set in ld/configure.tgt
> + * rather than ld/emultemp/pe.em and then tested in ld/pe-dll.c
> + * before it uses variables that are only defined in pe.em.
> + * However, I don't understand this. ld/configure.tgt sets SHELL
> + * variables, not #define variables. You'd need #define variables
> + * to #ifdef out the offending sections of code from pe-dll.c
My idea was that you create a new configure variable, eg
'targ_cflags', initialise in in configure.tgt (default empty, for
relevant targets set to '-DDLL_SUPPORT') and then process it in
configure.in and transfer it to Makefile.in via Makefile.am.... Simple
really :-)
Cheers
Nick