old-cross-binutils/gdb/testsuite/gdb.cp
Maciej W. Rozycki 621661e3fa Correct invalid assumptions made by (mostly) DWARF-2 tests
Address issues triggered by the MIPS ISA bit handling change, usually in
tests that make artificial DWARF-2 records:

* gdb.cp/expand-psymtabs-cxx.exp -- this test is debugging an object file
  and assuming addresses will be 0; with the ISA bit set code addresses
  are 1 instead:

(gdb) PASS: gdb.cp/expand-psymtabs-cxx.exp: set language c++
p 'method(long)'
$1 = {void (long)} 0x1 <method(long)>
(gdb) FAIL: gdb.cp/expand-psymtabs-cxx.exp: before expand
p method
$2 = {void (long)} 0x1 <method(long)>
(gdb) FAIL: gdb.cp/expand-psymtabs-cxx.exp: force expand
p 'method(long)'
$3 = {void (long)} 0x1 <method(long)>
(gdb) FAIL: gdb.cp/expand-psymtabs-cxx.exp: after expand

  Fix by matching any hex number, there's no value AFAICT for the test
  in matching 0 exactly, and I suppose the method's offset within
  section can be non-zero for some other reasons on other targets too.

* gdb.cp/nsalias.exp -- this assumes instructions can be aligned
  arbitrarily and places code labels at odd addreses, setting the ISA
  bit and wreaking havoc:

(gdb) PASS: gdb.cp/nsalias.exp: print outer::inner::innermost::x
list outer::inner::innermost::foo
Function "outer::inner::innermost::foo" not defined.
(gdb) FAIL: gdb.cp/nsalias.exp: list outer::inner::innermost::foo
break *outer::inner::innermost::foo
No symbol "foo" in namespace "outer::inner::innermost".
(gdb) FAIL: gdb.cp/nsalias.exp: setting breakpoint at
*outer::inner::innermost::foo
delete $bpnum
No breakpoint number 6.
(gdb) FAIL: gdb.cp/nsalias.exp: (outer::inner::innermost): delete $bpnum

  -- etc., etc...  Fix by aligning labels to 4; required by many
  processors.

* gdb.dwarf2/dw2-canonicalize-type.exp, gdb.dwarf2/dw2-empty-pc-range.exp,
  gdb.dwarf2/pr11465.exp -- these assume an instruction and consequently
  a function can take as little as 1 byte, which makes it impossible to
  look up a code symbol by an address with the ISA bit set as the
  address is already beyond the end of the function:

(gdb) ptype f
No symbol "f" in current context.
(gdb) FAIL: gdb.dwarf2/dw2-canonicalize-type.exp: ptype f

(gdb) PASS: gdb.dwarf2/dw2-empty-pc-range.exp: empty range before CU load
ptype realrange
No symbol "realrange" in current context.
(gdb) FAIL: gdb.dwarf2/dw2-empty-pc-range.exp: valid range after CU load

(gdb) p N::c.C
Cannot take address of method C.
(gdb) FAIL: gdb.dwarf2/pr11465.exp: p N::c.C

  -- fix by increasing the size of the function to 4 (perhaps code in
  gdb/mips-tdep.c could look up code symbols up to twice, with and
  failing that without the ISA bit set, but it seems wrong to me to
  implement specific handling for invalid code just to satisfy test
  cases that assume too much about the target).

