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