aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2017-11-22 17:30:07 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2017-11-22 17:30:07 +0000
commit824a2b3d8cb18e80ed11231ed57b4bf67134fcd0 (patch)
tree3b1188e58bf092fb933a2c014ca452c4215af9e1 /gcc
parente54675bbabc2ed8100b7055008818b391cbbabbb (diff)
downloadgcc-824a2b3d8cb18e80ed11231ed57b4bf67134fcd0.zip
gcc-824a2b3d8cb18e80ed11231ed57b4bf67134fcd0.tar.gz
gcc-824a2b3d8cb18e80ed11231ed57b4bf67134fcd0.tar.bz2
vxworks.c (vxworks_override_options): Pick default dwarf version from macro value, VXWORKS_DWARF_VERSION_DEFAULT.
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/vxworks.c8
-rw-r--r--gcc/config/vxworks.h10
-rw-r--r--gcc/config/vxworksae.h9
4 files changed, 32 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f800120..74acbcc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/vxworks.c b/gcc/config/vxworks.c
index 944cc1d..1d90368 100644
--- a/gcc/config/vxworks.c
+++ b/gcc/config/vxworks.c
@@ -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;
}
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index 62149d4..29a6cb0 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -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)
diff --git a/gcc/config/vxworksae.h b/gcc/config/vxworksae.h
index 3b0b652..8caa7dd 100644
--- a/gcc/config/vxworksae.h
+++ b/gcc/config/vxworksae.h
@@ -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