binutils-gdb/gdb/testsuite/gdb.cp
Luis Machado 45371d0cee The testcase was generating DW_AT_high_pc and DW_AT_low_pc entries
with type DW_FORM_string, which is wrong.

GDB was using that information to load data as strings, and then
proceeded to use the string pointers as addresses.

Even then, the test was passing just fine, because we were lucky
enough to have the low_pc string pointer smaller than the high_pc
string pointer.

Two issues are fixed.  The first one is the DW_FORM_string type. The
second one is adjusting the addresses so that they are non-zero,
since GDB doesn't like seeing 0 in these fields due to a check
contained in dwarf2_get_pc_bounds:

  if (low == 0 && !dwarf2_per_objfile->has_section_at_zero)
    return 0;

With both fixes, the testcase passes deterministically.

2014-06-19  Luis Machado  <lgustavo@codesourcery.com>

	* gdb.cp/nsalias.exp: Set type of low_pc and high_pc entries
	to DW_FORM_addr and use non-zero addresses.
2014-06-19 07:07:48 +01:00
..
abstract-origin.cc
abstract-origin.exp
ambiguous.cc
ambiguous.exp
annota2.cc
annota2.exp
annota3.cc
annota3.exp
anon-ns.cc
anon-ns.exp
anon-struct.cc
anon-struct.exp
anon-union.cc
anon-union.exp
arg-reference.cc
arg-reference.exp
baseenum.cc
baseenum.exp
bool.cc
bool.exp
breakpoint.cc
breakpoint.exp
bs15503.cc
bs15503.exp
call-c-1.c
call-c.cc
call-c.exp
casts.cc
casts.exp
class2.cc
class2.exp
classes.cc
classes.exp
cmpd-minsyms.cc
cmpd-minsyms.exp
converts.cc
converts.exp
cp-relocate.cc
cp-relocate.exp
cpcompletion.exp
cpexprs.cc
cpexprs.exp
cplabel.cc
cplabel.exp
cplusfuncs.cc
cplusfuncs.exp
cpsizeof.cc
cpsizeof.exp
ctti.exp
cttiadd1.cc
cttiadd2.cc
cttiadd3.cc
cttiadd.cc
debug-expr.exp
demangle.exp
derivation2.cc
derivation.cc
derivation.exp
destrprint.cc
destrprint.exp
dispcxx.cc
dispcxx.exp
enum-class.cc
enum-class.exp
exception.cc
exception.exp
exceptprint.cc
exceptprint.exp
expand-psymtabs-cxx.cc
expand-psymtabs-cxx.exp
expand-sals.cc
expand-sals.exp
extern-c.cc
extern-c.exp
filename.cc
filename.exp
formatted-ref.cc
formatted-ref.exp
fpointer.cc
fpointer.exp
gdb1355.cc
gdb1355.exp
gdb2384-base.cc
gdb2384-base.h
gdb2384.cc
gdb2384.exp
gdb2495.cc
gdb2495.exp
hang1.cc
hang2.cc
hang3.cc
hang.exp
hang.H
impl-this.cc
impl-this.exp
includefile
infcall-dlopen-lib.cc
infcall-dlopen.cc
infcall-dlopen.exp
inherit.exp
koenig.cc
koenig.exp
local.cc
local.exp
m-data.cc
m-data.exp
m-static1.cc
m-static.cc
m-static.exp
m-static.h
maint.exp
Makefile.in
mb-ctor.cc
mb-ctor.exp
mb-inline1.cc
mb-inline2.cc
mb-inline.exp
mb-inline.h
mb-templates.cc
mb-templates.exp
member-name.cc
member-name.exp
member-ptr.cc
member-ptr.exp
meth-typedefs.cc
meth-typedefs.exp
method2.cc
method2.exp
method.cc
method.exp
minsym-fallback-main.cc
minsym-fallback.cc
minsym-fallback.exp
minsym-fallback.h
misc.cc
misc.exp
namelessclass.cc
namelessclass.exp
namelessclass.S
namespace1.cc
namespace-enum-main.cc
namespace-enum.cc
namespace-enum.exp
namespace-nested-import.cc
namespace-nested-import.exp
namespace.cc
namespace.exp
nextoverthrow.cc
nextoverthrow.exp
no-dmgl-verbose.cc
no-dmgl-verbose.exp
noparam.cc
noparam.exp
nsalias.cc
nsalias.exp
nsdecl.cc
nsdecl.exp
nsimport.cc
nsimport.exp
nsnested.cc
nsnested.exp
nsnoimports.cc
nsnoimports.exp
nsrecurs.cc
nsrecurs.exp
nsstress.cc
nsstress.exp
nsusing.cc
nsusing.exp
operator.cc
operator.exp
oranking.cc
oranking.exp
overload-const.cc
overload-const.exp
overload.cc
overload.exp
ovldbreak.cc
ovldbreak.exp
ovsrch1.cc
ovsrch2.cc
ovsrch3.cc
ovsrch4.cc
ovsrch.exp
ovsrch.h
paren-type.cc
paren-type.exp
parse-lang.cc
parse-lang.exp
pass-by-ref.cc
pass-by-ref.exp
pr9067.cc
pr9067.exp
pr9167.cc
pr9167.exp
pr9594.cc
pr9631.cc
pr9631.exp
pr10687.cc
pr10687.exp
pr10728-x.cc
pr10728-x.h
pr10728-y.cc
pr10728.exp
pr12028.cc
pr12028.exp
pr-574.cc
pr-574.exp
pr-1023.cc
pr-1023.exp
pr-1210.cc
pr-1210.exp
printmethod.cc
printmethod.exp
psmang1.cc
psmang2.cc
psmang.exp
psymtab-parameter.cc
psymtab-parameter.exp
ptype-cv-cp.cc
ptype-cv-cp.exp
ptype-flags.cc
ptype-flags.exp
punctuator.exp
re-set-overloaded.cc
re-set-overloaded.exp
readnow-language.cc
readnow-language.exp
ref-params.cc
ref-params.exp
ref-types.cc
ref-types.exp
rtti1.cc
rtti2.cc
rtti.exp
rtti.h
shadow.cc
shadow.exp
smartp.cc
smartp.exp
static-method.cc
static-method.exp
static-print-quit.cc
static-print-quit.exp
temargs.cc
temargs.exp
templates.cc
templates.exp
try_catch.cc
try_catch.exp
typedef-operator.cc
typedef-operator.exp
typeid.cc
typeid.exp
userdef.cc
userdef.exp
using-crash.cc
using-crash.exp
virtbase.cc
virtbase.exp
virtfunc2.cc
virtfunc2.exp
virtfunc.cc
virtfunc.exp