From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25617 invoked by alias); 23 Apr 2002 19:36:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 25595 invoked by uid 71); 23 Apr 2002 19:36:02 -0000 Date: Tue, 23 Apr 2002 12:36:00 -0000 Message-ID: <20020423193602.25594.qmail@sources.redhat.com> To: echristo@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Ed Maste Subject: RE: libstdc++/5625: exception unwinding creates invalid pointer o n mips Reply-To: Ed Maste X-SW-Source: 2002-04/txt/msg01216.txt.bz2 List-Id: The following reply was made to PR libstdc++/5625; it has been noted by GNATS. From: Ed Maste To: "'echristo@gcc.gnu.org'" , "'echristo@redhat.com'" , Ed Maste , "'gcc-bugs@gcc.gnu.org'" , "'gcc-prs@gcc.gnu.org'" , "'gcc-gnats@gcc.gnu.org'" Cc: Subject: RE: libstdc++/5625: exception unwinding creates invalid pointer o n mips Date: Tue, 23 Apr 2002 15:35:33 -0400 Yes, the MIPS documentation states that the destination register gets the sign-extended result ("GPR[rt]<-sign_extend(temp31..0)"). However, note the ADDIU instruction Restrictions section: Restrictions: If GPR rs does not contain a sign-extended 32-bit value (bits 63..31 equal), then the result of the operation is UNPREDICTABLE. And then, on page 2: 1.2.1 UNPREDICTABLE UNPREDICTABLE results may vary from processor implementation to implementation, instruction to instruction, or as a function of time on the same implementation or instruction. Software can never depend on results that are UNPREDICTABLE. UNPREDICTABLE operations may cause a result to be generated or not. If a result is generated, it is UNPREDICTABLE. UNPREDICTABLE operations may cause arbitrary exceptions. -ed http://www.mips.com/publications/documentation/MD00087-2B-MIPS64BIS-AFP-00.9 5.pdf (no comma attached to the end of the URL this time!)