[5/6] Fix implptr-optimized-out.exp fail
Commit Message
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-10-24 Yao Qi <yao@codesourcery.com>
* gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble):
Replace name, low_pc and high_pc with MACRO_AT_func.
---
gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Comments
Yao Qi writes:
> 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-10-24 Yao Qi <yao@codesourcery.com>
>
> * gdb.dwarf2/implptr-optimized-out.exp (Dwarf::assemble):
> Replace name, low_pc and high_pc with MACRO_AT_func.
LGTM
@@ -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}
} {