This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: GDB 7.1.90 available for testing
- From: Steffen Dettmer <steffen dot dettmer at googlemail dot com>
- To: gdb at sourceware dot org
- Date: Fri, 9 Jul 2010 14:56:51 +0200
- Subject: Re: GDB 7.1.90 available for testing
- References: <20100707211734.GA15830@adacore.com>
Hi,
On Wed, Jul 7, 2010 at 11:17 PM, Joel Brobecker <brobecker@adacore.com> wrote:
> I have just finished creating the gdb-7.1.90 pre-release.
> Please give it a test if you can and report any problems you
> might find.
I started to play a bit with it on an old system with gcc 3.2 (!).
Works very well for me so far, except a few cosmetics.
For me, most desired features would be `save breakpoints' (seems
to work, great!) and automatically sourcing `~/.gdbinit.py'
(seems not to be implemented yet).
I collected some notes below, just in case it helps.
Are more details of interest?
oki,
Steffen
../configure --with-python --target=arm-elf --disable-werror \
--disable-expat --with-expat=no
with old gcc (GCC) 4.1.2 20061115 (prerelease) (SUSE Linux)
I got three warnings:
------------------------------------------------------------------->8=======
/tmp/steffen-build/gdb-7.1.90/build/readline/../../readline/bind.c:682:
warning: comparison is always true due to limited range of data type
/tmp/steffen-build/gdb-7.1.90/build/readline/../../readline/display.c:1850:
warning: comparison is always true due to limited range of data type
/tmp/.../gdb-7.1.90/build/libiberty/../../libiberty/cp-demangle.c:4785:
warning: 'dc' may be used uninitialized in this function
=======8<-------------------------------------------------------------------
I would expect that `make check' cannot ever work for a
`cross-gdb' without a target board, but I ran it anyway
(if this is wrong, please ignore this part).
make check uses another compiler, but one that cannot work:
------------------------------------------------------------------->8=======
gdb compile failed,
/usr/local/arm-elf-gcc-3.4.3/GNUARM/bin/../lib/gcc/arm-elf/3.4.3/../../../../arm-elf/bin/ld:
crti.o: No such file: No such file or directory
collect2: ld returned 1 exit status
=======8<-------------------------------------------------------------------
(I did not read how this feature should work. If gdb assumes to
be able to built a binary for my target system, then in my case
this is not true and thus it is expected to fail).
heaps of such messages (make continues). Althrough there is a file
/usr/local/arm-elf-gcc-3.4.3/GNUARM/lic/gcc/arm-elf/3.4.3/crt0.o
this won't ever work for my target platform (but gdb shouldn't need
to know this I think?).
The final result reports only 4 unsupported tests (not sure if
this is OK after hunderds of errors):
------------------------------------------------------------------->8=======
WARNING: Assuming target board is the local machine (which is probably wrong).
You may need to set your DEJAGNU environment variable.
Running ../../../gdb/testsuite/gdb.xml/tdesc-arch.exp ...
Running ../../../gdb/testsuite/gdb.xml/tdesc-errors.exp ...
Running ../../../gdb/testsuite/gdb.xml/tdesc-regs.exp ...
Running ../../../gdb/testsuite/gdb.xml/tdesc-xinclude.exp ...
=== gdb Summary ===
# of unsupported tests 4
/tmp/steffen-build/gdb-7.1.90/build/gdb/testsuite/../../gdb/gdb
version 7.1.90 -nw -nx
make[4]: Leaving directory `/tmp/steffen-build/gdb-7.1.90/build/gdb/testsuite'
=======8<-------------------------------------------------------------------
`unsupported' is what I expect from `cross-gdb', so I think it is ok.
ok, on another (older) host.
It is running UnitedLinux 1.0 (roughly similar to SuSE Enterprise 9 IIRC).
With older gcc 3.2 (!):
7.1.90/b2/libiberty/../../libiberty/cp-demangle.c"
(1025 of 3079): warning: `dc' might be used uninitialized in this function
<ocal/build/gdb-7.1.90/b2/gdb/../../gdb/arm-tdep.c"
(2385 of 3079): warning: `offset' might be used uninitialized in this function
there also are heaps of preprocessor warnings (with gcc-3.2):
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
for example here:
------------------------------------------------------------------->8=======
make[6]: Entering directory `/usr/local/build/gdb-7.1.90/b2/gdb/gnulib'
gcc -DHAVE_CONFIG_H -I. -I../../../gdb/gnulib -I..
-I/usr/local/include -I/usr/local/include -g -O2 -MT dummy.o -MD -MP
-MF .deps/dummy.Tpo -c -o dummy.o ../../../gdb/gnulib/dummy.c
gcc -DHAVE_CONFIG_H -I. -I../../../gdb/gnulib -I..
-I/usr/local/include -I/usr/local/include -g -O2 -MT memmem.o -MD
-MP -MF .deps/memmem.Tpo -c -o memmem.o ../../../gdb/gnulib/memmem.c
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
Moving observer.itmp to observer.inc
cc1: warning: changing search order for system directory "/usr/local/include"
cc1: warning: as it has already been specified as a non-system directory
=======8<-------------------------------------------------------------------
but not in all subdirs, for example when it compiled `bfd' a few
lines above, no -I/usr/local/include was used, but seems
following directories use it.
make check could not find `runtest', which leads to heaps of
errors:
------------------------------------------------------------------->8=======
srcdir = /usr/local/build/gdb-7.1.90/sim/testsuite
EXPECT = expect
TCL_LIBRARY =
runtest = runtest
WARNING: could not find `runtest'
make[3]: Leaving directory
`/usr/local/build/gdb-7.1.90/build/sim/testsuite'
...
Making a new config file...
...
/bin/sh: line 1: runtest: command not found
make[4]: *** [check-gdb.base2] Error 127
...heaps of such errors...
/bin/sh: line 1: runtest: command not found
make[4]: *** [check-gdb.xml] Error 127
make[4]: Leaving directory
`/usr/local/build/gdb-7.1.90/build/gdb/testsuite'
dg-extract-results.sh: file gdb.base1/gdb.sum does not exist.
...heaps of such errors...
dg-extract-results.sh: file gdb.xml/gdb.log does not exist.
make[3]: *** [check-parallel] Error 1
make[3]: Leaving directory
`/usr/local/build/gdb-7.1.90/build/gdb/testsuite'
make[2]: *** [check] Error 2
=======8<-------------------------------------------------------------------
just because I'm able to test a potentially exotic system: my ten
years old linux (with ancient gcc-2.95.2), namely SuSE Linux 7.0
(i386), I did it :)
../configure --disable-werror --disable-expat --with-expat=no
------------------------------------------------------------------->8=======
make[4]: Entering directory `/usr/local/build/gdb-7.1.90/build/gdb/gdbserver'
gcc -c -Wall -g -O2 -I. -I../../../gdb/gdbserver
-I../../../gdb/gdbserver/../common
-I../../../gdb/gdbserver/../regformats
-I../../../gdb/gdbserver/../../include
../../../gdb/gdbserver/tracepoint.c
../../../gdb/gdbserver/tracepoint.c:788: warning: `used' attribute
directive ignored
../../../gdb/gdbserver/tracepoint.c: In function `trace_buffer_alloc':
../../../gdb/gdbserver/tracepoint.c:1528: parse error before `;'
../../../gdb/gdbserver/tracepoint.c:1559: parse error before `;'
../../../gdb/gdbserver/tracepoint.c:1563: parse error before `;'
../../../gdb/gdbserver/tracepoint.c:1573: parse error before `;'
...many more...
=======8<-------------------------------------------------------------------
so this ancient gcc-2.95.2 seems not to be supported (to no
suprise of course).