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  <yao@codesourcery.com>

	* gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble):
	Replace name, low_pc and high_pc with MACRO_AT_func.
This commit is contained in:
Yao Qi 2014-11-14 08:53:08 +08:00
parent f166b54272
commit 9301ebe667
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -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}
} {