瀏覽代碼

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

git-svn-id: branches/i8086@23754 -
nickysn 12 年之前
父節點
當前提交
c467035a1c
共有 1 個文件被更改,包括 9 次插入0 次删除
  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);