Browse Source

+ Patch from peter for stack overflow

michael 21 years ago
parent
commit
ebec652408
2 changed files with 16 additions and 5 deletions
  1. 5 2
      compiler/assemble.pas
  2. 11 3
      compiler/cutils.pas

+ 5 - 2
compiler/assemble.pas

@@ -750,7 +750,7 @@ Implementation
                 { the symbol can be external
                 { the symbol can be external
                   so we must use newasmsymbol and
                   so we must use newasmsymbol and
                   not getasmsymbol !! PM }
                   not getasmsymbol !! PM }
-                ps:=objectlibrary.newasmsymbol(copy(s,1,j-1),AB_EXTERNAL,AT_FUNCTION);
+                ps:=objectlibrary.newasmsymbol(copy(s,1,j-1),AB_EXTERNAL,AT_NONE);
                 if not assigned(ps) then
                 if not assigned(ps) then
                   internalerror(33006)
                   internalerror(33006)
                 else
                 else
@@ -1660,7 +1660,10 @@ Implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.65  2004-03-15 21:50:09  peter
+  Revision 1.66  2004-03-22 09:28:34  michael
+  + Patch from peter for stack overflow
+
+  Revision 1.65  2004/03/15 21:50:09  peter
     * start with bssline
     * start with bssline
 
 
   Revision 1.64  2004/03/02 17:32:12  florian
   Revision 1.64  2004/03/02 17:32:12  florian

+ 11 - 3
compiler/cutils.pas

@@ -201,9 +201,14 @@ uses
       begin
       begin
         { for 0 and 1 no aligning is needed }
         { for 0 and 1 no aligning is needed }
         if a<=1 then
         if a<=1 then
-         align:=i
+          result:=i
         else
         else
-         align:=((i+a-1) div a) * a;
+          begin
+            if i<0 then
+              result:=((i-a+1) div a) * a
+            else  
+              result:=((i+a-1) div a) * a;
+          end;  
       end;
       end;
 
 
 
 
@@ -1136,7 +1141,10 @@ initialization
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.36  2004-02-27 10:21:05  florian
+  Revision 1.37  2004-03-22 09:28:34  michael
+  + Patch from peter for stack overflow
+
+  Revision 1.36  2004/02/27 10:21:05  florian
     * top_symbol killed
     * top_symbol killed
     + refaddr to treference added
     + refaddr to treference added
     + refsymbol to treference added
     + refsymbol to treference added