summaryrefslogtreecommitdiffstats
path: root/trunk/src/dwarf2.c
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/dwarf2.c')
-rw-r--r--trunk/src/dwarf2.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/trunk/src/dwarf2.c b/trunk/src/dwarf2.c
index 4c8a245..60f7f89 100644
--- a/trunk/src/dwarf2.c
+++ b/trunk/src/dwarf2.c
@@ -394,10 +394,13 @@ adjust_location_list (DSO *dso, struct cu_data *cu, unsigned char *ptr,
case DW_OP_consts:
case DW_OP_breg0 ... DW_OP_breg31:
case DW_OP_fbreg:
+ case DW_OP_GNU_convert:
+ case DW_OP_GNU_reinterpret:
read_uleb128 (ptr);
break;
case DW_OP_bregx:
case DW_OP_bit_piece:
+ case DW_OP_GNU_regval_type:
read_uleb128 (ptr);
read_uleb128 (ptr);
break;
@@ -434,6 +437,14 @@ adjust_location_list (DSO *dso, struct cu_data *cu, unsigned char *ptr,
ptr += leni;
}
break;
+ case DW_OP_GNU_const_type:
+ read_uleb128 (ptr);
+ ptr += *ptr + 1;
+ break;
+ case DW_OP_GNU_deref_type:
+ ++ptr;
+ read_uleb128 (ptr);
+ break;
default:
error (0, 0, "%s: Unknown DWARF DW_OP_%d", dso->filename, op);
return 1;