http://bugs.winehq.org/show_bug.cgi?id=13601
--- Comment #6 from wine-2008@ryandesign.com 2008-07-15 16:45:59 --- Apple Worldwide Developer Relations has responded to the bug I filed with them and closed it, saying it is a bug in wine. Here is their response:
---- Begin Apple response -----
This is wine's own tool complaining about crtdll_main.o which seems correctly compiled to us:
[wine-1.0-rc3/dlls/crtdll]> nm -m crtdll_main.o | grep CRTDLL__bas 00000004 (common) (alignment 2^2) external _CRTDLL__basemajor_dll 00000004 (common) (alignment 2^2) external _CRTDLL__baseminor_dll 00000004 (common) (alignment 2^2) external _CRTDLL__baseversion_dll
which matches the source code which declares these as tentative definitions (uninitialized global variables).
Note: that tentative definitions are not really needed in source code. They are a remnant of pre-ANSI C. When the keyword "extern" was introduced, there was no longer any need for ambiguity about what "int foo;'" meant. If it is a declaration, you could write it as "extern int foo;". If it is a definition you could write it as "int foo=0;".
----- End Apple response -----