Explorar o código

added group directive, so that the .data, .rodata and .bss sections go to the same segment

git-svn-id: branches/i8086@23754 -
nickysn %!s(int64=12) %!d(string=hai) anos
pai
achega
c467035a1c
Modificáronse 1 ficheiros con 9 adicións e 0 borrados
  1. 9 0
      compiler/x86/agx86nsm.pas

+ 9 - 0
compiler/x86/agx86nsm.pas

@@ -1048,6 +1048,15 @@ interface
           WriteSmartExternals;
           FreeExternChainList;
         end;
+{$ifdef i8086}
+      { NASM complains if you put a missing section in the GROUP directive, so }
+      { we add empty declarations to make sure they exist, even if empty }
+      AsmWriteLn('SECTION .rodata');
+      AsmWriteLn('SECTION .data');
+      AsmWriteLn('SECTION .bss');
+      { group these sections in the same segment }
+      AsmWriteLn('GROUP dgroup rodata data bss');
+{$endif i8086}
 {$ifdef EXTDEBUG}
       if current_module.mainsource<>'' then
        comment(v_info,'Done writing nasm-styled assembler output for '+current_module.mainsource);