This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Exception stack too large


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]