|
@@ -1015,12 +1015,12 @@ unit cgppc;
|
|
|
if (target_info.system in [system_powerpc_darwin,system_powerpc64_darwin]) and
|
|
|
assigned(ref.symbol) and
|
|
|
not assigned(ref.relsymbol) and
|
|
|
- ((ref.symbol.bind in [AB_EXTERNAL,AB_WEAK_EXTERNAL]) or
|
|
|
+ ((ref.symbol.bind in [AB_EXTERNAL,AB_WEAK_EXTERNAL,AB_PRIVATE_EXTERN,AB_COMMON]) or
|
|
|
(cs_create_pic in current_settings.moduleswitches))then
|
|
|
begin
|
|
|
- if (ref.symbol.bind in [AB_EXTERNAL,AB_WEAK_EXTERNAL]) or
|
|
|
- ((cs_create_pic in current_settings.moduleswitches) and
|
|
|
- (ref.symbol.bind in [AB_COMMON,AB_GLOBAL,AB_PRIVATE_EXTERN])) then
|
|
|
+ if (ref.symbol.bind in [AB_EXTERNAL,AB_WEAK_EXTERNAL,AB_PRIVATE_EXTERN,AB_COMMON]) or
|
|
|
+ ((target_info.system=system_powerpc64_darwin) and
|
|
|
+ (ref.symbol.bind=AB_GLOBAL)) then
|
|
|
begin
|
|
|
tmpreg := g_indirect_sym_load(list,ref.symbol.name,asmsym2indsymflags(ref.symbol));
|
|
|
ref.symbol:=nil;
|