PR gas/26001
* gas/config/tc-pdp11.c (parse_reg): Distinguish register names from
symbols that begin with a register name.
* gas/testsuite/gas/pdp11/pdp11.exp: Add test of such symbols.
* gas/testsuite/gas/pdp11/pr26001.s: Likewise.
* gas/testsuite/gas/pdp11/pr26001.d: Likewise.
+2020-05-27  Stephen Casner  <casner@acm.org>
+
+       PR gas/26001
+       * config/tc-pdp11.c (parse_reg): Distinguish register names from
+       symbols that begin with a register name.
+       * testsuite/gas/pdp11/pdp11.exp: Add test of such symbols.
+       * testsuite/gas/pdp11/pr26001.s: Likewise.
+       * testsuite/gas/pdp11/pr26001.d: Likewise.
+
 2020-05-27  Simon Cook  <simon.cook@embecosm.com>
 
         * config/tc-riscv.c (riscv_init_csr_hash): NULL initilize next
 
       str += 2;
     }
   else
-    operand->error = _("Bad register name");
+    {
+      operand->error = _("Bad register name");
+      return str;
+    }
 
+  if (ISALNUM (*str) || *str == '_' || *str == '.')
+    {
+      operand->error = _("Bad register name");
+      str -= 2;
+    }
+  
   return str;
 }
 
 
     run_dump_test "absreloc"
     run_dump_test "pr14480"
     run_dump_test "pr23481"
+    run_dump_test "pr26001"
 }
 
--- /dev/null
+#name: PR 26001 - distinguish register names from symbols
+#objdump: -dw
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+0+00 <start>:
+[      ]+0:[   ]+09f7 fffc[    ]+jsr[  ]+pc, 0 <start>
+[      ]+4:[   ]+1037 0004[    ]+mov[  ]+r0, \$c <space>
+[      ]+8:[   ]+1dc1 0002[    ]+mov[  ]+\$e <r00f>, r1
+#pass
 
--- /dev/null
+       .text
+       .globl  sprintf
+start: jsr     pc,sprintf
+       mov     r0,space
+       mov     r00f,r1
+       .data
+space: .word   0
+r00f:  .word   0
+       .end