Browse Source

Modify tnodeutils.insertbsssym method to generate indirect symbol only if flags contains tf_supports_packages

git-svn-id: trunk@33762 -
pierre 9 years ago
parent
commit
4ff01e1f41
1 changed files with 9 additions and 6 deletions
  1. 9 6
      compiler/ngenutil.pas

+ 9 - 6
compiler/ngenutil.pas

@@ -738,12 +738,15 @@ implementation
       else
         list.concat(Tai_datablock.create(sym.mangledname,size));
 
-      { add the indirect symbol if needed }
-      new_section(list,sec_rodata,lower(sym.mangledname),const_align(sym.vardef.alignment));
-      symind:=current_asmdata.DefineAsmSymbol(sym.mangledname,AB_INDIRECT,AT_DATA);
-      list.concat(Tai_symbol.Create_Global(symind,0));
-      list.concat(Tai_const.Createname(sym.mangledname,AT_DATA,0));
-      list.concat(tai_symbol_end.Create(symind));
+      if (tf_supports_packages in target_info.flags) then
+        begin
+          { add the indirect symbol if needed }
+          new_section(list,sec_rodata,lower(sym.mangledname),const_align(sym.vardef.alignment));
+          symind:=current_asmdata.DefineAsmSymbol(sym.mangledname,AB_INDIRECT,AT_DATA);
+          list.concat(Tai_symbol.Create_Global(symind,0));
+          list.concat(Tai_const.Createname(sym.mangledname,AT_DATA,0));
+          list.concat(tai_symbol_end.Create(symind));
+        end;
     end;