libstdc++/5625: exception unwinding creates invalid pointer o n mips

cgd@broadcom.com cgd@broadcom.com
Tue Apr 23 16:16:00 GMT 2002


The following reply was made to PR libstdc++/5625; it has been noted by GNATS.

From: cgd@broadcom.com
To: echristo@redhat.com
Cc: "Ed Maste" <emaste@sandvine.com>,
	"'echristo@gcc.gnu.org'" <echristo@gcc.gnu.org>,
	"'gcc-bugs@gcc.gnu.org'" <gcc-bugs@gcc.gnu.org>,
	"'gcc-prs@gcc.gnu.org'" <gcc-prs@gcc.gnu.org>,
	"'gcc-gnats@gcc.gnu.org'" <gcc-gnats@gcc.gnu.org>
Subject: Re: libstdc++/5625: exception unwinding creates invalid pointer
 o n mips
Date: 23 Apr 2002 16:07:19 -0700

 Eric asked me a further question off-list, and I responded:
 
 > [I believe] The problem is that:
 >
 > typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));
 >
 > So the cast to _Unwind_Ptr makes the 32-bit result unsigned, and the
 > promotion to the 64-bit _Unwind_Word happens therefore to zero extend,
 > rather than sign extend.
 >
 > If _Unwind_Ptr were signed, the right thing should happen.  (iirc; i
 > seem to recall having discussed this with Ed previously [and him
 > having confirmed that result, but I may be mistaken].)
 
 
 
 chris
 



More information about the Gcc-prs mailing list