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

Eric Christopher echristo@redhat.com
Tue Apr 23 13:48:00 GMT 2002


On Tue, 2002-04-23 at 12:35, Ed Maste wrote:
> 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.
> 

So it sounds like both your processor and gcc are in error. gcc by not
sign extending the value before and you for not sign extending it after.

I'll take a look at the sign extension requirements in the back end.

-eric

-- 
A fire drill does not demand
a fire.



More information about the Gcc-bugs mailing list