Regressions with dwz [Re: [RFA] Work around binutils/15021]

Jan Kratochvil
2013-01-24T14:59:32Z

On Thu, 17 Jan 2013 00:21:29 +0100, Doug Evans wrote:
> Regression tested with gdb-generated .gdb_index version 7 (by hacking the
> gdb-under-test to generate version 7), version 8, with dwz, and with gold.

ceb4ee95539d6324ca0f307ba729ea660ed5d1bd is the first bad commit
commit ceb4ee95539d6324ca0f307ba729ea660ed5d1bd
Author: Doug Evans <dje@google.com>
Date: Wed Jan 23 18:47:47 2013 +0000

Work around binutils/15021.
* dwarf2read.c (dwarf2_per_cu_data): Split imported_symtabs and
type_unit_group out of union s. All uses updated.
(read_index_from_section): Watch for index version 8.
(follow_die_sig): If using .gdb_index version <= 7, record the TU as
an imported symtab.
(write_psymtabs_to_index): Increment version number to 8.

doc/
* gdb.texinfo (Index Section Format): Document .gdb_index version 8.

Running ./gdb.cp/namespace.exp ...
FAIL: gdb.cp/namespace.exp: whatis C::cOtherFileType
FAIL: gdb.cp/namespace.exp: whatis ::C::cOtherFileType
FAIL: gdb.cp/namespace.exp: print AAA::ALPHA
Running ./gdb.cp/derivation.exp ...
FAIL: gdb.cp/derivation.exp: ptype A::value_type
FAIL: gdb.cp/derivation.exp: whatis A::value_type
FAIL: gdb.cp/derivation.exp: p (A::value_type) 0
FAIL: gdb.cp/derivation.exp: ptype D::value_type
FAIL: gdb.cp/derivation.exp: whatis D::value_type
FAIL: gdb.cp/derivation.exp: p (D::value_type) 0
FAIL: gdb.cp/derivation.exp: ptype E::value_type
FAIL: gdb.cp/derivation.exp: whatis E::value_type
FAIL: gdb.cp/derivation.exp: p (E::value_type) 0
FAIL: gdb.cp/derivation.exp: ptype F::value_type
FAIL: gdb.cp/derivation.exp: whatis F::value_type
FAIL: gdb.cp/derivation.exp: p (F::value_type) 0
FAIL: gdb.cp/derivation.exp: ptype Z::value_type
FAIL: gdb.cp/derivation.exp: whatis Z::value_type
FAIL: gdb.cp/derivation.exp: p (Z::value_type) 0
FAIL: gdb.cp/derivation.exp: ptype ZZ::value_type
FAIL: gdb.cp/derivation.exp: whatis ZZ::value_type
FAIL: gdb.cp/derivation.exp: p (ZZ::value_type) 0
Running ./gdb.base/completion.exp ...
FAIL: gdb.base/completion.exp: complete ptype enum some_

Reproducible on Fedora {18,Rawhide} x86_64 runtest-dwz:

#! /bin/sh
if [ -x ../gdb ];then
export GDB="$PWD/../gdb -data-directory $PWD/../data-directory"
fi
exec runtest CC_FOR_TARGET=/bin/sh\ $PWD/../contrib/cc-with-tweaks.sh\ -m\ gcc CXX_FOR_TARGET=/bin/sh\ $PWD/../contrib/cc-with-tweaks.sh\ -m\ g++ "$@"

$ runtest-dwz gdb.base/completion.exp gdb.cp/derivation.exp gdb.cp/namespace.exp

Regards,
Jan