瀏覽代碼

* move the indirect symbols from al_exports to a new assembler list al_indirectglobals; otherwise compilation would fail horribly if we'd try to compile with a .def file as then the al_exports sections are ignored by the internal linker

git-svn-id: trunk@35258 -
svenbarth 8 年之前
父節點
當前提交
729d582822
共有 2 個文件被更改,包括 4 次插入1 次删除
  1. 3 0
      compiler/aasmdata.pas
  2. 1 1
      compiler/aasmdef.pas

+ 3 - 0
compiler/aasmdata.pas

@@ -58,6 +58,8 @@ interface
         al_exports,
         al_resources,
         al_rtti,
+        { all symbols with indirect suffix }
+        al_indirectglobals,
         al_dwarf_frame,
         al_dwarf_info,
         al_dwarf_abbrev,
@@ -112,6 +114,7 @@ interface
         'al_exports',
         'al_resources',
         'al_rtti',
+        'al_indirectglobals',
         'al_dwarf_frame',
         'al_dwarf_info',
         'al_dwarf_abbrev',

+ 1 - 1
compiler/aasmdef.pas

@@ -68,7 +68,7 @@ function TAsmDataDef.DefineAsmSymbolByClass(symclass: TAsmSymbolClass; const s:
         symind:=current_asmdata.DefineAsmSymbol(s,AB_INDIRECT,AT_DATA,ptrdef);
         tcb:=ctai_typedconstbuilder.create([tcalo_make_dead_strippable,tcalo_new_section]);
         tcb.emit_tai(Tai_const.Create_sym_offset(result,0),ptrdef);
-        current_asmdata.AsmLists[al_exports].concatlist(tcb.get_final_asmlist(
+        current_asmdata.AsmLists[al_indirectglobals].concatlist(tcb.get_final_asmlist(
           symind,ptrdef,
           sec_rodata,
           lower(symind.name),