From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3435 invoked by alias); 28 Nov 2006 16:14:32 -0000 Received: (qmail 3410 invoked by uid 22791); 28 Nov 2006 16:14:31 -0000 X-Spam-Check-By: sourceware.org Received: from easeserver.easesoftware.com (HELO easeserver.easesoftware.com) (64.192.143.210) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 28 Nov 2006 16:14:26 +0000 Received: from localhost (localhost [127.0.0.1]) by easeserver.easesoftware.com (Postfix) with ESMTP id 9F9A955E93A for ; Tue, 28 Nov 2006 10:14:23 -0600 (CST) Received: from easeserver.easesoftware.com ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 11710-03 for ; Tue, 28 Nov 2006 10:14:19 -0600 (CST) Received: from [64.192.143.210] (easeserver.easesoftware.com [64.192.143.210]) by easeserver.easesoftware.com (Postfix) with ESMTP id D97E655E917 for ; Tue, 28 Nov 2006 10:14:19 -0600 (CST) Mime-Version: 1.0 (Apple Message framework v752.2) Content-Transfer-Encoding: 7bit Message-Id: <6B29307E-655E-4A04-9FB4-119F47FE9F80@easesoftware.com> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed To: MSX to GCC From: Perry Smith Subject: Exception stack too large Date: Tue, 28 Nov 2006 16:14:00 -0000 X-Mailer: Apple Mail (2.752.2) X-IsSubscribed: yes Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2006-11/txt/msg00337.txt.bz2 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