|
@@ -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;
|