building ntdll on cygwin

David Fraser davidf at
Thu Oct 10 07:32:40 CDT 2002

I've been trying to build ntdll and various other dlls (I'm actually 
interested in gdi
and x11drv) for cygwin as well.
I tried building ntdll with the latest CVS which includes Alexandre's 
patch from below.
However I still get lots of errors saying
 variable '_wine_ldt_copy' can't be auto-imported. Please read the ld 
--enable-auto-import docs for details
There are a few recommendations in the ld man page about how to avoid this;
either by declaring the variable as __declspec(dllimport) or using a 
pointer to it instead.
Has anyone else solved this problem, as I don't want to go through lots 
of the code doing
something someone else has done? Or am I missing the point?

David Fraser

Alexandre Julliard wrote:

>Steven Edwards <Steven_Ed4153 at> writes:
>>we get much futher now when building ntdll on cygwin. when linking I
>>am getting the following error
>>ntdll.exp(.edata+0xe4c):fake: undefined reference to `NTDLL_alloca_probe at 0'
>>ntdll.exp(.edata+0xe5c):fake: undefined reference to `NTDLL_chkstk at 0'
>>there are some other warnings but this is the only major thing with ntdll.
>This should fix it:
>Index: tools/winebuild/spec32.c
>RCS file: /opt/cvs-commit/wine/tools/winebuild/spec32.c,v
>retrieving revision 1.52
>diff -u -r1.52 spec32.c
>--- tools/winebuild/spec32.c	15 Aug 2002 23:21:03 -0000	1.52
>+++ tools/winebuild/spec32.c	9 Oct 2002 19:19:04 -0000
>@@ -863,7 +863,7 @@
>         ORDDEF *odp = EntryPoints[i];
>         if (!odp) continue;
>-        if (odp->flags & FLAG_NOIMPORT) continue;
>+        if (odp->flags & (FLAG_NOIMPORT|FLAG_REGISTER)) continue;
>         if (odp->type == TYPE_STUB) continue;
>         if (odp->name) name = odp->name;

More information about the wine-devel mailing list