On Feb 14 23:17, Marco Atzeri wrote: > On 2/14/2015 10:58 PM, Václav Zeman wrote: > >On 14.2.2015 22:55, Václav Zeman wrote: > >>On 14.2.2015 09:20, Marco Atzeri wrote: > >>>I am trying to upgrade proftpd and also build the 64bit version. > >>>However when building the 64bit one, I catch: > >>> > >>>/pub/devel/proftpd/proftpd-1.3.5-1.x86_64/build/lib/pr_fnmatch_loop.c:1142: > >>>undefined reference to `__mempcpy' > >>> > >>>I see this difference in exported symbols for the the two archs > >>> > >>>32bit > >>>$ nm /usr/lib/libcygwin.a |grep " T " |sort | grep mempcpy > >>>00000000 T ___mempcpy > >>>00000000 T _mempcpy > >>> > >>>64bit > >>>$ nm /usr/lib/libcygwin.a |grep " T " |sort | grep mempcpy > >>>0000000000000000 T mempcpy > >>> > >>> > >>>any idea ? > >> > >>`__memcpy()` is their invention: > > you missed the point > > __mempcpy is exported by cygwin lib at 32bit > but not at 64 bit. > > For both the the two arch HAVE_MEMPCPY is defined.
The 32 bit variant exports lots of underscored versions of standard POSIX functions for historical reasons. We didn't want to reproduce this for the 64 bit version so the whole lot was restricted to the 32 bit export definition file. However, __mempcpy is a GNU symbol just as the non-underscored variant. This has gone unnoticed when we created the export definitions for 64 bit. I fixed that in CVS. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
pgp8DqMFaTlYc.pgp
Description: PGP signature