vxworks.c (vxworks_override_options): Pick default dwarf version from macro value...
authorOlivier Hainque <hainque@adacore.com>
Wed, 22 Nov 2017 17:30:07 +0000 (17:30 +0000)
committerOlivier Hainque <hainque@gcc.gnu.org>
Wed, 22 Nov 2017 17:30:07 +0000 (17:30 +0000)
2017-11-22  Olivier Hainque  <hainque@adacore.com>

       * config/vxworks.c (vxworks_override_options): Pick default
dwarf version from macro value, VXWORKS_DWARF_VERSION_DEFAULT.
       * config/vxworks.h: Define VXWORKS_DWARF_VERSION_DEFAULT and
       DWARF_GNAT_ENCODINGS_DEFAULT.
       * config/vxworksae.h: Likewise.

From-SVN: r255069

gcc/ChangeLog
gcc/config/vxworks.c
gcc/config/vxworks.h
gcc/config/vxworksae.h

index f80012097ca888e08d500e5946904aa2f75ba4dc..74acbccc58a0c8ca07bf3dad99584a5baafeb85f 100644 (file)
@@ -1,3 +1,11 @@
+2017-11-22  Olivier Hainque  <hainque@adacore.com>
+
+       * config/vxworks.c (vxworks_override_options): Pick default
+       dwarf version from macro value, VXWORKS_DWARF_VERSION_DEFAULT.
+       * config/vxworks.h: Define VXWORKS_DWARF_VERSION_DEFAULT and
+       DWARF_GNAT_ENCODINGS_DEFAULT.
+       * config/vxworksae.h: Likewise.
+
 2017-11-22  Marc Glisse  <marc.glisse@inria.fr>
 
        PR tree-optimization/83104
index 944cc1d239b6ad9e9305351cdb172a1100626bf0..1d903689de12428b2b9d798520c948f49639e293 100644 (file)
@@ -150,11 +150,13 @@ vxworks_override_options (void)
   if (flag_pic && !TARGET_VXWORKS_RTP)
     error ("PIC is only supported for RTPs");
 
-  /* Default to strict dwarf-2 to prevent potential difficulties observed with
-     non-gdb debuggers on extensions > 2.  */
+  /* VxWorks comes with non-gdb debuggers which only support strict
+     dwarf up to certain version.  Default dwarf control to friendly
+     values for these.  */
+
   if (!global_options_set.x_dwarf_strict)
     dwarf_strict = 1;
 
   if (!global_options_set.x_dwarf_version)
-    dwarf_version = 2;
+    dwarf_version = VXWORKS_DWARF_VERSION_DEFAULT;
 }
index 62149d45e21290631a0a7de84522935155ce0a84..29a6cb01e183aff75efe9a81ddb66b0758fc4baf 100644 (file)
@@ -202,3 +202,13 @@ extern void vxworks_asm_out_destructor (rtx symbol, int priority);
 
 /* The diab linker does not handle .gnu_attribute sections.  */
 #undef HAVE_AS_GNU_ATTRIBUTE
+
+/* Default dwarf control values, for non-gdb debuggers that come with
+   VxWorks.  */
+
+#undef VXWORKS_DWARF_VERSION_DEFAULT
+#define VXWORKS_DWARF_VERSION_DEFAULT (TARGET_VXWORKS7 ? 4 : 2)
+
+#undef DWARF_GNAT_ENCODINGS_DEFAULT
+#define DWARF_GNAT_ENCODINGS_DEFAULT \
+  (TARGET_VXWORKS7 ? DWARF_GNAT_ENCODINGS_MINIMAL : DWARF_GNAT_ENCODINGS_ALL)
index 3b0b6529b8a7fd30badad4efb82bb9b7e9c9c906..8caa7ddaf96a2ad4c96ce3767a19e482637c8330 100644 (file)
@@ -75,3 +75,12 @@ along with GCC; see the file COPYING3.  If not see
 #undef VXWORKS_OVERRIDE_OPTIONS
 #define VXWORKS_OVERRIDE_OPTIONS vxworks_override_options ()
 extern void vxworks_override_options (void);
+
+/* Default dwarf control values, for non-gdb debuggers that come with
+   VxWorks.  */
+
+#undef VXWORKS_DWARF_VERSION_DEFAULT
+#define VXWORKS_DWARF_VERSION_DEFAULT 2
+
+#undef DWARF_GNAT_ENCODINGS_DEFAULT
+#define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_ALL