Fix dw2-ifort-parameter.exp fail with clang
authorYao Qi <yao@codesourcery.com>
Fri, 14 Nov 2014 00:53:09 +0000 (08:53 +0800)
committerYao Qi <yao@codesourcery.com>
Fri, 14 Nov 2014 00:55:07 +0000 (08:55 +0800)
commit646da0594c91719ef591d8736865a1d58fbbfc34
tree498d86cefe0eb5682b876470d12489daaec4d637
parent9301ebe667e05c378d7f09ac991a925eb2a95617
Fix dw2-ifort-parameter.exp fail with clang

The patch <https://sourceware.org/ml/gdb-patches/2014-03/msg00202.html>
fixed dw2-ifort-parameter.exp on powerpc64 by adding some labels to
get the start and end address of function func.  This should also fix the
fail on thumb mode, however, this style is quite specific to gcc, and
other compiler, such as clang, may not guarantee the order of global
asms and functions.  The test fails with clang:

$ make check RUNTESTFLAGS='dw2-ifort-parameter.exp CC_FOR_TARGET=clang'
(gdb) p/x param^M
No symbol "param" in current context.^M
(gdb) FAIL: gdb.dwarf2/dw2-ifort-parameter.exp: p/x param

With this patch applied, dw2-ifort-parameter.exp still passes for gcc
on arm thumb mode and popwerpc64, and it also passes for clang on
x86_linux.

gdb/testsuite:

2014-11-14  Yao Qi  <yao@codesourcery.com>

* gdb.dwarf2/dw2-ifort-parameter.c: Remove inline asm.
(func): Add label func_label.
* gdb.dwarf2/dw2-ifort-parameter.exp (Dwarf::assemble):
Replace low_pc and high_pc with MACRO_AT_range.
Replace name, low_pc and high_pc with MACRO_AT_func.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c
gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp