Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com To: "cygwin AT cygwin DOT com" Subject: newlib 1.12.0 compiled under different cygwin versions Date: Tue, 14 Dec 2004 07:19:49 +1100 From: "Craig Edwards" Organization: H.A. Enterprises Pty Ltd Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-15 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: User-Agent: Opera M2/7.54 (Win32, build 3865) When mallocr.c gets compiled using the current cygwin devel base (gcc 3.3.3), the following symbols are undefined (presumably linked in from a Win32 DLL): U __imp__LocalAlloc AT 8 U __imp__LocalFree AT 4 U __imp__VirtualAlloc AT 16 U __imp__VirtualFree AT 12 U __imp__VirtualQuery AT 12 However, in a slightly older cygwin (using gcc 3.3.1), the undefined symbols are: U _LocalAlloc AT 8 U _LocalFree AT 4 U _VirtualAlloc AT 16 U _VirtualFree AT 12 U _VirtualQuery AT 12 Now, these functions are declared in winbase.h (included indirectly by mallocr.c) as follows: #ifndef WINBASEAPI #ifdef __INSIDE_CYGWIN__ #define WINBASEAPI #else #define WINBASEAPI DECLSPEC_IMPORT #endif WINBASEAPI PVOID WINAPI VirtualAlloc(PVOID,DWORD,DWORD,DWORD); ... I can see that currently it thinks these functions are to be imported from a DLL, but why did it used to behave differently? The reason I care is that my XBOX port of newlib provides its own implementation of those functions that get *statically* linked in to libc.a (which used to work just fine until I upgraded to a later version of cygwin). Does anyone have any theories? Many thanks. -- Craig Edwards -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/