Hi, I was recently working a bit on debugging support for C# (using Mono) and I need a way to tell GDB about the lifetime of local variables. In C#, the JIT engine may decide to store two different variables at the same stack offset if they aren't used throughout the whole function. Now I was wondering how to do this - DWARF 2 already has a `DW_AT_begin_scope' but unfortunately no `DW_AT_end_scope' - can we add this or something similar as a GNU extension ? After looking at the code, I found out that `struct symbol' contains a `ranges' field which seems to do exactly what I want - but this field isn't used anywhere. The following patch * adds a new DWARF 2 attribute DW_AT_end_scope to specify the end of a local variable's scope. * initializes SYMBOL_RANGES() in dwarf2read.c if DW_AT_begin_scope and DW_AT_end_scope are specified. [FIXME: According to the DWARF 2 specification, this attribute takes an offset (DW_FROM_data), not an address - but I found now way to get the current frame's address in new_symbol(), this needs to be fixed.] * checks whether the current PC is within the symbol's SYMBOL_RANGES() when listing the local variables of a function and when printing a variable.