Article View: comp.sys.sgi.hardware
Article #10R3000 -> R4000 incompatibility?
From: Penio Penev
Date: Thu, 24 Dec 1992 07:06
Date: Thu, 24 Dec 1992 07:06
29 lines
1620 bytes
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!penevShow 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