This is the mail archive of the
mailing list for the GDB project.
GDB TUI doesn't build
- To: wdb at cup dot hp dot com, GDB Discussion <gdb at sources dot redhat dot com>
- Subject: GDB TUI doesn't build
- From: Andrew Cagney <ac131313 at cygnus dot com>
- Date: Wed, 14 Feb 2001 15:30:15 -0500
- References: <20010108183654.B467@cshihpin.isl.dso> <3A59DBFD.19EED398@cygnus.com> <20010108165633.F26870@dublin.int.act-europe.fr> <3A5ECA3A.68979DAC@cygnus.com> <20010112180217.A23207@cshihpin.isl.dso>
[I had several requests for this so I'm going to add it to the gdb/TODO
For those that are interested, my list of TUI problems are below.
There is also a more general issue. I know HP have an in-house version
of the TUI. It might be easiest to replace the current public version
with HP's (even if it still doesn't build) and then start on bring it up
o readline/*.h bitrot
The TUI isn't up-to-date with
respect to the readline currently
bundled with GDB. Importing a
new readline is on the 5.1 wish
list so this can only get worse.
Grep for things like term_cursor_move.
(To be honest, I don't see anyone
importing a new readline before 5.1 is
o tui.c:va_catch_errors() bitrot
This nasty piece of work used knowledge
of the internals of GDBs error functions :-(
Ever since those internals were cleaned
up this code has been broken. :-(
o tuiWin.c:c_makeVisibleWithNewHeight() broken
Both these function call find_line_pc()
incorrectly (wrong args, wrong return value).
I suspect this bug has always been there!
It had been hidden because those files
didn't include the necessary header files
from gdb proper :-(
o tuiRegs() host dependant
Not suprisingly, this isn't a very portable
section of code. However, I'm sure people
could live with no regs in the short to
o defs.h: #include "tui.h" et.al.
I'm not sure where this came from.
It was a really bad idea.
To get things to compile I did a nasty
hack (Just declare what was needed and
replace any expressions like xx->y.z()
in GDB proper with function calls). I
could commit it slightly cleaned up if
Medium Term. the #ifdef TUI and TuiDo()
should be changed to hooks (like GDBTK).
The gdb-events.[hc] is there for that
o tui.c:_tuiReset() host dependant
tui.c contains a lump of termio[s]
I suspect an equivalent block of
code can be lifted from readline.
An equivalent readline function may
even be available.
o curses.h vs ncurses.h.
Simple portability problem.
This function is a mystery - where is it?
o tui-file.[hc] cleanup
This can be significantly simplified.
o The code should be pacified. (-Werror -W...)
There are plenty of #includes,
duplicate #includes, missing function decls
and the like.
Some of the problems I found were through
fixing a few of the warnings.
o The code should be GNUtified.
It would be very nice to have this code
look like the rest of GDB. That way people
would be more accepting of it as a true
Until it is GNUtified it is going to stick
out like a sore thumb to the programmer.
o The code should be clearly copyrighted
(FSF, with due credit to HP)