From 9301ebe667e05c378d7f09ac991a925eb2a95617 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Fri, 14 Nov 2014 08:53:08 +0800 Subject: [PATCH] Fix implptr-optimized-out.exp fail Hi, I see the fail in gdb.dwarf2/implptr-optimized-out.exp in thumb mode (gdb) p p->f^M No symbol "p" in current context.^M (gdb) FAIL: gdb.dwarf2/implptr-optimized-out.exp: p p->f and the crash on powerpc64 (gdb) continue^M Continuing.^M ^M Program received signal SIGSEGV, Segmentation fault.^M 0x7d82100810000828 in ?? () The cause of both is that we incorrectly set attribute low_pc, since main isn't resolved to function start address on these targets. In this patch, we replace attributes name, low_pc and high_pc with MACRO_AT_func. The fail on thumb mode is fixed, and crash on powerpc64 is fixed too. gdb/testsuite: 2014-11-14 Yao Qi * gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble): Replace name, low_pc and high_pc with MACRO_AT_func. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 51ed4fa944e..378826d7ad2 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-11-14 Yao Qi + + * gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble): + Replace name, low_pc and high_pc with MACRO_AT_func. + 2014-11-14 Yao Qi * gdb.dwarf2/implptr-optimized-out.exp: Use Dwarf::assemble to diff --git a/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp b/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp index 226fc5cb890..dd9c517b6b4 100644 --- a/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp +++ b/gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp @@ -25,6 +25,8 @@ set executable ${testfile} # Create the DWARF. set asm_file [standard_output_file $srcfile2] Dwarf::assemble $asm_file { + global srcdir subdir srcfile + cu { version 3 addr_size 4 } { compile_unit { {producer "GNU C 4.4.3"} @@ -51,9 +53,7 @@ Dwarf::assemble $asm_file { } subprogram { - {name main} - {low_pc main addr} - {high_pc main+0x100 addr} + {MACRO_AT_func { main ${srcdir}/${subdir}/${srcfile} }} {type :$int_label} {external 1 flag} } { -- 2.30.2