This is the mail archive of the cygwin-apps mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]


On Mar 20 21:45, Corinna Vinschen wrote:
> On Mar 20 19:19, Achim Gratz wrote:
> > What's going wrong is that the symbols are also defined in libc.a on
> > 32bit and only in libm.a on 64bit.  The configury for Cygwin removes
> > both -lc and -lm from the list of libraries that should explicitly be
> > linked with, a comment is present that both libc and libm symlink to
> > libcygwin and are implied by gcc anyway.  However that doesn't seem to
> > be the case anymore on both architectures (these files are not symlinked
> > and not hardlinked either), but the symbol construction is just
> > different enough for this not to work on 64bit it would seem.
> No, that's not quite it.  The problem is that on 32 bit the
> *underscored* functions are exported by libc.a.  This is an accident,
> and probably one which is many years old.  Here's what's exported by
> libm.a:
>   nm libm.a | grep copysign
> 	   U __imp__copysign
>   00000000 T _copysign
> 	   U __imp__copysignf
>   00000000 T _copysignf
> And here's what's exported on 32 bit by libc.a.  Note the extra leading
> underscore:
>   $ nm libc.a | grep copysign
>   00000000 T __copysign
> 	   U __imp___copysign
>   00000000 T __copysignf
> 	   U __imp___copysignf
> These underscored versions were always exported additionally by the 32
> bit version but they have never been exported on 64 bit since exporting
> them was wrong from the start.

I'd like to get rid of them but the 32 bit versions has to stick to
them for backward compat.


Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

Attachment: signature.asc
Description: PGP signature

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