Browse Source

* the i8086-msdos default code segment (in near code memory models) renamed
'_TEXT'. This name is used in object modules, produced by Borland C and Open
Watcom.

git-svn-id: trunk@31482 -

nickysn 10 years ago
parent
commit
4061628ffb
5 changed files with 10 additions and 8 deletions
  1. 1 1
      compiler/ogomf.pas
  2. 2 2
      compiler/omfbase.pas
  3. 1 1
      compiler/systems/t_msdos.pas
  4. 4 2
      compiler/x86/agx86nsm.pas
  5. 2 2
      rtl/msdos/prt0comn.asm

+ 1 - 1
compiler/ogomf.pas

@@ -541,7 +541,7 @@ implementation
           end
         else
 {$endif}
-          result:='text';
+          result:='_TEXT';
       end;
 
     constructor TOmfObjData.create(const n: string);

+ 2 - 2
compiler/omfbase.pas

@@ -34,14 +34,14 @@ interface
   const
     { OMF segment names for the object sections, produced by the FPC code generator }
     omf_secnames : array[TAsmSectiontype] of string[length('__DATA, __datacoal_nt,coalesced')] = ('','',
-      'text',
+      '_TEXT',
       'data',
       'data',
       'rodata',
       'bss',
       'tbss',
       'pdata',
-      'text','data','data','data','data',
+      '_TEXT','data','data','data','data',
       'stab',
       'stabstr',
       'idata2','idata4','idata5','idata6','idata7','edata',

+ 1 - 1
compiler/systems/t_msdos.pas

@@ -472,7 +472,7 @@ begin
   else
     begin
       {LinkRes.Add('order clname CODE clname BEGDATA segment _NULL segment _AFTERNULL clname DATA clname BSS clname STACK clname HEAP');}
-      LinkScript.Concat('  OBJSECTION TEXT||CODE');
+      LinkScript.Concat('  OBJSECTION _TEXT||CODE');
       LinkScript.Concat('  OBJSECTION *||CODE');
       LinkScript.Concat('  OBJSECTION _NULL||BEGDATA');
       LinkScript.Concat('  OBJSECTION _AFTERNULL||BEGDATA');

+ 4 - 2
compiler/x86/agx86nsm.pas

@@ -273,8 +273,10 @@ interface
               result:=current_module.modulename^ + '_TEXT';
           end
         else
+          result:='_TEXT';
+{$else i8086}
+        result:='.text';
 {$endif}
-          result:='.text';
       end;
 
 
@@ -1095,7 +1097,7 @@ interface
         AsmWriteLn('SECTION heap class=HEAP align=16');
       { group these sections in the same segment }
       if current_settings.x86memorymodel=mm_tiny then
-        AsmWriteLn('GROUP DGROUP text rodata data fpc bss heap')
+        AsmWriteLn('GROUP DGROUP _TEXT rodata data fpc bss heap')
       else if current_settings.x86memorymodel in x86_near_data_models then
         AsmWriteLn('GROUP DGROUP rodata data fpc bss stack heap')
       else

+ 2 - 2
rtl/msdos/prt0comn.asm

@@ -36,7 +36,7 @@
 
         cpu 8086
 
-        segment text use16 class=CODE
+        segment _TEXT use16 class=CODE
 
         extern PASCALMAIN
         extern __fpc_PrefixSeg
@@ -523,7 +523,7 @@ __nullarea:
 %endif
 
 %ifdef __TINY__
-        group DGROUP text data bss
+        group DGROUP _TEXT data bss
 %else
     %ifdef __NEAR_DATA__
         group DGROUP _NULL _AFTERNULL data bss stack