aboutsummaryrefslogtreecommitdiff
path: root/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
diff options
context:
space:
mode:
Diffstat (limited to 'cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c')
-rw-r--r--cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c b/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
index 15060f30e5cf..f929cde69b27 100644
--- a/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
+++ b/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c
@@ -96,8 +96,10 @@
#include "list.h"
#include "traverse.h"
-/* The version of DWARF which we support. */
+/* The versions of DWARF which we support. */
#define DWARF_VERSION 2
+#define DWARF_VERSION3 3
+#define DWARF_VERSION4 4
/*
* We need to define a couple of our own intrinsics, to smooth out some of the
@@ -1981,9 +1983,10 @@ dw_read(tdata_t *td, Elf *elf, char *filename __unused)
terminate("file contains too many types\n");
debug(1, "DWARF version: %d\n", vers);
- if (vers != DWARF_VERSION) {
+ if (vers != DWARF_VERSION && vers != DWARF_VERSION3 &&
+ vers != DWARF_VERSION4) {
terminate("file contains incompatible version %d DWARF code "
- "(version 2 required)\n", vers);
+ "(version 2, 3, or 4 required)\n", vers);
}
if (die_string(&dw, cu, DW_AT_producer, &prod, 0)) {