Exception stack too large

Perry Smith pedz@easesoftware.com
Tue Nov 28 16:14:00 GMT 2006


I'm (foolishly perhaps) writing an AIX device driver using G++ and I  
want to be able to use exceptions.

I just bumped into a problem where I am running out of stack.  In the  
particular environment, I have either 4K of stack on a 32 bit  
platform or 8K of stack on a 64 bit platform. ((AIX on PPC boots up  
into 32 or 64 bit mode).

Unwind_RaiseException consumes 5168 of stack and the next routine,  
uw_init_context_1, consumes another 2608 bytes of stack (this is in  
64 bit mode).

A lot of drivers have to "flip" the stack and execute on a private  
stack.  They usually do it using a small piece of assembly language.   
I'm wondering if gcc/g++ has a way to do this easier.  Perhaps, the  
exception code has already been written to run on alternative  
stacks.  Perhaps there really is a Santa Clause...

Thanks for any help,
Perry Smith ( pedz@easesoftware.com )
Ease Software, Inc. ( http://www.easesoftware.com )

Low cost SATA Disk Systems for IBMs p5, pSeries, and RS/6000 AIX systems




More information about the Gcc-help mailing list