浏览代码

* Use DW_OP_deref instead of DW_OP_push_object_deref. The latter is not recognized properly by gdb

git-svn-id: trunk@19325 -
joost 14 年之前
父节点
当前提交
cd0b2e5288
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      compiler/dbgdwarf.pas

+ 1 - 1
compiler/dbgdwarf.pas

@@ -2130,7 +2130,7 @@ implementation
               and then divide by sizeof(pint)).  }
               and then divide by sizeof(pint)).  }
             vmtoffset:=tobjectdef(def.owner.defowner).vmtmethodoffset(def.extnumber);
             vmtoffset:=tobjectdef(def.owner.defowner).vmtmethodoffset(def.extnumber);
             append_attribute(DW_AT_vtable_elem_location,DW_FORM_block1,[3+LengthUleb128(vmtoffset)]);
             append_attribute(DW_AT_vtable_elem_location,DW_FORM_block1,[3+LengthUleb128(vmtoffset)]);
-            current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_push_object_address)));
+            current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_deref)));
             current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_constu)));
             current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_constu)));
             current_asmdata.asmlists[al_dwarf_info].concat(tai_const.Create_uleb128bit(vmtoffset));
             current_asmdata.asmlists[al_dwarf_info].concat(tai_const.Create_uleb128bit(vmtoffset));
             current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_plus)));
             current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(ord(DW_OP_plus)));