]> sourceware.org Git - systemtap.git/commitdiff
Use signed division for DW_OP_div.
authorRoland McGrath <roland@redhat.com>
Tue, 19 Jan 2010 20:38:31 +0000 (12:38 -0800)
committerRoland McGrath <roland@redhat.com>
Tue, 19 Jan 2010 20:38:51 +0000 (12:38 -0800)
* loc2c.c (translate): Use signed division for DW_OP_div.

loc2c.c

diff --git a/loc2c.c b/loc2c.c
index 161df7635915430109e167c90bbd1e54efaa4942..4633e7392b6187b8d3a11af459dafab7eb8c5510 100644 (file)
--- a/loc2c.c
+++ b/loc2c.c
@@ -479,7 +479,6 @@ translate (struct obstack *pool, int indent, Dwarf_Addr addrbias,
 
          UNOP (abs, op_abs);
          BINOP (and, &);
-         BINOP (div, /);
          BINOP (minus, -);
          BINOP (mod, %);
          BINOP (mul, *);
@@ -512,6 +511,16 @@ translate (struct obstack *pool, int indent, Dwarf_Addr addrbias,
            break;
          }
 
+       case DW_OP_div:
+         {
+           POP (b);
+           POP (a);
+           push ("(%s) " STACKFMT " / (%s)" STACKFMT,
+                 stack_slot_type (loc, true), a,
+                 stack_slot_type (loc, true), b);
+           break;
+         }
+
        case DW_OP_plus_uconst:
          {
            POP (x);
This page took 0.029373 seconds and 5 git commands to generate.