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 <[EMAIL PROTECTED]> 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@0' >>ntdll.exp(.edata+0xe5c):fake: undefined reference to `NTDLL_chkstk@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; > > >