🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.sgi.hardware
Article #10

R3000 -> R4000 incompatibility?

#10
From: Penio Penev
Date: Thu, 24 Dec 1992 07:06
29 lines
1620 bytes
Does any one know a reason, why a program, runnng on R3000 would not
run on R4000?

I'm using only ALU, memory and branch instructions. No coprocessor 
(0 or 1), not mul/dev.

The program runs on R3000 (IRIX 4.0.1), but fails on R4000 (4.0.4).
The error is reproducible, occures allways in the same region of the
program, and behaves identically on successive runs. It seems to me
like a jump to a bad address, resulting from a bad value in the $ra
register.The problem is that whenever I put brakepoints "close enough"
and do noting, but cont in them, it disappers.

I have two explanations: 1) I do not fill the load delay slot
properly, which results in jump to garbage. 2) I have made a mistake,
but such a one, that the R3000 hazard (un)handling corrects it.

I tried very hard to get the worng register before the jump, but
apparently I couldn't. As soon as I put a break point, the error
disapperars. 


Has anyone, presumably writing in .set reorder no, seen such
behavioural pattern?

Thanks in advance.

-- Penio.  penev@venezia.rockefeller.edu
Technical Details
Message-ID: <1992Dec24.070621.2821@sol.ctr.columbia.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!wupost!howland.reston.ans.net!sol.ctr.columbia.edu!venezia!penev

Show Full Headers
Complete Article Headers
Newsgroups: comp.sys.sgi.hardware
Path: arc1-ca.pugleaf.net!sparky!uunet!wupost!howland.reston.ans.net!sol.ctr.columbia.edu!venezia!penev
From: penev@venezia (Penio Penev)
Subject: R3000 -> R4000 incompatibility?
Sender: nobody@ctr.columbia.edu
Organization: Rockefeller University
Date: Thu, 24 Dec 1992 07:06:21 GMT
X-Newsreader: TIN [version 1.1 PL6]
Message-ID: <1992Dec24.070621.2821@sol.ctr.columbia.edu>
Reply-To: penev@venezia.rockefeller.edu
X-Posted-From: venezia.rockefeller.edu
NNTP-Posting-Host: sol.ctr.columbia.edu
Lines: 30