瀏覽代碼

* change edatalabel to string references. The edatalabel is not available anymore after a unit is compiled

git-svn-id: trunk@3920 -
peter 19 年之前
父節點
當前提交
6a4ee03913
共有 3 個文件被更改,包括 3 次插入6 次删除
  1. 0 2
      compiler/export.pas
  2. 2 2
      compiler/pmodules.pas
  3. 1 2
      compiler/systems/t_win.pas

+ 0 - 2
compiler/export.pas

@@ -53,7 +53,6 @@ type
       notsupmsg : boolean;
       procedure NotSupported;
    public
-      edatalabel : tasmlabel;
       constructor Create;virtual;
       destructor Destroy;override;
       procedure preparelib(const s : string);virtual;
@@ -106,7 +105,6 @@ end;
 constructor texportlib.Create;
 begin
   notsupmsg:=false;
-  edatalabel:=nil;
 end;
 
 

+ 2 - 2
compiler/pmodules.pas

@@ -1333,7 +1333,7 @@ implementation
          if assigned(exportlib) and
             (target_info.system in [system_i386_win32,system_i386_wdosx]) and
             ((current_module.flags and uf_has_exports)<>0) then
-           current_asmdata.asmlists[al_procedures].concat(tai_const.create_sym(exportlib.edatalabel));
+           current_asmdata.asmlists[al_procedures].concat(tai_const.createname(make_mangledname('EDATA',current_module.localsymtable,''),0));
 
          { finalize? }
          if token=_FINALIZATION then
@@ -1389,7 +1389,7 @@ implementation
 
          { do we need to add the variants unit? }
          maybeloadvariantsunit;
-         
+
 {$ifdef arm}
          { Insert .pdata section for arm-wince.
            It is needed for exception handling. }

+ 1 - 2
compiler/systems/t_win.pas

@@ -642,7 +642,6 @@ implementation
            current_asmdata.asmlists[al_exports]:=TAsmList.create;
          EList_indexed:=tFPList.Create;
          EList_nonindexed:=tFPList.Create;
-         current_asmdata.getdatalabel(edatalabel);
       end;
 
 
@@ -805,7 +804,7 @@ implementation
          new_section(current_asmdata.asmlists[al_exports],sec_edata,'',0);
          { create label to reference from main so smartlink will include
            the .edata section }
-         current_asmdata.asmlists[al_exports].concat(Tai_symbol.Create_global(edatalabel,0));
+         current_asmdata.asmlists[al_exports].concat(Tai_symbol.Createname_global(make_mangledname('EDATA',current_module.localsymtable,''),AT_DATA,0));
          { export flags }
          current_asmdata.asmlists[al_exports].concat(Tai_const.Create_32bit(0));
          { date/time stamp }