llvm can create really large discriminator values. We used to flag those
as invalid when the value wouldn't fit in 24 bits. Just truncate the value.
* libdw/dwarf_getsrclines.c (add_new_line): Define SETX.
Use SETX to set discriminator.
https://sourceware.org/bugzilla/show_bug.cgi?id=30967
Signed-off-by: Mark Wielaard <mark@klomp.org>
return true; \
} while (0)
+ /* Same as above, but don't flag as "invalid" just use truncated
+ value. Used for discriminator for which llvm might use a value
+ that won't fit 24 bits. */
+#define SETX(field) \
+ new_line->line.field = state->field; \
+
SET (addr);
SET (op_index);
SET (file);
SET (prologue_end);
SET (epilogue_begin);
SET (isa);
- SET (discriminator);
+ SETX (discriminator);
SET (context);
SET (function_name);