浏览代码

+ generate line stabs if cs_gdb_lineinfo is aktglobalswitches

pierre 25 年之前
父节点
当前提交
b1f00f942d
共有 2 个文件被更改,包括 22 次插入9 次删除
  1. 12 5
      compiler/ag386att.pas
  2. 10 4
      compiler/ag386bin.pas

+ 12 - 5
compiler/ag386att.pas

@@ -292,7 +292,8 @@ unit ag386att;
         var
           curr_n : byte;
         begin
-          if not (cs_debuginfo in aktmoduleswitches) then
+          if not ((cs_debuginfo in aktmoduleswitches) or
+             (cs_gdb_lineinfo in aktglobalswitches)) then
            exit;
         { file changed ? (must be before line info) }
           if (fileinfo.fileindex<>0) and
@@ -382,7 +383,8 @@ unit ag386att;
       InlineLevel:=0;
       { lineinfo is only needed for codesegment (PFV) }
       do_line:=(cs_asm_source in aktglobalswitches) or
-               ((cs_lineinfo in aktmoduleswitches) and (p=codesegment));
+               ((cs_lineinfo in aktmoduleswitches)
+                 and (p=codesegment));
       hp:=pai(p^.first);
       while assigned(hp) do
        begin
@@ -392,7 +394,8 @@ unit ag386att;
           begin
 {$ifdef GDB}
              { write stabs }
-             if cs_debuginfo in aktmoduleswitches then
+             if (cs_debuginfo in aktmoduleswitches) or
+                (cs_gdb_lineinfo in aktglobalswitches) then
                WriteFileLineInfo(hp^.fileinfo);
 {$endif GDB}
 
@@ -718,7 +721,8 @@ unit ag386att;
                  with binutils 2.9.5 under linux }
                if (not calljmp) and
                   (att_needsuffix[op]<>AttSufNONE) and
-                  (op<>A_FNSTSW) and
+                  (op<>A_FNSTSW) and (op<>A_FSTSW) and
+                  (op<>A_FNSTCW) and (op<>A_FSTCW) and
                   (op<>A_FLDCW) and
                   not(
                    (paicpu(hp)^.oper[0].typ=top_reg) and
@@ -897,7 +901,10 @@ unit ag386att;
 end.
 {
   $Log$
-  Revision 1.31  2000-04-01 14:18:03  peter
+  Revision 1.32  2000-04-06 07:04:50  pierre
+   + generate line stabs if cs_gdb_lineinfo is aktglobalswitches
+
+  Revision 1.31  2000/04/01 14:18:03  peter
     * don't write suffix for fldcw
 
   Revision 1.30  2000/02/29 23:56:49  pierre

+ 10 - 4
compiler/ag386bin.pas

@@ -295,7 +295,8 @@ unit ag386bin;
         hp : pasmsymbol;
         infile : pinputfile;
       begin
-        if not (cs_debuginfo in aktmoduleswitches) then
+        if not ((cs_debuginfo in aktmoduleswitches) or
+           (cs_gdb_lineinfo in aktglobalswitches)) then
          exit;
       { file changed ? (must be before line info) }
         if (fileinfo.fileindex<>0) and
@@ -478,7 +479,8 @@ unit ag386bin;
          begin
 {$ifdef GDB}
            { write stabs }
-           if (cs_debuginfo in aktmoduleswitches) then
+          if ((cs_debuginfo in aktmoduleswitches) or
+             (cs_gdb_lineinfo in aktglobalswitches)) then
             begin
               if (objectalloc^.currsec<>sec_none) and
                  not(hp^.typ in  [
@@ -626,7 +628,8 @@ unit ag386bin;
          begin
 {$ifdef GDB}
            { write stabs }
-           if cs_debuginfo in aktmoduleswitches then
+          if ((cs_debuginfo in aktmoduleswitches) or
+             (cs_gdb_lineinfo in aktglobalswitches)) then
             begin
               if (objectoutput^.currsec<>sec_none) and
                  not(hp^.typ in [
@@ -975,7 +978,10 @@ unit ag386bin;
 end.
 {
   $Log$
-  Revision 1.41  2000-03-10 16:05:57  pierre
+  Revision 1.42  2000-04-06 07:04:51  pierre
+   + generate line stabs if cs_gdb_lineinfo is aktglobalswitches
+
+  Revision 1.41  2000/03/10 16:05:57  pierre
    * generate allways symbol for stabs
 
   Revision 1.40  2000/03/09 14:29:47  pierre