kernel32.dll breakage (was Re: [ANNOUNCEMENT] Updated: cygwin-1.7.6-1)

2010-08-21 Thread Corinna Vinschen
On Aug 21 18:04, Angelo Graziosi wrote:
> wget http://cygwin.com/snapshots/cygwin1-20100820.dll.bz2
> bunzip2 cygwin1-20100820.dll.bz2
> chmod +x cygwin1-20100820.dll
> [...]
> With 20100820 snapshot Cygwin.bat does not start and Windows says
> (literally):
> [...]
> "Can not find entry point CreateProcessAsUserW procedure in the
> dynamic link library KERNEL32.dll"
> 
> As you can see a mystery...

Not anymore.  I could reproduce the problem on XP, but not on W7.  This
reminded me of a checkin to w32api from yesterday.  The kernel32.def
file, which is used to create the kernel32.a inport library for
linking against kernel32.dll has been regenerated on a Windows 7 system.

The problem is that CreateProcessAsUserW was never available in
kernel32.dll, but in advapi32.dll(*).  However, with the new kernel32.def,
CreateProcessAsUserW is now exported by kernel32.a as well.

Apparently kernel32.dll *does* export CreateProcessAsUserW now under
Windows 7.  However, *officially*, the CreateProcessAsUserW symbol is
still provided by advapi32.dll.

Chris [Sutcliffe], can we please revert this change for now?  It breaks
building Win32 apps, if the link order prefers kernel32.a over advapi32.a.

In theory, shouldn't the gendef script drop symbols from kernel32.def
which are defined in advapi32.dll?  That would fix the problem, afaics.

As for Cygwin, apparently we can workaround this issue by simply changing
the link order in our Makefile.  I checked in a matching patch, which
fixes this issue for me on "old" systems like Windows XP.

Please test the next developers snapshot.


Corinna

(*) Yes, I talked nonsense in my previous reply.  advapi32, not kernel32.
I should have seen the discrepancy immediately.  Sorry about that!

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: kernel32.dll breakage (was Re: [ANNOUNCEMENT] Updated: cygwin-1.7.6-1)

2010-08-21 Thread Chris Sutcliffe

 On 21/08/2010 2:58 PM, Corinna Vinschen wrote:

Not anymore. I could reproduce the problem on XP, but not on W7. This
reminded me of a checkin to w32api from yesterday.  The kernel32.def
file, which is used to create the kernel32.a inport library for
linking against kernel32.dll has been regenerated on a Windows 7 system.

The problem is that CreateProcessAsUserW was never available in
kernel32.dll, but in advapi32.dll(*).  However, with the new kernel32.def,
CreateProcessAsUserW is now exported by kernel32.a as well.

Apparently kernel32.dll *does* export CreateProcessAsUserW now under
Windows 7.  However, *officially*, the CreateProcessAsUserW symbol is
still provided by advapi32.dll.

Chris [Sutcliffe], can we please revert this change for now?  It breaks
building Win32 apps, if the link order prefers kernel32.a over advapi32.a.


Done.


In theory, shouldn't the gendef script drop symbols from kernel32.def
which are defined in advapi32.dll?  That would fix the problem, afaics.


That would be ideal, but I'm not sure what the capabilities of gendef 
are in this respect.


Cheers!

Chris


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: kernel32.dll breakage (was Re: [ANNOUNCEMENT] Updated: cygwin-1.7.6-1)

2010-08-21 Thread Corinna Vinschen
On Aug 21 15:23, Chris Sutcliffe wrote:
>  On 21/08/2010 2:58 PM, Corinna Vinschen wrote:
> >Not anymore. I could reproduce the problem on XP, but not on W7. This
> >reminded me of a checkin to w32api from yesterday.  The kernel32.def
> >file, which is used to create the kernel32.a inport library for
> >linking against kernel32.dll has been regenerated on a Windows 7 system.
> >
> >The problem is that CreateProcessAsUserW was never available in
> >kernel32.dll, but in advapi32.dll(*).  However, with the new kernel32.def,
> >CreateProcessAsUserW is now exported by kernel32.a as well.
> >
> >Apparently kernel32.dll *does* export CreateProcessAsUserW now under
> >Windows 7.  However, *officially*, the CreateProcessAsUserW symbol is
> >still provided by advapi32.dll.
> >
> >Chris [Sutcliffe], can we please revert this change for now?  It breaks
> >building Win32 apps, if the link order prefers kernel32.a over advapi32.a.
> 
> Done.

Thanks.  Are you sure that only CreateProcessAsUserW is affected?

> >In theory, shouldn't the gendef script drop symbols from kernel32.def
> >which are defined in advapi32.dll?  That would fix the problem, afaics.
> 
> That would be ideal, but I'm not sure what the capabilities of
> gendef are in this respect.

