mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 21:46:00 +02:00
+ added an address size parameter to lnfodrwf.ReadAddress(); pass the expected
address size, as taken from the dwarf header structure git-svn-id: trunk@39059 -
This commit is contained in:
parent
dc8b78abe6
commit
a7f5a69000
@ -471,7 +471,7 @@ end;
|
|||||||
|
|
||||||
|
|
||||||
{ Reads an address from the current input stream }
|
{ Reads an address from the current input stream }
|
||||||
function ReadAddress() : PtrUInt;
|
function ReadAddress(addr_size: smallint) : PtrUInt;
|
||||||
begin
|
begin
|
||||||
ReadNext(ReadAddress, sizeof(ReadAddress));
|
ReadNext(ReadAddress, sizeof(ReadAddress));
|
||||||
end;
|
end;
|
||||||
@ -758,7 +758,7 @@ begin
|
|||||||
DEBUG_WRITELN('DW_LNE_END_SEQUENCE');
|
DEBUG_WRITELN('DW_LNE_END_SEQUENCE');
|
||||||
end;
|
end;
|
||||||
DW_LNE_SET_ADDRESS : begin
|
DW_LNE_SET_ADDRESS : begin
|
||||||
state.address := ReadAddress();
|
state.address := ReadAddress(extended_opcode_length-1);
|
||||||
DEBUG_WRITELN('DW_LNE_SET_ADDRESS (', hexstr(state.address, sizeof(state.address)*2), ')');
|
DEBUG_WRITELN('DW_LNE_SET_ADDRESS (', hexstr(state.address, sizeof(state.address)*2), ')');
|
||||||
end;
|
end;
|
||||||
{$ifdef CPUI8086}
|
{$ifdef CPUI8086}
|
||||||
@ -1004,8 +1004,8 @@ begin
|
|||||||
DEBUG_WRITELN('debug_info_offset: ',header64.debug_info_offset);
|
DEBUG_WRITELN('debug_info_offset: ',header64.debug_info_offset);
|
||||||
DEBUG_WRITELN('address_size: ', header64.address_size);
|
DEBUG_WRITELN('address_size: ', header64.address_size);
|
||||||
DEBUG_WRITELN('segment_size: ', header64.segment_size);
|
DEBUG_WRITELN('segment_size: ', header64.segment_size);
|
||||||
arange_start:=ReadAddress;
|
arange_start:=ReadAddress(header64.address_size);
|
||||||
arange_size:=ReadAddress;
|
arange_size:=ReadAddress(header64.address_size);
|
||||||
|
|
||||||
while not((arange_start=0) and (arange_size=0)) and (not found) do
|
while not((arange_start=0) and (arange_size=0)) and (not found) do
|
||||||
begin
|
begin
|
||||||
@ -1016,8 +1016,8 @@ begin
|
|||||||
DEBUG_WRITELN('Matching aranges entry $',hexStr(arange_start,header64.address_size*2),', $',hexStr(arange_size,header64.address_size*2));
|
DEBUG_WRITELN('Matching aranges entry $',hexStr(arange_start,header64.address_size*2),', $',hexStr(arange_size,header64.address_size*2));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
arange_start:=ReadAddress;
|
arange_start:=ReadAddress(header64.address_size);
|
||||||
arange_size:=ReadAddress;
|
arange_size:=ReadAddress(header64.address_size);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user