|
@@ -48,6 +48,12 @@ interface
|
|
DbgBase;
|
|
DbgBase;
|
|
|
|
|
|
type
|
|
type
|
|
|
|
+ {$ifdef avr}
|
|
|
|
+ // re-map to larger types because of offsets required to distinguish different memory spaces
|
|
|
|
+ puint = cardinal;
|
|
|
|
+ pint = longint;
|
|
|
|
+ {$endif avr}
|
|
|
|
+
|
|
{ Tag names and codes. }
|
|
{ Tag names and codes. }
|
|
tdwarf_tag = (DW_TAG_padding := $00,DW_TAG_array_type := $01,
|
|
tdwarf_tag = (DW_TAG_padding := $00,DW_TAG_array_type := $01,
|
|
DW_TAG_class_type := $02,DW_TAG_entry_point := $03,
|
|
DW_TAG_class_type := $02,DW_TAG_entry_point := $03,
|
|
@@ -538,6 +544,11 @@ implementation
|
|
{ Implementation-defined range start. }
|
|
{ Implementation-defined range start. }
|
|
DW_LANG_hi_user = $ffff;
|
|
DW_LANG_hi_user = $ffff;
|
|
|
|
|
|
|
|
+ {$ifdef avr}
|
|
|
|
+ // More space required to include memory type offset
|
|
|
|
+ aitconst_ptr_unaligned = aitconst_32bit_unaligned;
|
|
|
|
+ {$endif avr}
|
|
|
|
+
|
|
type
|
|
type
|
|
{ Names and codes for macro information. }
|
|
{ Names and codes for macro information. }
|
|
tdwarf_macinfo_record_type = (DW_MACINFO_define := 1,DW_MACINFO_undef := 2,
|
|
tdwarf_macinfo_record_type = (DW_MACINFO_define := 1,DW_MACINFO_undef := 2,
|
|
@@ -3142,7 +3153,12 @@ implementation
|
|
end;
|
|
end;
|
|
*)
|
|
*)
|
|
templist.concat(tai_const.create_8bit(3));
|
|
templist.concat(tai_const.create_8bit(3));
|
|
|
|
+ {$ifdef avr}
|
|
|
|
+ // Add $800000 to indicate that the address is in memory space
|
|
|
|
+ templist.concat(tai_const.create_int_dataptr_unaligned(sym.addroffset + $800000, aitconst_ptr_unaligned));
|
|
|
|
+ {$else}
|
|
templist.concat(tai_const.create_int_dataptr_unaligned(sym.addroffset));
|
|
templist.concat(tai_const.create_int_dataptr_unaligned(sym.addroffset));
|
|
|
|
+ {$endif}
|
|
blocksize:=1+sizeof(puint);
|
|
blocksize:=1+sizeof(puint);
|
|
end;
|
|
end;
|
|
toasm :
|
|
toasm :
|