* gdb.dwarf2/dw2-case-insensitive.exp -- an artificial code label is
  created, but does not work because data (a `.align' pseudo-op in this
  case) follows and as a result the label has no MIPS16 or microMIPS
  annotation in the symbol table:

(gdb) PASS: gdb.dwarf2/dw2-case-insensitive.exp: set case-sensitive off
info functions fUnC_lang
All functions matching regular expression "fUnC_lang":

File file1.txt:
foo FUNC_lang(void);

Non-debugging symbols:
0x004006e0  FUNC_lang_start
(gdb) FAIL: gdb.dwarf2/dw2-case-insensitive.exp: regexp case-sensitive off

  -- fix by adding a `.insn' pseudo-op on MIPS targets; the pseudo-op
  marks data as instructions.

* gdb.dwarf2/dw2-stack-boundary.exp -- the test case enables complaints
  and assumes none will be issued beyond ones explicitly arranged by the
  test case, however overlapping sections are noticed while minimal
  symbols are looked up by `mips_adjust_dwarf2_addr' in DWARF-2 record
  processing:

(gdb) set complaints 100
(gdb) PASS: gdb.dwarf2/dw2-stack-boundary.exp: set complaints 100
file ./dw2-stack-boundary
Reading symbols from ./dw2-stack-boundary...location description stack
underflow...location description stack overflow...unexpected overlap
between:
 (A) section `.reginfo' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x18)
 (B) section `*COM*' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x0).
Will ignore section B...unexpected overlap between:
 (A) section `.reginfo' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x18)
 (B) section `*UND*' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x0).
Will ignore section B...unexpected overlap between:
 (A) section `.reginfo' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x18)
 (B) section `*ABS*' from `.../gdb.dwarf2/dw2-stack-boundary' [0x0, 0x0).
Will ignore section B...done.

(gdb) FAIL: gdb.dwarf2/dw2-stack-boundary.exp: check partial symtab errors

  -- fix by ignoring any extra noise as long as what we look for is
  found.

	* gdb.cp/expand-psymtabs-cxx.exp: Accept any address of
	`method(long)', not just 0x0.
	* gdb.cp/nsalias.exp: Align code labels to 4.
	* gdb.dwarf2/dw2-canonicalize-type.S (main): Expand to 4-bytes.
	* gdb.dwarf2/dw2-empty-pc-range.S (main): Likewise.
	* gdb.dwarf2/pr11465.S (_ZN1N1cE): Likewise.
	* gdb.dwarf2/dw2-case-insensitive.c (START_INSNS): New macro.
	(cu_text_start, FUNC_lang_start): Use `START_INSNS'.
	* gdb.dwarf2/dw2-stack-boundary.exp: Accept noise in complaints.
2014-12-04 00:06:10 +00:00
..
abstract-origin.cc
abstract-origin.exp
ambiguous.cc
ambiguous.exp
annota2.cc
annota2.exp
annota3.cc
annota3.exp
anon-ns.cc PR symtab/17602 2014-12-02 16:40:38 -08:00
anon-ns.exp PR symtab/17602 2014-12-02 16:40:38 -08:00
anon-ns2.cc PR symtab/17602 2014-12-02 16:40:38 -08:00
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 Set print symbol off in some tests 2014-08-15 07:55:16 +08:00
chained-calls.cc Enable chained function calls in C++ expressions. 2014-11-28 16:01:16 -08:00
chained-calls.exp Enable chained function calls in C++ expressions. 2014-11-28 16:01:16 -08:00
class2.cc
class2.exp Set print symbol off in some tests 2014-08-15 07:55:16 +08:00
classes.cc
classes.exp implement support for "enum class" 2014-04-14 11:42:18 -06:00
cmpd-minsyms.cc
cmpd-minsyms.exp
converts.cc
converts.exp
cp-relocate.cc
cp-relocate.exp
cpcompletion.exp
cpexprs.cc Adjust start-of-function braces to be compatible with Clang 2014-04-24 13:10:41 -07:00
cpexprs.exp Adjust start-of-function braces to be compatible with Clang 2014-04-24 13:10:41 -07:00
cplabel.cc
cplabel.exp XFAIL under Clang tests using labels 2014-04-24 20:20:46 -07:00
cplusfuncs.cc
cplusfuncs.exp
cpsizeof.cc Fix c++/16675 -- sizeof reference type should give the size of 2014-04-11 14:17:17 -07:00
cpsizeof.exp Fix c++/16675 -- sizeof reference type should give the size of 2014-04-11 14:17:17 -07:00
ctti.exp
cttiadd.cc
cttiadd1.cc
cttiadd2.cc
cttiadd3.cc
debug-expr.exp
demangle.exp
derivation.cc
derivation.exp
derivation2.cc
destrprint.cc
destrprint.exp
dispcxx.cc
dispcxx.exp
enum-class.cc implement support for "enum class" 2014-04-14 11:42:18 -06:00
enum-class.exp implement support for "enum class" 2014-04-14 11:42:18 -06:00
exception.cc
exception.exp
exceptprint.cc
exceptprint.exp
expand-psymtabs-cxx.cc
expand-psymtabs-cxx.exp Correct invalid assumptions made by (mostly) DWARF-2 tests 2014-12-04 00:06:10 +00:00
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
hang.exp
hang.H
hang1.cc
hang2.cc
hang3.cc
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-static.cc
m-static.exp
m-static.h
m-static1.cc
maint.exp
Makefile.in
mb-ctor.cc
mb-ctor.exp
mb-inline.exp after gdb_run_cmd, gdb_expect -> gdb_test_multiple/gdb_test 2014-09-12 22:16:31 +01:00
mb-inline.h
mb-inline1.cc
mb-inline2.cc
mb-templates.cc
mb-templates.exp after gdb_run_cmd, gdb_expect -> gdb_test_multiple/gdb_test 2014-09-12 22:16:31 +01:00
member-name.cc
member-name.exp
member-ptr.cc
member-ptr.exp
meth-typedefs.cc
meth-typedefs.exp
method.cc
method.exp
method2.cc
method2.exp
minsym-fallback-main.cc
minsym-fallback.cc
minsym-fallback.exp
minsym-fallback.h
misc.cc
misc.exp
namelessclass.cc PR c++/16597 2014-04-16 14:12:22 -07:00
namelessclass.exp PR c++/16597 2014-04-16 14:12:22 -07:00
namelessclass.S PR c++/16597 2014-04-16 14:12:22 -07:00
namespace-enum-main.cc
namespace-enum.cc
namespace-enum.exp
namespace-nested-import.cc
namespace-nested-import.exp
namespace.cc
namespace.exp
namespace1.cc
nextoverthrow.cc
nextoverthrow.exp
no-dmgl-verbose.cc
no-dmgl-verbose.exp
non-trivial-retval.cc Guard a call to TYPE_TARGET_TYPE in gnuv3_pass_by_reference. 2014-10-24 05:45:06 -07:00
non-trivial-retval.exp Guard a call to TYPE_TARGET_TYPE in gnuv3_pass_by_reference. 2014-10-24 05:45:06 -07:00
noparam.cc
noparam.exp
nsalias.cc
nsalias.exp Correct invalid assumptions made by (mostly) DWARF-2 tests 2014-12-04 00:06:10 +00:00
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 Set print symbol off in some tests 2014-08-15 07:55:16 +08:00
ovldbreak.cc
ovldbreak.exp
ovsrch.exp
ovsrch.h
ovsrch1.cc
ovsrch2.cc
ovsrch3.cc
ovsrch4.cc
paren-type.cc
paren-type.exp
parse-lang.cc
parse-lang.exp
pass-by-ref.cc
pass-by-ref.exp
pr-574.cc
pr-574.exp
pr-1023.cc
pr-1023.exp
pr-1210.cc
pr-1210.exp
pr9067.cc
pr9067.exp
pr9167.cc
pr9167.exp
pr9594.cc
pr9631.cc
pr9631.exp
pr10687.cc
pr10687.exp
pr10728-x.cc Return by value to coax Clang into emitting the full definition of a test type. 2014-04-24 22:15:40 -07:00
pr10728-x.h Return by value to coax Clang into emitting the full definition of a test type. 2014-04-24 22:15:40 -07:00
pr10728-y.cc Return by value to coax Clang into emitting the full definition of a test type. 2014-04-24 22:15:40 -07:00
pr10728.exp
pr12028.cc
pr12028.exp
pr17132.cc Add new argument NOSIDE to find_overload_match. 2014-08-15 18:28:59 -07:00
pr17132.exp Add new argument NOSIDE to find_overload_match. 2014-08-15 18:28:59 -07:00
pr17494.cc Fix evaluation of method calls under EVAL_SKIP. 2014-11-03 18:01:39 -08:00
pr17494.exp Fix evaluation of method calls under EVAL_SKIP. 2014-11-03 18:01:39 -08:00
printmethod.cc
printmethod.exp
psmang.exp
psmang1.cc
psmang2.cc
psymtab-parameter.cc
psymtab-parameter.exp
ptype-cv-cp.cc Ensure unreferenced static symbols aren't omitted by clang (either marking them __attribute__((used)) or making them non-static) 2014-04-24 22:33:46 -07:00
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
rtti.exp
rtti.h
rtti1.cc
rtti2.cc
shadow.cc
shadow.exp
smartp.cc
smartp.exp Enable chained function calls in C++ expressions. 2014-11-28 16:01:16 -08:00
static-method.cc
static-method.exp
static-print-quit.cc
static-print-quit.exp
temargs.cc
temargs.exp
templates.cc
templates.exp Set print symbol off in some tests 2014-08-15 07:55:16 +08:00
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
virtfunc.cc
virtfunc.exp
virtfunc2.cc
virtfunc2.exp
vla-cxx.cc fix PR 17106 2014-07-14 10:14:36 -06:00
vla-cxx.exp fix PR 17106 2014-07-14 10:14:36 -06:00