mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-14 18:23:16 +01:00
* set symbol type/binding of data referred by ppc and arm/darwin stubs (part
of r25264, fixes internalerror 2013081601 after r25266) git-svn-id: trunk@25275 -
This commit is contained in:
parent
5c33644e5c
commit
57cdd8c106
@ -3139,14 +3139,14 @@ unit cgcpu;
|
|||||||
|
|
||||||
if not(cs_create_pic in current_settings.moduleswitches) then
|
if not(cs_create_pic in current_settings.moduleswitches) then
|
||||||
begin
|
begin
|
||||||
l1 := current_asmdata.RefAsmSymbol('L'+s+'$slp');
|
l1 := current_asmdata.DefineAsmSymbol('L'+s+'$slp',AB_LOCAL,AT_DATA);
|
||||||
reference_reset_symbol(href,l1,0,sizeof(pint));
|
reference_reset_symbol(href,l1,0,sizeof(pint));
|
||||||
href.refaddr:=addr_full;
|
href.refaddr:=addr_full;
|
||||||
current_asmdata.asmlists[al_imports].concat(taicpu.op_reg_ref(A_LDR,NR_R12,href));
|
current_asmdata.asmlists[al_imports].concat(taicpu.op_reg_ref(A_LDR,NR_R12,href));
|
||||||
reference_reset_base(href,NR_R12,0,sizeof(pint));
|
reference_reset_base(href,NR_R12,0,sizeof(pint));
|
||||||
current_asmdata.asmlists[al_imports].concat(taicpu.op_reg_ref(A_LDR,NR_R15,href));
|
current_asmdata.asmlists[al_imports].concat(taicpu.op_reg_ref(A_LDR,NR_R15,href));
|
||||||
current_asmdata.asmlists[al_imports].concat(Tai_symbol.Create(l1,0));
|
current_asmdata.asmlists[al_imports].concat(Tai_symbol.Create(l1,0));
|
||||||
l1 := current_asmdata.RefAsmSymbol('L'+s+'$lazy_ptr');
|
l1 := current_asmdata.DefineAsmSymbol('L'+s+'$lazy_ptr',AB_LOCAL,AT_DATA);
|
||||||
current_asmdata.asmlists[al_imports].concat(tai_const.create_sym(l1));
|
current_asmdata.asmlists[al_imports].concat(tai_const.create_sym(l1));
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|||||||
@ -326,7 +326,7 @@ unit cgppc;
|
|||||||
if weak then
|
if weak then
|
||||||
current_asmdata.weakrefasmsymbol(s);
|
current_asmdata.weakrefasmsymbol(s);
|
||||||
current_asmdata.asmlists[al_imports].concat(tai_directive.create(asd_indirect_symbol,s));
|
current_asmdata.asmlists[al_imports].concat(tai_directive.create(asd_indirect_symbol,s));
|
||||||
l1 := current_asmdata.RefAsmSymbol('L'+s+'$lazy_ptr');
|
l1 := current_asmdata.DefineAsmSymbol('L'+s+'$lazy_ptr',AB_LOCAL,AT_DATA);
|
||||||
reference_reset_symbol(href,l1,0,sizeof(pint));
|
reference_reset_symbol(href,l1,0,sizeof(pint));
|
||||||
href.refaddr := addr_higha;
|
href.refaddr := addr_higha;
|
||||||
if (cs_create_pic in current_settings.moduleswitches) then
|
if (cs_create_pic in current_settings.moduleswitches) then
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user