diff options
author | Roland McGrath <roland@redhat.com> | 2010-01-19 12:38:31 -0800 |
---|---|---|
committer | Roland McGrath <roland@redhat.com> | 2010-01-19 12:38:51 -0800 |
commit | 682d5372669bc117cabe1c44a205ad6acca72730 (patch) | |
tree | 99898a0cadcce7af566d70280e0edaa6f80cc541 /loc2c.c | |
parent | 70dc04429ec63764b6d1dd831c753329d2c0574a (diff) | |
download | systemtap-steved-682d5372669bc117cabe1c44a205ad6acca72730.tar.gz systemtap-steved-682d5372669bc117cabe1c44a205ad6acca72730.tar.xz systemtap-steved-682d5372669bc117cabe1c44a205ad6acca72730.zip |
Use signed division for DW_OP_div.
* loc2c.c (translate): Use signed division for DW_OP_div.
Diffstat (limited to 'loc2c.c')
-rw-r--r-- | loc2c.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -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); |