Przeglądaj źródła

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

Jonas Maebe 23 lat temu
rodzic
commit
3566880766
2 zmienionych plików z 20 dodań i 14 usunięć
  1. 13 10
      compiler/assemble.pas
  2. 7 4
      compiler/i386/ag386att.pas

+ 13 - 10
compiler/assemble.pas

@@ -66,7 +66,7 @@ interface
       end;
 
       {# 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.
       }
       TExternalAssembler=class(TAssembler)
@@ -80,8 +80,8 @@ interface
         outbuf   : array[0..AsmOutSize-1] of char;
         outfile  : file;
       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 searches in the free pascal binary directory, in the current
            working directory and the in the  directories in the $PATH environment.
@@ -105,11 +105,11 @@ interface
         Procedure AsmLn;
         procedure AsmCreate(Aplace:tcutplace);
         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;
-        {# 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
            by calling for each stream type, the @var(WriteTree) method.
         }
@@ -1094,10 +1094,10 @@ Implementation
                end;
              ait_symbol_end :
                begin
-                 if target_info.target=target_i386_linux then
+                 if target_info.target in [target_i386_linux,target_i386_beos] then
                   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;
              ait_label :
@@ -1581,7 +1581,10 @@ Implementation
 end.
 {
   $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
 
   Revision 1.31  2002/04/04 19:05:54  peter

+ 7 - 4
compiler/i386/ag386att.pas

@@ -676,9 +676,9 @@ interface
                   inc(symendcount);
                   AsmWriteLn(s+':');
                   AsmWrite(#9'.size'#9);
-                  AsmWrite(tai_symbol(hp).sym.name);
+                  AsmWrite(tai_symbol_end(hp).sym.name);
                   AsmWrite(', '+s+' - ');
-                  AsmWriteLn(tai_symbol(hp).sym.name);
+                  AsmWriteLn(tai_symbol_end(hp).sym.name);
                 end;
              end;
 
@@ -962,11 +962,14 @@ initialization
   RegisterAssembler(as_i386_as_info,T386ATTAssembler);
   RegisterAssembler(as_i386_as_aout_info,T386ATTAssembler);
   RegisterAssembler(as_i386_asw_info,T386ATTAssembler);
-  RegisterAssembler(as_i386_aswwdosx_info,T386ATTAssembler); 
+  RegisterAssembler(as_i386_aswwdosx_info,T386ATTAssembler);
 end.
 {
   $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
     * use tlocation.size in cg.a_*loc*() routines