|
@@ -203,7 +203,7 @@ implementation
|
|
uses
|
|
uses
|
|
cutils,
|
|
cutils,
|
|
verbose,systems,sysutils,
|
|
verbose,systems,sysutils,
|
|
- defutil,
|
|
|
|
|
|
+ defutil,procinfo,
|
|
cpubase,cgbase,
|
|
cpubase,cgbase,
|
|
nld;
|
|
nld;
|
|
|
|
|
|
@@ -588,6 +588,8 @@ implementation
|
|
begin
|
|
begin
|
|
result:=nil;
|
|
result:=nil;
|
|
expectloc:=LOC_CREFERENCE;
|
|
expectloc:=LOC_CREFERENCE;
|
|
|
|
+ if (cs_create_pic in current_settings.moduleswitches) then
|
|
|
|
+ include(current_procinfo.flags,pi_needs_got);
|
|
end;
|
|
end;
|
|
|
|
|
|
function trealconstnode.docompare(p: tnode): boolean;
|
|
function trealconstnode.docompare(p: tnode): boolean;
|
|
@@ -948,6 +950,9 @@ implementation
|
|
end
|
|
end
|
|
else
|
|
else
|
|
expectloc:=LOC_CREFERENCE;
|
|
expectloc:=LOC_CREFERENCE;
|
|
|
|
+ if (cs_create_pic in current_settings.moduleswitches) and
|
|
|
|
+ (expectloc <> LOC_CONSTANT) then
|
|
|
|
+ include(current_procinfo.flags,pi_needs_got);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -1227,6 +1232,9 @@ implementation
|
|
expectloc:=LOC_CONSTANT
|
|
expectloc:=LOC_CONSTANT
|
|
else
|
|
else
|
|
expectloc:=LOC_CREFERENCE;
|
|
expectloc:=LOC_CREFERENCE;
|
|
|
|
+ if (cs_create_pic in current_settings.moduleswitches) and
|
|
|
|
+ (expectloc <> LOC_CONSTANT) then
|
|
|
|
+ include(current_procinfo.flags,pi_needs_got);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|