Files
binutils-gdb/gdb/compile
Zoran Zaric dab5aee6dc Add support for DW_OP_LLVM_undefined operation
For the DW_OP_piece and DW_OP_bit_piece operations, in the DWARF 5
standard, it is stated that if the location description (of that piece)
is empty, then the piece is describing an undefined location
description.

The act of allowing any location description to be placed on a DWARF
stack means that now a new operations can be defined which could pop
more then one location description from a DWARF stack.

This means that the old rule is not really applicable any more and a
new operation that explicitly pushes an undefined location description
on the DWARF stack is needed.

This new rule however is fully backward compatibility as described
in the document found on:

https://llvm.org/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.html

Under the new definitions for the DW_OP_piece and DW_OP_bit_piece
operations.

gdb/ChangeLog:

	* compile/compile-loc2c.c (compute_stack_depth_worker): Add
	support for new DW_OP_LLVM_undefined operations.
	* dwarf2/expr.c (dwarf_expr_context::execute_stack_op): Add
	support for new DW_OP_LLVM_undefined operations.
	* dwarf2/loc.c (dwarf2_get_symbol_read_needs): Add support
	for new DW_OP_LLVM_undefined operations.

include/ChangeLog:

	* dwarf2.def (DW_OP): New DW_OP_LLVM_undefined operations
	enumeration.

gdb/testsuite/ChangeLog:

	* gdb.dwarf2/dw2-llvm-undefined.exp: New test.

Change-Id: I2064c8fa3c7bc6488a226082b807e802d6d943ab
2020-12-08 11:16:21 -05:00
..
2020-09-14 11:07:57 -04:00
2020-09-14 11:08:06 -04:00
2020-09-28 19:52:21 -06:00