Browse Source

* stack segment moved outside of dgroup in the i8086 far data memory models, so
it no longer eats from the precious 64kb limit for static data

git-svn-id: trunk@27959 -

nickysn 11 years ago
parent
commit
22a7dfa231
1 changed files with 3 additions and 1 deletions
  1. 3 1
      compiler/x86/agx86nsm.pas

+ 3 - 1
compiler/x86/agx86nsm.pas

@@ -1220,8 +1220,10 @@ interface
       { 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 fpc bss')
         AsmWriteLn('GROUP dgroup text rodata data fpc bss')
+      else if current_settings.x86memorymodel in x86_near_data_models then
+        AsmWriteLn('GROUP dgroup rodata data fpc bss stack')
       else
       else
-        AsmWriteLn('GROUP dgroup rodata data fpc bss stack');
+        AsmWriteLn('GROUP dgroup rodata data fpc bss');
       if paratargetdbg in [dbg_dwarf2,dbg_dwarf3,dbg_dwarf4] then
       if paratargetdbg in [dbg_dwarf2,dbg_dwarf3,dbg_dwarf4] then
         begin
         begin
           AsmWriteLn('SECTION .debug_frame  use32 class=DWARF');
           AsmWriteLn('SECTION .debug_frame  use32 class=DWARF');