From 255a1ebaadfb8795ab76ebd0360708973bb825cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Sun, 20 Dec 2009 17:27:35 +0100 Subject: [PATCH] dbghelp: Implement literal dwarf opcodes. --- dlls/dbghelp/dwarf.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/dlls/dbghelp/dwarf.c b/dlls/dbghelp/dwarf.c index 16ea0110010..d9e52d35247 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;