瀏覽代碼

* align compiler generated constants according to constant aligment settings

git-svn-id: trunk@29652 -
florian 10 年之前
父節點
當前提交
8de49997ea
共有 1 個文件被更改,包括 6 次插入6 次删除
  1. 6 6
      compiler/ngenutil.pas

+ 6 - 6
compiler/ngenutil.pas

@@ -695,7 +695,7 @@ implementation
       unitinits.insert(Tai_const.Create_pint(count));
       unitinits.insert(Tai_const.Create_pint(count));
       { Add to data segment }
       { Add to data segment }
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
-      new_section(current_asmdata.asmlists[al_globals],sec_data,'INITFINAL',sizeof(pint));
+      new_section(current_asmdata.asmlists[al_globals],sec_data,'INITFINAL',const_align(sizeof(pint)));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('INITFINAL',AT_DATA,0));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('INITFINAL',AT_DATA,0));
       current_asmdata.asmlists[al_globals].concatlist(unitinits);
       current_asmdata.asmlists[al_globals].concatlist(unitinits);
       current_asmdata.asmlists[al_globals].concat(Tai_symbol_end.Createname('INITFINAL'));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol_end.Createname('INITFINAL'));
@@ -733,7 +733,7 @@ implementation
       ltvTables.insert(Tai_const.Create_32bit(count));
       ltvTables.insert(Tai_const.Create_32bit(count));
       { insert in data segment }
       { insert in data segment }
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
-      new_section(current_asmdata.asmlists[al_globals],sec_data,'FPC_THREADVARTABLES',sizeof(pint));
+      new_section(current_asmdata.asmlists[al_globals],sec_data,'FPC_THREADVARTABLES',const_align(sizeof(pint)));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('FPC_THREADVARTABLES',AT_DATA,0));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('FPC_THREADVARTABLES',AT_DATA,0));
       current_asmdata.asmlists[al_globals].concatlist(ltvTables);
       current_asmdata.asmlists[al_globals].concatlist(ltvTables);
       current_asmdata.asmlists[al_globals].concat(Tai_symbol_end.Createname('FPC_THREADVARTABLES'));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol_end.Createname('FPC_THREADVARTABLES'));
@@ -814,7 +814,7 @@ implementation
       hlist.insert(Tai_const.Create_pint(count));
       hlist.insert(Tai_const.Create_pint(count));
       { insert in data segment }
       { insert in data segment }
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
-      new_section(current_asmdata.asmlists[al_globals],sec_data,tablename,sizeof(pint));
+      new_section(current_asmdata.asmlists[al_globals],sec_data,tablename,const_align(sizeof(pint)));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global(tablename,AT_DATA,0));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global(tablename,AT_DATA,0));
       current_asmdata.asmlists[al_globals].concatlist(hlist);
       current_asmdata.asmlists[al_globals].concatlist(hlist);
       current_asmdata.asmlists[al_globals].concat(Tai_symbol_end.Createname(tablename));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol_end.Createname(tablename));
@@ -899,7 +899,7 @@ implementation
       ResourceStringTables.insert(Tai_const.Create_pint(count));
       ResourceStringTables.insert(Tai_const.Create_pint(count));
       { Add to data segment }
       { Add to data segment }
       maybe_new_object_file(current_asmdata.AsmLists[al_globals]);
       maybe_new_object_file(current_asmdata.AsmLists[al_globals]);
-      new_section(current_asmdata.AsmLists[al_globals],sec_data,'FPC_RESOURCESTRINGTABLES',sizeof(pint));
+      new_section(current_asmdata.AsmLists[al_globals],sec_data,'FPC_RESOURCESTRINGTABLES',const_align(sizeof(pint)));
       current_asmdata.AsmLists[al_globals].concat(Tai_symbol.Createname_global('FPC_RESOURCESTRINGTABLES',AT_DATA,0));
       current_asmdata.AsmLists[al_globals].concat(Tai_symbol.Createname_global('FPC_RESOURCESTRINGTABLES',AT_DATA,0));
       current_asmdata.AsmLists[al_globals].concatlist(ResourceStringTables);
       current_asmdata.AsmLists[al_globals].concatlist(ResourceStringTables);
       current_asmdata.AsmLists[al_globals].concat(Tai_symbol_end.Createname('FPC_RESOURCESTRINGTABLES'));
       current_asmdata.AsmLists[al_globals].concat(Tai_symbol_end.Createname('FPC_RESOURCESTRINGTABLES'));
@@ -967,7 +967,7 @@ implementation
 {$ENDIF POWERPC}
 {$ENDIF POWERPC}
       { Initial heapsize }
       { Initial heapsize }
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
-      new_section(current_asmdata.asmlists[al_globals],sec_data,'__heapsize',sizeof(pint));
+      new_section(current_asmdata.asmlists[al_globals],sec_data,'__heapsize',const_align(sizeof(pint)));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('__heapsize',AT_DATA,sizeof(pint)));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('__heapsize',AT_DATA,sizeof(pint)));
       current_asmdata.asmlists[al_globals].concat(Tai_const.Create_pint(heapsize));
       current_asmdata.asmlists[al_globals].concat(Tai_const.Create_pint(heapsize));
 
 
@@ -981,7 +981,7 @@ implementation
 
 
       { Valgrind usage }
       { Valgrind usage }
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
       maybe_new_object_file(current_asmdata.asmlists[al_globals]);
-      new_section(current_asmdata.asmlists[al_globals],sec_data,'__fpc_valgrind',sizeof(pint));
+      new_section(current_asmdata.asmlists[al_globals],sec_data,'__fpc_valgrind',const_align(sizeof(pint)));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('__fpc_valgrind',AT_DATA,sizeof(boolean)));
       current_asmdata.asmlists[al_globals].concat(Tai_symbol.Createname_global('__fpc_valgrind',AT_DATA,sizeof(boolean)));
       current_asmdata.asmlists[al_globals].concat(Tai_const.create_8bit(byte(cs_gdb_valgrind in current_settings.globalswitches)));
       current_asmdata.asmlists[al_globals].concat(Tai_const.create_8bit(byte(cs_gdb_valgrind in current_settings.globalswitches)));
     end;
     end;