Article View: gnu.utils.bug
Article #1598gas (ns32k) doesn't recognize label(pc)
From: taylor
Date: Wed, 10 May 1989 23:05
Date: Wed, 10 May 1989 23:05
24 lines
1056 bytes
1056 bytes
[I mailed this on Sunday, but it doesn't seem to have made it out. My
apologies if this is a repeat. -- David]
When compiled for the ns32k, gas doesn't recognize an operand of
`some_label(pc)' as meaning that it should access the label via
pc-relative memory space addressing. Instead it ignores the `(pc)' and
assembles the operand using absolute addressing.
The fix is easy. In ns32k.c, in the function `addr_mode', add the lines:
if (!strncmp(&str[strl-4],"(pc",3)) {
mode=27;
}
right after the lines that read:
if (!strncmp(&str[strl-4],"(sb",3)) {
mode=26;
}
David
--
David Taylor
taylor@think.com, ...!think!taylor
Technical Details
Message-ID:
<8905102305.AA22986@odin.think.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ukma!tut.cis.ohio-state.edu!THINK.COM!taylorShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ukma!tut.cis.ohio-state.edu!THINK.COM!taylor From: taylor@THINK.COM Newsgroups: gnu.utils.bug Subject: gas (ns32k) doesn't recognize label(pc) Message-ID: <8905102305.AA22986@odin.think.com> Date: 10 May 89 23:05:24 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 24