André Hentschel : dbghelp: Implement literal dwarf opcodes.

Alexandre Julliard julliard at winehq.org
Mon Dec 21 09:39:48 CST 2009


Module: wine
Branch: master
Commit: 255a1ebaadfb8795ab76ebd0360708973bb825cc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=255a1ebaadfb8795ab76ebd0360708973bb825cc

Author: André Hentschel <nerv at dawncrow.de>
Date:   Sun Dec 20 17:27:35 2009 +0100

dbghelp: Implement literal dwarf opcodes.

---

 dlls/dbghelp/dwarf.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c
index 16ea011..d9e52d3 100644
--- a/dlls/dbghelp/dwarf.c
+++ b/dlls/dbghelp/dwarf.c
@@ -684,6 +684,15 @@ compute_location(dwarf2_traverse_context_t* ctx, struct location* loc,
         op = dwarf2_parse_byte(ctx);
         switch (op)
         {
+        case DW_OP_lit0:  case DW_OP_lit1:  case DW_OP_lit2:  case DW_OP_lit3:
+        case DW_OP_lit4:  case DW_OP_lit5:  case DW_OP_lit6:  case DW_OP_lit7:
+        case DW_OP_lit8:  case DW_OP_lit9:  case DW_OP_lit10: case DW_OP_lit11:
+        case DW_OP_lit12: case DW_OP_lit13: case DW_OP_lit14: case DW_OP_lit15:
+        case DW_OP_lit16: case DW_OP_lit17: case DW_OP_lit18: case DW_OP_lit19:
+        case DW_OP_lit20: case DW_OP_lit21: case DW_OP_lit22: case DW_OP_lit23:
+        case DW_OP_lit24: case DW_OP_lit25: case DW_OP_lit26: case DW_OP_lit27:
+        case DW_OP_lit28: case DW_OP_lit29: case DW_OP_lit30: case DW_OP_lit31:
+            stack[++stk] = op - DW_OP_lit0; break;
         case DW_OP_addr:    stack[++stk] = dwarf2_parse_addr(ctx); break;
         case DW_OP_const1u: stack[++stk] = dwarf2_parse_byte(ctx); break;
         case DW_OP_const1s: stack[++stk] = (long)(signed char)dwarf2_parse_byte(ctx); break;




More information about the wine-cvs mailing list