mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 23:49:07 +02:00
* completed making debugstart/end labels local for darwin as started
in r13111 git-svn-id: trunk@13112 -
This commit is contained in:
parent
9a8ac8cecc
commit
74042f791d
@ -2357,14 +2357,20 @@ implementation
|
|||||||
if (target_info.system in systems_darwin) then
|
if (target_info.system in systems_darwin) then
|
||||||
dbgname:='L'+dbgname;
|
dbgname:='L'+dbgname;
|
||||||
new_section(current_asmdata.asmlists[al_start],sec_code,dbgname,0,secorder_begin);
|
new_section(current_asmdata.asmlists[al_start],sec_code,dbgname,0,secorder_begin);
|
||||||
current_asmdata.asmlists[al_start].concat(tai_symbol.Createname_global(dbgname,AT_DATA,0));
|
if not(target_info.system in systems_darwin) then
|
||||||
|
current_asmdata.asmlists[al_start].concat(tai_symbol.Createname_global(dbgname,AT_DATA,0))
|
||||||
|
else
|
||||||
|
current_asmdata.asmlists[al_start].concat(tai_symbol.Createname(dbgname,AT_DATA,0));
|
||||||
|
|
||||||
dbgname:=make_mangledname('DEBUGEND',current_module.localsymtable,'');
|
dbgname:=make_mangledname('DEBUGEND',current_module.localsymtable,'');
|
||||||
{ See above. }
|
{ See above. }
|
||||||
if (target_info.system in systems_darwin) then
|
if (target_info.system in systems_darwin) then
|
||||||
dbgname:='L'+dbgname;
|
dbgname:='L'+dbgname;
|
||||||
new_section(current_asmdata.asmlists[al_end],sec_code,dbgname,0,secorder_end);
|
new_section(current_asmdata.asmlists[al_end],sec_code,dbgname,0,secorder_end);
|
||||||
current_asmdata.asmlists[al_end].concat(tai_symbol.Createname_global(dbgname,AT_DATA,0));
|
if not(target_info.system in systems_darwin) then
|
||||||
|
current_asmdata.asmlists[al_end].concat(tai_symbol.Createname_global(dbgname,AT_DATA,0))
|
||||||
|
else
|
||||||
|
current_asmdata.asmlists[al_end].concat(tai_symbol.Createname(dbgname,AT_DATA,0));
|
||||||
|
|
||||||
{ insert .Ldebug_abbrev0 label }
|
{ insert .Ldebug_abbrev0 label }
|
||||||
templist:=TAsmList.create;
|
templist:=TAsmList.create;
|
||||||
@ -2551,6 +2557,7 @@ implementation
|
|||||||
lenstartlabel : tasmlabel;
|
lenstartlabel : tasmlabel;
|
||||||
i : longint;
|
i : longint;
|
||||||
def: tdef;
|
def: tdef;
|
||||||
|
dbgname: string;
|
||||||
begin
|
begin
|
||||||
current_module.flags:=current_module.flags or uf_has_dwarf_debuginfo;
|
current_module.flags:=current_module.flags or uf_has_dwarf_debuginfo;
|
||||||
storefilepos:=current_filepos;
|
storefilepos:=current_filepos;
|
||||||
@ -2613,8 +2620,14 @@ implementation
|
|||||||
current_asmdata.RefAsmSymbol(target_asm.labelprefix+'debug_linesection0'),
|
current_asmdata.RefAsmSymbol(target_asm.labelprefix+'debug_linesection0'),
|
||||||
current_asmdata.RefAsmSymbol(target_asm.labelprefix+'debug_line0'));
|
current_asmdata.RefAsmSymbol(target_asm.labelprefix+'debug_line0'));
|
||||||
|
|
||||||
append_labelentry(DW_AT_low_pc,current_asmdata.RefAsmSymbol(make_mangledname('DEBUGSTART',current_module.localsymtable,'')));
|
dbgname:=make_mangledname('DEBUGSTART',current_module.localsymtable,'');
|
||||||
append_labelentry(DW_AT_high_pc,current_asmdata.RefAsmSymbol(make_mangledname('DEBUGEND',current_module.localsymtable,'')));
|
if (target_info.system in systems_darwin) then
|
||||||
|
dbgname:='L'+dbgname;
|
||||||
|
append_labelentry(DW_AT_low_pc,current_asmdata.RefAsmSymbol(dbgname));
|
||||||
|
dbgname:=make_mangledname('DEBUGEND',current_module.localsymtable,'');
|
||||||
|
if (target_info.system in systems_darwin) then
|
||||||
|
dbgname:='L'+dbgname;
|
||||||
|
append_labelentry(DW_AT_high_pc,current_asmdata.RefAsmSymbol(dbgname));
|
||||||
|
|
||||||
finish_entry;
|
finish_entry;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user