dlls/msvcrtd/msvcrtd.spec breaks portability
Gerald Pfeifer
pfeifer at dbai.tuwien.ac.at
Sun Apr 6 14:54:40 CDT 2003
The following unfortunately breaks FreeBSD 4.8 (and probably other systems
as well):
/home/wine/wine/dlls/msvcrtd/msvcrtd.spec
revision 1.1
date: 2003/04/04 19:37:57; author: julliard; state: Exp;
Adam Gundy <arg at cyberscience.com>
Added an implementation of the MSVCRTD.DLL debugging C runtime DLL.
Here is the actual failure mode:
/usr/bin/gcc -shared -Wl,-Bsymbolic,-z,defs msvcrtd.spec.o debug.o
msvcrtd.dll.dbg.o -o msvcrtd.dll.so -L../../dlls -L../../libs/wine -lwine -L../../libs/port -lwine_port -lm -lc
msvcrtd.spec.o: In function `__wine_spec_exports_funcs':
msvcrtd.spec.o(.data+0x3a8): undefined reference to `ecvt'
msvcrtd.spec.o(.data+0x3f8): undefined reference to `fcvt'
msvcrtd.spec.o(.data+0x474): undefined reference to `gcvt'
msvcrtd.spec.o: In function `__wine_spec_forwards':
msvcrtd.spec.o(.data+0x52cc): undefined reference to `ecvt'
msvcrtd.spec.o(.data+0x540c): undefined reference to `fcvt'
msvcrtd.spec.o(.data+0x55fc): undefined reference to `gcvt'
msvcrtd.spec.o(.data+0x52c5): undefined reference to `ecvt'
msvcrtd.spec.o(.data+0x5405): undefined reference to `fcvt'
msvcrtd.spec.o(.data+0x55f5): undefined reference to `gcvt'
gmake[2]: *** [msvcrtd.dll.so] Error 1
gmake[2]: Leaving directory `/.amd_mnt/nashira/files5/test/wine/dlls/msvcrtd'
gmake[1]: *** [msvcrtd] Error 2
According to /usr/include/stdlib.h on my GNU/Linux boxes and the man
pages, I'm quite sure that these three functions are not ISO C:
#if defined __USE_SVID || defined __USE_XOPEN_EXTENDED
NOTES
These functions are obsolete. Instead, sprintf() is recommended.
Linux libc4 and libc5 specified the type of ndigits as size_t. Not
all locales use a point as the radix character (`decimal point').
CONFORMING TO
SysVR2, XPG2
Can we simply remove them?
Gerald
--
Gerald "Jerry" pfeifer at dbai.tuwien.ac.at http://www.pfeifer.com/gerald/
More information about the wine-devel
mailing list