Przeglądaj źródła

* make the vectorized dead strip section symbol external for files that
don't define it

git-svn-id: trunk@32534 -

Jonas Maebe 9 lat temu
rodzic
commit
ac18eb005f
1 zmienionych plików z 8 dodań i 2 usunięć
  1. 8 2
      compiler/aasmcnst.pas

+ 8 - 2
compiler/aasmcnst.pas

@@ -1341,11 +1341,17 @@ implementation
 
 
 
 
    class function ttai_typedconstbuilder.get_vectorized_dead_strip_section_symbol(const basename: string; st: tsymtable; define, start: boolean): tasmsymbol;
    class function ttai_typedconstbuilder.get_vectorized_dead_strip_section_symbol(const basename: string; st: tsymtable; define, start: boolean): tasmsymbol;
+     var
+       bind: tasmsymbind;
      begin
      begin
+       if define then
+         bind:=AB_GLOBAL
+       else
+         bind:=AB_EXTERNAL;
        if start then
        if start then
-         result:=current_asmdata.DefineAsmSymbol(make_mangledname(basename,st,'START'),AB_GLOBAL,AT_DATA)
+         result:=current_asmdata.DefineAsmSymbol(make_mangledname(basename,st,'START'),bind,AT_DATA)
        else
        else
-         result:=current_asmdata.DefineAsmSymbol(make_mangledname(basename,st,'END'),AB_GLOBAL,AT_DATA);
+         result:=current_asmdata.DefineAsmSymbol(make_mangledname(basename,st,'END'),bind,AT_DATA);
      end;
      end;