Allow BKPT instruction to be specified without an operand. Add a test for this.
authorNick Clifton <nickc@redhat.com>
Fri, 29 Nov 2002 21:00:50 +0000 (21:00 +0000)
committerNick Clifton <nickc@redhat.com>
Fri, 29 Nov 2002 21:00:50 +0000 (21:00 +0000)
gas/ChangeLog
gas/config/tc-arm.c
gas/testsuite/ChangeLog
gas/testsuite/gas/arm/arch5tej.d
gas/testsuite/gas/arm/arch5tej.s

index 2925f13..b2ded4f 100644 (file)
@@ -1,3 +1,9 @@
+2002-11-29  Nick Clifton  <nickc@redhat.com>
+
+       * config/tc-arm.c (do_t_bkpt): If no operand is specified,
+       assume a value of zero.
+       (do_bkpt): Likewise.
+
 2002-11-29  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
        * config/tc-sh.c (md_apply_fix3): Call S_SET_THREAD_LOCAL
index 1205866..690fbaf 100644 (file)
@@ -3929,9 +3929,12 @@ do_t_bkpt (str)
     str ++;
 
   memset (& expr, '\0', sizeof (expr));
-  if (my_get_expression (& expr, & str) || (expr.X_op != O_constant))
+  if (my_get_expression (& expr, & str)
+      || (expr.X_op != O_constant
+         /* As a convenience we allow 'bkpt' without an operand.  */
+         && expr.X_op != O_absent))
     {
-      inst.error = _("bad or missing expression");
+      inst.error = _("bad expression");
       return;
     }
 
@@ -4111,9 +4114,12 @@ do_bkpt (str)
 
   memset (& expr, '\0', sizeof (expr));
 
-  if (my_get_expression (& expr, & str) || (expr.X_op != O_constant))
+  if (my_get_expression (& expr, & str)
+      || (expr.X_op != O_constant
+         /* As a convenience we allow 'bkpt' without an operand.  */
+         && expr.X_op != O_absent))
     {
-      inst.error = _("bad or missing expression");
+      inst.error = _("bad expression");
       return;
     }
 
index 6023ba1..396a852 100644 (file)
@@ -1,3 +1,9 @@
+2002-11-29  Nick Clifton  <nickc@redhat.com>
+
+       * gas/arm/arch5tej.s: Replace "nop"s with tests of breakpoint
+       instruction.
+       * gas/arm/arch5tej.d: Expect "bkpt"s not nops.
+
 2002-11-26  Hans-Peter Nilsson  <hp@axis.com>
 
        * gas/cris/rd-bcnst.d, gas/cris/rd-bcnst.d: New test.
index 9afdc6e..49d2cbb 100644 (file)
@@ -13,5 +13,5 @@ Disassembly of section .text:
 0+0c <[^>]*> 012fff20 ?        bxjeq   r0
 0+10 <[^>]*> 412fff20 ?        bxjmi   r0
 0+14 <[^>]*> 512fff27 ?        bxjpl   r7
-0+18 <[^>]*> e1a00000 ?        nop[    ]+\(mov r0,r0\)
-0+1c <[^>]*> e1a00000 ?        nop[    ]+\(mov r0,r0\)
+0+18 <[^>]*> e1200070 ?        bkpt    0x0000
+0+1c <[^>]*> e120007a ?        bkpt    0x000a
index d4f9522..4624b7e 100644 (file)
@@ -7,8 +7,6 @@ label:
        bxjeq   r0
        bxjmi   r0
        bxjpl   r7
-       
-       # Add two nop instructions to ensure that the output
-       # is aligned as will automatically be done for arm-aout.
-       nop
-       nop
+
+       bkpt            @ Support for a breakpoint without an argument
+       bkpt    10      @ is a feature added to GAS.