mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-06 04:30:36 +01:00
* prevent duplicate symbol errors when compiling code with debug info
on AIX due to the extra inserted local symbols (although in case e.g
multiple procedures contain a typed constant with the same name, only
one can be accessible)
* removed '.' suffix of local symbols inserted for debug info of typed
constants for AIX (gdb couldn't find those symbols; it seems the
address calculated by gdb for typed constants is still not correct
though)
git-svn-id: trunk@20966 -
This commit is contained in:
parent
35b80a4229
commit
d7247c9bd9
@ -2589,7 +2589,8 @@ implementation
|
||||
Moreover, such a local symbol will be removed if it's not
|
||||
referenced anywhere, so also create a reference }
|
||||
if (target_dbg.id=dbg_stabx) and
|
||||
(cs_debuginfo in current_settings.moduleswitches) then
|
||||
(cs_debuginfo in current_settings.moduleswitches) and
|
||||
not assigned(current_asmdata.GetAsmSymbol(sym.name)) then
|
||||
begin
|
||||
list.concat(tai_symbol.Create(current_asmdata.DefineAsmSymbol(sym.name,AB_LOCAL,AT_DATA),0));
|
||||
list.concat(tai_directive.Create(asd_reference,sym.name));
|
||||
|
||||
@ -1560,10 +1560,11 @@ implementation
|
||||
begin
|
||||
{ see same code in ncgutil.insertbssdata }
|
||||
if (target_dbg.id=dbg_stabx) and
|
||||
(cs_debuginfo in current_settings.moduleswitches) then
|
||||
(cs_debuginfo in current_settings.moduleswitches) and
|
||||
not assigned(current_asmdata.GetAsmSymbol(sym.name)) then
|
||||
begin
|
||||
list.concat(tai_symbol.Create(current_asmdata.DefineAsmSymbol(sym.name+'.',AB_LOCAL,AT_DATA),0));
|
||||
list.concat(tai_directive.Create(asd_reference,sym.name+'.'));
|
||||
list.concat(tai_symbol.Create(current_asmdata.DefineAsmSymbol(sym.name,AB_LOCAL,AT_DATA),0));
|
||||
list.concat(tai_directive.Create(asd_reference,sym.name));
|
||||
end;
|
||||
list.concat(Tai_symbol.Createname_global(sym.mangledname,AT_DATA,0))
|
||||
end
|
||||
|
||||
Loading…
Reference in New Issue
Block a user