diff options
Diffstat (limited to 'cddl')
-rw-r--r-- | cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c | 9 |
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)) { |