Răsfoiți Sursa

* only enable dwarf for supported platforms

peter 21 ani în urmă
părinte
comite
230105093d
4 a modificat fișierele cu 25 adăugiri și 10 ștergeri
  1. 7 3
      compiler/pmodules.pas
  2. 8 3
      compiler/systems.pas
  3. 5 2
      compiler/systems/i_linux.pas
  4. 5 2
      compiler/x86/agx86att.pas

+ 7 - 3
compiler/pmodules.pas

@@ -137,10 +137,11 @@ implementation
 
     procedure create_dwarf;
       begin
-{$warning TODO Make it dependent on the -gd switch}
         dwarflist:=taasmoutput.create;
         { Call frame information }
-        dwarfcfi.generate_code(dwarflist);
+        if (tf_needs_dwarf_cfi in target_info.flags) and
+           (af_supports_dwarf in target_asm.flags) then
+          dwarfcfi.generate_code(dwarflist);
       end;
 
 
@@ -1504,7 +1505,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.158  2004-06-20 08:55:30  florian
+  Revision 1.159  2004-06-29 21:00:08  peter
+    * only enable dwarf for supported platforms
+
+  Revision 1.158  2004/06/20 08:55:30  florian
     * logs truncated
 
   Revision 1.157  2004/06/18 15:16:27  peter

+ 8 - 3
compiler/systems.pas

@@ -192,7 +192,8 @@ interface
        tasmflags = (af_none,
          af_outputbinary,af_allowdirect,
          af_needar,af_smartlink_sections,
-         af_labelprefix_only_inside_procedure
+         af_labelprefix_only_inside_procedure,
+         af_supports_dwarf
        );
 
        pasminfo = ^tasminfo;
@@ -225,7 +226,8 @@ interface
             tf_need_export,tf_needs_isconsole,
             tf_code_small,tf_static_reg_based,
             tf_needs_symbol_size,
-            tf_smartlink_sections
+            tf_smartlink_sections,
+            tf_needs_dwarf_cfi
        );
 
        psysteminfo = ^tsysteminfo;
@@ -700,7 +702,10 @@ finalization
 end.
 {
   $Log$
-  Revision 1.90  2004-06-20 08:55:30  florian
+  Revision 1.91  2004-06-29 21:00:08  peter
+    * only enable dwarf for supported platforms
+
+  Revision 1.90  2004/06/20 08:55:30  florian
     * logs truncated
 
   Revision 1.89  2004/06/16 20:07:10  florian

+ 5 - 2
compiler/systems/i_linux.pas

@@ -286,7 +286,7 @@ unit i_linux;
             system       : system_x86_64_LINUX;
             name         : 'Linux for x86-64';
             shortname    : 'linux';
-            flags        : [tf_needs_symbol_size];
+            flags        : [tf_needs_symbol_size,tf_needs_dwarf_cfi];
             cpu          : cpu_x86_64;
             unit_env     : 'LINUXUNITS';
             extradefines : 'UNIX;HASUNIX';
@@ -514,7 +514,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.27  2004-06-20 08:55:32  florian
+  Revision 1.28  2004-06-29 21:00:08  peter
+    * only enable dwarf for supported platforms
+
+  Revision 1.27  2004/06/20 08:55:32  florian
     * logs truncated
 
   Revision 1.26  2004/06/16 20:07:11  florian

+ 5 - 2
compiler/x86/agx86att.pas

@@ -240,7 +240,7 @@ interface
             asmbin : 'as';
             asmcmd : '-o $OBJ $ASM';
             supported_target : system_any;
-            flags : [af_allowdirect,af_needar,af_smartlink_sections];
+            flags : [af_allowdirect,af_needar,af_smartlink_sections,af_supports_dwarf];
             labelprefix : '.L';
             comment : '# ';
           );
@@ -280,7 +280,10 @@ initialization
 end.
 {
   $Log$
-  Revision 1.15  2004-06-20 08:55:32  florian
+  Revision 1.16  2004-06-29 21:00:08  peter
+    * only enable dwarf for supported platforms
+
+  Revision 1.15  2004/06/20 08:55:32  florian
     * logs truncated
 
   Revision 1.14  2004/06/16 20:07:11  florian