瀏覽代碼

* on i8086 added section .fpc to the group 'dgroup'. This fixes a bug that caused the bss section to not be left out from the executable in tiny model, which caused, ironically, tiny model executables to be larger than the small model executables

git-svn-id: trunk@25525 -
nickysn 12 年之前
父節點
當前提交
661e11ecb8
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      compiler/x86/agx86nsm.pas

+ 3 - 2
compiler/x86/agx86nsm.pas

@@ -1125,13 +1125,14 @@ interface
           { we add empty declarations to make sure they exist, even if empty }
           AsmWriteLn('SECTION .rodata');
           AsmWriteLn('SECTION .data');
+          AsmWriteLn('SECTION .fpc');
           { WLINK requires class=bss in order to leave the BSS section out of the executable }
           AsmWriteLn('SECTION .bss class=bss');
           { group these sections in the same segment }
           if current_settings.x86memorymodel=mm_tiny then
-            AsmWriteLn('GROUP dgroup text rodata data bss')
+            AsmWriteLn('GROUP dgroup text rodata data fpc bss')
           else
-            AsmWriteLn('GROUP dgroup rodata data bss');
+            AsmWriteLn('GROUP dgroup rodata data fpc bss');
         end;
       AsmWriteLn('SECTION ' + CodeSectionName);
 {$else i8086}