Cygwin.dll crash, alloca and custom stack

Bitmead, Chris Chris.Bitmead@ag.gov.au
Mon Aug 15 06:52:00 GMT 2005


>Yes, I know.  Unless I implement this *crucial* bit of functionality it
>is possible that the space time continuum will implode.

I see, so any API that you personally have no use for should be mocked.

>However, since it is not currently implemented, since there is no sign
>of an implementation on the horizon, and since it may be impossible to
>implement for Windows, that does present a problem for your
>implementation on cygwin.

Not an intractable problem, it just means that I need to allocate a little
extra space in any stacks, enough to run any signal handlers that I install.

>However, I'm not sure you can rely on the fact that the frame pointer is
>being used for everything, especially if the code is near the function
>prologue.  I suggested before that maybe you should mention what you're
>doing in the gcc mailing list.  I'm sure that people there would tell
>you if what you are doing is safe.

Ok.

>Using posix threads is going to be quite a bit more portable than
>writing assembly language to set ESP, especially if you branch out into
>non-x86 platforms.

Oh yeah, I suppose. But it would mean I'd need a mutex for every function
call, and on every function call would have to wait on on the mutex for the
function to return. It would also mean every calling function would need to
wait for a timeslice before it could return. So if I called some function
100 times in a loop, I'd have to wait 100 times for process scheduling. That
would make performance suck very big time.


-----------------------------------------------------------------
If you have received this transmission in error please notify us 
immediately by return e-mail and delete all copies. If this e-mail 
or any attachments have been sent to you in error, that error does 
not constitute waiver of any confidentiality, privilege or copyright 
in respect of information in the e-mail or attachments. 

--
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/



More information about the Cygwin mailing list