+2014-10-18  Alan Modra  <amodra@gmail.com>
+
+       PR 17493
+       * write.c (adjust_reloc_syms): Don't allow symbols in reg_section
+       to be reduced to reg_section section symbol.
+       * gas/config/tc-i386.c (i386_finalize_immediate): Reject all
+       reg_section immediates.
+
 2014-10-17  Matthew Fortune  <matthew.fortune@imgtec.com>
 
        * doc/c-mips.texi: Fix bad @value references.
 
       return 0;
     }
 #endif
-  else if (!intel_syntax && exp->X_op == O_register)
+  else if (!intel_syntax && exp_seg == reg_section)
     {
       if (imm_start)
        as_bad (_("illegal immediate register operand %s"), imm_start);
 
+2014-10-18  Alan Modra  <amodra@gmail.com>
+
+       * gas/i386/inval-equ-2.l: Adjust.
+
 2014-10-09  Jose E. Marchesi  <jose.marchesi@oracle.com>
 
        * gas/sparc/hpcvis3.d: Remove tests for the `chkpt', `commit',
 
 
 [      ]*1[    ]+\.globl  bar1
 [      ]*2[    ]+\.set    bar1,\(%eax\+1\)
-[      ]*3[    ]+\?\?\?\? A12A0000             mov bar1,%eax
-[      ]*3[    ]+00
+[      ]*3[    ]+\?\?\?\? A1......             mov bar1,%eax
+[      ]*3[    ]+..
 [      ]*4[    ]+\.set    bar2,\(%eax\+1\)
-[      ]*5[    ]+\?\?\?\? A12A0000             mov bar2,%eax
-[      ]*5[    ]+00
+[      ]*5[    ]+\?\?\?\? A1......             mov bar2,%eax
+[      ]*5[    ]+..
 [      ]*6[    ]+\.globl  bar2
 [      ]*7[    ]+\.set    bar3,\(%eax\+1\)
-[      ]*8[    ]+\?\?\?\? A12A0000             mov bar3,%eax
+[      ]*8[    ]+\?\?\?\? A1......             mov bar3,%eax
 .*  Error: can't make global register symbol `bar1'
 .*  Error: can't make global register symbol `bar2'
 .*  Error: can't make global register symbol `bar3'
-[      ]*8[    ]+00
+[      ]*8[    ]+..
 
        if (symsec == NULL)
          abort ();
 
-       if (bfd_is_abs_section (symsec))
+       if (bfd_is_abs_section (symsec)
+           || symsec == reg_section)
          {
            /* The fixup_segment routine normally will not use this
               symbol in a relocation.  */