This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Esound 0.2.8 is dead - Esound 0.2.23 compiles fine


Robert Collins wrote:


> Chuck: A suggestion for ld if it's feasible: Detect auto-exported
> variables that can't be auto-imported and warn about them. This will
> save guesswork or laborious source code auditing for new ports.
> 
> I haven't looked at the auto-import stuff since the work we did months
> ago - does this sound feasible to you?


I don't think so.  The way we recognize the problematic imports not 
proactive, it's reactive.  When gcc compiles an object with an import 
reference to a "bad" variable type, it creates an offset addend.  We SEE 
that nonzero addend, and flag it as an error -- but you only see that when 
trying to link the *calling* object; you don't see that funky addend stuff 
when linking the *providing* object (the DLL itself).

AFAIK, there's nothing special about the export itself (except that it 
requires multiple words for storage) that we can recognize proactively when 
building the DLL itself.  (Anything based on subtracting the base addresses 
of "consecutive" exports is bound to be flaky).

I don't really think this is doable -- but then again, I didn't believe 
Paul could pull of the auto-import thing in the first place. :-)

--Chuck


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]