mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-28 19:02:05 +02:00
+ "set" support in dwarf debug info if compiler is compiled with
-dGDB_SUPPORTS_DWARF_SETS (not default, because supported only as of gdb 6.6, and earlier versions refuse to debug programs containing DW_TAG_set_type tags) git-svn-id: trunk@7957 -
This commit is contained in:
parent
1348be69fe
commit
9fedea7b9f
@ -2782,6 +2782,20 @@ implementation
|
||||
|
||||
procedure TDebugInfoDwarf2.appenddef_set(def: tsetdef);
|
||||
begin
|
||||
{$ifdef GDB_SUPPORTS_DWARF_SETS}
|
||||
{ current (20070704 -- patch was committed on 20060513) gdb cvs supports set types }
|
||||
|
||||
if assigned(def.typesym) then
|
||||
append_entry(DW_TAG_set_type,false,[
|
||||
DW_AT_name,DW_FORM_string,symname(def.typesym)+#0,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
])
|
||||
else
|
||||
append_entry(DW_TAG_set_type,false,[
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
]);
|
||||
append_labelentry_ref(DW_AT_type,def_dwarf_lab(def.elementdef));
|
||||
{$else GDB_SUPPORTS_DWARF_SETS}
|
||||
{ at least gdb up to 6.4 doesn't support sets in dwarf, there is a patch available to fix this:
|
||||
http://sources.redhat.com/ml/gdb-patches/2005-05/msg00278.html (FK) }
|
||||
|
||||
@ -2796,6 +2810,7 @@ implementation
|
||||
DW_AT_encoding,DW_FORM_data1,DW_ATE_unsigned,
|
||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||
]);
|
||||
{$endif GDB_SUPPORTS_DWARF_SETS}
|
||||
finish_entry;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user