+ added missing dwarf constants: DW_FORM_sec_offset, DW_FORM_exprloc and DW_FORM_flag_present

git-svn-id: trunk@35717 -
This commit is contained in:
maciej-izak 2017-04-03 10:42:27 +00:00
parent e9791ceffc
commit 322720236c

View File

@ -131,6 +131,9 @@ const
DW_FORM_ref8 = $14; DW_FORM_ref8 = $14;
DW_FORM_ref_udata = $15; DW_FORM_ref_udata = $15;
DW_FORM_indirect = $16; DW_FORM_indirect = $16;
DW_FORM_sec_offset = $17;
DW_FORM_exprloc = $18;
DW_FORM_flag_present = $19;
type type
{ state record for the line info state machine } { state record for the line info state machine }
@ -1007,7 +1010,8 @@ procedure SkipAttr(form : QWord);
ReadNext(dummy,8); ReadNext(dummy,8);
DW_FORM_string: DW_FORM_string:
ReadString; ReadString;
DW_FORM_block: DW_FORM_block,
DW_FORM_exprloc:
begin begin
ql:=ReadULEB128; ql:=ReadULEB128;
for i:=1 to ql do for i:=1 to ql do
@ -1037,7 +1041,8 @@ procedure SkipAttr(form : QWord);
end end
else else
ReadNext(dummy,header64.address_size); ReadNext(dummy,header64.address_size);
DW_FORM_strp: DW_FORM_strp,
DW_FORM_sec_offset:
if isdwarf64 then if isdwarf64 then
ReadNext(dummy,8) ReadNext(dummy,8)
else else
@ -1056,6 +1061,7 @@ procedure SkipAttr(form : QWord);
ReadULEB128; ReadULEB128;
DW_FORM_indirect: DW_FORM_indirect:
SkipAttr(ReadULEB128); SkipAttr(ReadULEB128);
DW_FORM_flag_present: {none};
else else
begin begin
writeln(stderr,'Internal error: unknown dwarf form: $',hexstr(form,2)); writeln(stderr,'Internal error: unknown dwarf form: $',hexstr(form,2));