summaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
authorShenghou Ma <minux.ma@gmail.com>2013-06-11 02:02:42 +0800
committerShenghou Ma <minux.ma@gmail.com>2013-06-11 02:02:42 +0800
commitd95b5a43a17d2df7729e31f130372448739f353f (patch)
tree6f82fc20128817a122c135b1722e25cca08aac9c /src/cmd
parentcc4fd3209745a3d98c59ee4f996d18ec00dcdcd3 (diff)
downloadgo-d95b5a43a17d2df7729e31f130372448739f353f.tar.gz
cmd/5l: use guaranteed undefined instruction for UNDEF to match [68]l.
R=golang-dev, dave, rsc CC=golang-dev https://codereview.appspot.com/10085050
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/5l/asm.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/cmd/5l/asm.c b/src/cmd/5l/asm.c
index a1220a38e..808f1030d 100644
--- a/src/cmd/5l/asm.c
+++ b/src/cmd/5l/asm.c
@@ -1515,11 +1515,9 @@ if(debug['G']) print("%ux: %s: arm %d\n", (uint32)(p->pc), p->from.sym->name, p-
// This is supposed to be something that stops execution.
// It's not supposed to be reached, ever, but if it is, we'd
// like to be able to tell how we got there. Assemble as
- // BL $0
- // TODO: Use addrel.
- v = (0 - pc) - 8;
- o1 = opbra(ABL, C_SCOND_NONE);
- o1 |= (v >> 2) & 0xffffff;
+ // 0xf7fabcfd which is guranteed to raise undefined instruction
+ // exception.
+ o1 = 0xf7fabcfd;
break;
case 97: /* CLZ Rm, Rd */
o1 = oprrr(p->as, p->scond);