mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-03 10:29:37 +01:00
nx86ld.pas, tx86loadnode:
* generate_threadvar_access: pass result of use_indirect_symbol() to RefAsmSymbol() to use an indirect access if necessary git-svn-id: trunk@33283 -
This commit is contained in:
parent
e4feacf29d
commit
c4449fc5e6
@ -39,7 +39,7 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
cutils,verbose,systems,
|
cutils,verbose,systems,
|
||||||
aasmtai,aasmdata,
|
aasmbase,aasmtai,aasmdata,
|
||||||
cgutils,cgobj,
|
cgutils,cgobj,
|
||||||
symconst,symdef,symtable,
|
symconst,symdef,symtable,
|
||||||
cgbase,cpubase,parabase,paramgr;
|
cgbase,cpubase,parabase,paramgr;
|
||||||
@ -65,9 +65,9 @@ implementation
|
|||||||
pd:=search_system_proc('fpc_tls_add');
|
pd:=search_system_proc('fpc_tls_add');
|
||||||
paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1);
|
paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,1,paraloc1);
|
||||||
if not(vo_is_weak_external in gvs.varoptions) then
|
if not(vo_is_weak_external in gvs.varoptions) then
|
||||||
reference_reset_symbol(href,current_asmdata.RefAsmSymbol(gvs.mangledname),0,sizeof(pint))
|
reference_reset_symbol(href,current_asmdata.RefAsmSymbol(gvs.mangledname,AT_DATA,use_indirect_symbol(gvs)),0,sizeof(pint))
|
||||||
else
|
else
|
||||||
reference_reset_symbol(href,current_asmdata.WeakRefAsmSymbol(gvs.mangledname),0,sizeof(pint));
|
reference_reset_symbol(href,current_asmdata.WeakRefAsmSymbol(gvs.mangledname,AT_DATA),0,sizeof(pint));
|
||||||
cg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,href,paraloc1);
|
cg.a_loadaddr_ref_cgpara(current_asmdata.CurrAsmList,href,paraloc1);
|
||||||
paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
|
paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
|
||||||
paraloc1.done;
|
paraloc1.done;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user