summaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.dwarf2/implptr.exp
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2011-07-19 20:28:52 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2011-07-19 20:28:52 +0000
commit918dd9105923fdbf070e5782aed7cd6275caa321 (patch)
treee83ae92245cfabb66db1bb61baae37973eca1523 /gdb/testsuite/gdb.dwarf2/implptr.exp
parent0e37a63c3cabe0baab792ed4169307ab4cdc791d (diff)
downloadbinutils-gdb-918dd9105923fdbf070e5782aed7cd6275caa321.tar.gz
gdb/
Fix crash if referenced CU is aged out. * dwarf2loc.c (per_cu_dwarf_call): New variable back_to, use to for xfree of block.data. (indirect_pieced_value): New variable back_to, use to for xfree of baton.data. (dwarf2_compile_expr_to_ax): New variable back_to, use to for xfree of block.data. * dwarf2read.c (dwarf2_find_base_address): New prototype. (load_cu): New function from ... (dw2_do_instantiate_symtab): ... the code here ... (process_full_comp_unit): ... and here. (dwarf2_fetch_die_location_block): Call load_cu first. Call xmemdup on retval.data. gdb/testsuite/ Fix crash if referenced CU is aged out. * gdb.dwarf2/dw2-op-call.exp (maintenance set dwarf2 max-cache-age 0): New. * gdb.dwarf2/implptr.exp: Likewise.
Diffstat (limited to 'gdb/testsuite/gdb.dwarf2/implptr.exp')
-rw-r--r--gdb/testsuite/gdb.dwarf2/implptr.exp3
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/implptr.exp b/gdb/testsuite/gdb.dwarf2/implptr.exp
index 8f9b5fb41b4..562e983b0ef 100644
--- a/gdb/testsuite/gdb.dwarf2/implptr.exp
+++ b/gdb/testsuite/gdb.dwarf2/implptr.exp
@@ -40,6 +40,9 @@ if {[prepare_for_testing ${testfile}.exp ${testfile}.x $srcfile $opts]} {
return -1
}
+# Additional test to verify the referenced CU is not aged out.
+gdb_test_no_output "maintenance set dwarf2 max-cache-age 0"
+
if ![runto_main] {
return -1
}