Browse Source

* 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 years ago
parent
commit
661e11ecb8
1 changed files with 3 additions and 2 deletions
  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}