I'm curious, where is that gendef script?  For some reason it isn't part
of the w32api sources in CVS.  Wouldn't it make sense to check it in as
well?


Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: kernel32.dll breakage (was Re: [ANNOUNCEMENT] Updated: cygwin-1.7.6-1)

2010-08-21 Thread Chris Sutcliffe

 On 21/08/2010 3:35 PM, Corinna Vinschen wrote:

Chris [Sutcliffe], can we please revert this change for now?  It breaks
building Win32 apps, if the link order prefers kernel32.a over advapi32.a.

Done.

Thanks.  Are you sure that only CreateProcessAsUserW is affected?


In a word, no.  I'll have to go through the file function by function 
checking against the other def files.. sigh.

In theory, shouldn't the gendef script drop symbols from kernel32.def
which are defined in advapi32.dll?  That would fix the problem, afaics.

That would be ideal, but I'm not sure what the capabilities of
gendef are in this respect.

I'm curious, where is that gendef script?  For some reason it isn't part
of the w32api sources in CVS.  Wouldn't it make sense to check it in as
well?


Nope, it's already part of Cygwin:

http://cygwin.com/cgi-bin2/package-cat.cgi?file=gendef%2Fgendef-1.0-svn2931-1&grep=gendef.exe

Cheers!

Chris


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: kernel32.dll breakage (was Re: [ANNOUNCEMENT] Updated: cygwin-1.7.6-1)

2010-08-21 Thread Corinna Vinschen
On Aug 21 15:47, Chris Sutcliffe wrote:
>  On 21/08/2010 3:35 PM, Corinna Vinschen wrote:
> >>>Chris [Sutcliffe], can we please revert this change for now?  It breaks
> >>>building Win32 apps, if the link order prefers kernel32.a over advapi32.a.
> >>Done.
> >Thanks.  Are you sure that only CreateProcessAsUserW is affected?
> 
> In a word, no.  I'll have to go through the file function by
> function checking against the other def files.. sigh.
> >>>In theory, shouldn't the gendef script drop symbols from kernel32.def
> >>>which are defined in advapi32.dll?  That would fix the problem, afaics.
> >>That would be ideal, but I'm not sure what the capabilities of
> >>gendef are in this respect.
> >I'm curious, where is that gendef script?  For some reason it isn't part
> >of the w32api sources in CVS.  Wouldn't it make sense to check it in as
> >well?
> 
> Nope, it's already part of Cygwin:
> 
> http://cygwin.com/cgi-bin2/package-cat.cgi?file=gendef%2Fgendef-1.0-svn2931-1&grep=gendef.exe

Uh, *that* gendef.

Thanks,
Corinna

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: kernel32.dll breakage (was Re: [ANNOUNCEMENT] Updated: cygwin-1.7.6-1)

2010-08-21 Thread Chris Sutcliffe

 On 21/08/2010 3:47 PM, Chris Sutcliffe wrote:

 On 21/08/2010 3:35 PM, Corinna Vinschen wrote:
Chris [Sutcliffe], can we please revert this change for now?  It 
breaks
building Win32 apps, if the link order prefers kernel32.a over 
advapi32.a.

Done.

Thanks.  Are you sure that only CreateProcessAsUserW is affected?


In a word, no.  I'll have to go through the file function by function 
checking against the other def files.. sigh.


Thanks to power of Cygwin and shell scripting, I've created a script 
that I will be checking in to w32api (CheckConflicts.sh) that executes a 
brute force check of the contents of one file against the contents of 
another.  Simple but hopefully affective.


Cheers!

Chris


--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple



Re: kernel32.dll breakage (was Re: [ANNOUNCEMENT] Updated: cygwin-1.7.6-1)

2010-08-23 Thread Corinna Vinschen
On Aug 21 19:04, Chris Sutcliffe wrote:
>  On 21/08/2010 3:47 PM, Chris Sutcliffe wrote:
> > On 21/08/2010 3:35 PM, Corinna Vinschen wrote:
> Chris [Sutcliffe], can we please revert this change for now?
> It breaks
> building Win32 apps, if the link order prefers kernel32.a
> over advapi32.a.
> >>>Done.
> >>Thanks.  Are you sure that only CreateProcessAsUserW is affected?
> >
> >In a word, no.  I'll have to go through the file function by
> >function checking against the other def files.. sigh.
> 
> Thanks to power of Cygwin and shell scripting, I've created a script
> that I will be checking in to w32api (CheckConflicts.sh) that
> executes a brute force check of the contents of one file against the
> contents of another.  Simple but hopefully affective.

Nice :)


Corina

-- 
Corinna Vinschen  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader  cygwin AT cygwin DOT com
Red Hat

--
Problem reports:   http://cygwin.com/problems.html
FAQ:   http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info:  http://cygwin.com/ml/#unsubscribe-simple