GDB 7.1.90 available for testing

Steffen Dettmer steffen.dettmer@googlemail.com
Fri Jul 9 12:57:00 GMT 2010


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).



More information about the Gdb mailing list