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 <yao@codesourcery.com>
* gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble):
Replace name, low_pc and high_pc with MACRO_AT_func.
+2014-11-14 Yao Qi <yao@codesourcery.com>
+
+ * gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble):
+ Replace name, low_pc and high_pc with MACRO_AT_func.
+
2014-11-14 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/implptr-optimized-out.exp: Use Dwarf::assemble to
# 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"}
}
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}
} {