Browse Source

* fix for the ie9999 under Linux (patch from Peter)

Jonas Maebe 23 years ago
parent
commit
3566880766
2 changed files with 20 additions and 14 deletions
  1. 13 10
      compiler/assemble.pas
  2. 7 4
      compiler/i386/ag386att.pas

+ 13 - 10
compiler/assemble.pas

@@ -66,7 +66,7 @@ interface
       end;
       end;
 
 
       {# This is the base class which should be overriden for each each
       {# This is the base class which should be overriden for each each
-         assembler writer. It is used to actually assembler a file, 
+         assembler writer. It is used to actually assembler a file,
          and write the output to the assembler file.
          and write the output to the assembler file.
       }
       }
       TExternalAssembler=class(TAssembler)
       TExternalAssembler=class(TAssembler)
@@ -80,8 +80,8 @@ interface
         outbuf   : array[0..AsmOutSize-1] of char;
         outbuf   : array[0..AsmOutSize-1] of char;
         outfile  : file;
         outfile  : file;
       public
       public
-        {# Returns the complete path and executable name of the assembler program. 
-           
+        {# Returns the complete path and executable name of the assembler program.
+
            It first tries looking in the UTIL directory if specified, otherwise
            It first tries looking in the UTIL directory if specified, otherwise
            it searches in the free pascal binary directory, in the current
            it searches in the free pascal binary directory, in the current
            working directory and the in the  directories in the $PATH environment.
            working directory and the in the  directories in the $PATH environment.
@@ -105,11 +105,11 @@ interface
         Procedure AsmLn;
         Procedure AsmLn;
         procedure AsmCreate(Aplace:tcutplace);
         procedure AsmCreate(Aplace:tcutplace);
         procedure AsmClose;
         procedure AsmClose;
-        {# This routine should be overriden for each assembler, it is used 
-           to actually write the abstract assembler stream to file. 
+        {# This routine should be overriden for each assembler, it is used
+           to actually write the abstract assembler stream to file.
         }
         }
         procedure WriteTree(p:TAAsmoutput);virtual;
         procedure WriteTree(p:TAAsmoutput);virtual;
-        {# This routine should be overriden for each assembler, it is used 
+        {# This routine should be overriden for each assembler, it is used
            to actually write all the different abstract assembler streams
            to actually write all the different abstract assembler streams
            by calling for each stream type, the @var(WriteTree) method.
            by calling for each stream type, the @var(WriteTree) method.
         }
         }
@@ -1094,10 +1094,10 @@ Implementation
                end;
                end;
              ait_symbol_end :
              ait_symbol_end :
                begin
                begin
-                 if target_info.target=target_i386_linux then
+                 if target_info.target in [target_i386_linux,target_i386_beos] then
                   begin
                   begin
-                    Tai_symbol(hp).sym.size:=objectalloc.sectionsize-Tai_symbol(hp).sym.address;
-                    UsedAsmSymbolListInsert(Tai_symbol(hp).sym);
+                    Tai_symbol_end(hp).sym.size:=objectalloc.sectionsize-Tai_symbol_end(hp).sym.address;
+                    UsedAsmSymbolListInsert(Tai_symbol_end(hp).sym);
                   end;
                   end;
                 end;
                 end;
              ait_label :
              ait_label :
@@ -1581,7 +1581,10 @@ Implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.32  2002-04-07 13:19:14  carl
+  Revision 1.33  2002-04-10 08:07:55  jonas
+    * fix for the ie9999 under Linux (patch from Peter)
+
+  Revision 1.32  2002/04/07 13:19:14  carl
   + more documentation
   + more documentation
 
 
   Revision 1.31  2002/04/04 19:05:54  peter
   Revision 1.31  2002/04/04 19:05:54  peter

+ 7 - 4
compiler/i386/ag386att.pas

@@ -676,9 +676,9 @@ interface
                   inc(symendcount);
                   inc(symendcount);
                   AsmWriteLn(s+':');
                   AsmWriteLn(s+':');
                   AsmWrite(#9'.size'#9);
                   AsmWrite(#9'.size'#9);
-                  AsmWrite(tai_symbol(hp).sym.name);
+                  AsmWrite(tai_symbol_end(hp).sym.name);
                   AsmWrite(', '+s+' - ');
                   AsmWrite(', '+s+' - ');
-                  AsmWriteLn(tai_symbol(hp).sym.name);
+                  AsmWriteLn(tai_symbol_end(hp).sym.name);
                 end;
                 end;
              end;
              end;
 
 
@@ -962,11 +962,14 @@ initialization
   RegisterAssembler(as_i386_as_info,T386ATTAssembler);
   RegisterAssembler(as_i386_as_info,T386ATTAssembler);
   RegisterAssembler(as_i386_as_aout_info,T386ATTAssembler);
   RegisterAssembler(as_i386_as_aout_info,T386ATTAssembler);
   RegisterAssembler(as_i386_asw_info,T386ATTAssembler);
   RegisterAssembler(as_i386_asw_info,T386ATTAssembler);
-  RegisterAssembler(as_i386_aswwdosx_info,T386ATTAssembler); 
+  RegisterAssembler(as_i386_aswwdosx_info,T386ATTAssembler);
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.15  2002-04-04 19:06:06  peter
+  Revision 1.16  2002-04-10 08:07:55  jonas
+    * fix for the ie9999 under Linux (patch from Peter)
+
+  Revision 1.15  2002/04/04 19:06:06  peter
     * removed unused units
     * removed unused units
     * use tlocation.size in cg.a_*loc*() routines
     * use tlocation.size in cg.a_*loc*() routines