Subject: gdb6 mknative vs readline
To: None <tech-toolchain@NetBSD.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: tech-toolchain
Date: 10/20/2006 06:36:56
I wonder how people have bootstrapped gdb6 for the platforms that have
been switched.  I'm trying to switch sh3 and do what README.mknative
tells me.  During nbmake-MACHINE native-gdb step I get:

In file included from /usr/src/tools/gdb/../../gnu/dist/gdb6/gdb/cli/cli-cmds.c:25:
/usr/src/tools/gdb/../../gnu/dist/gdb6/gdb/../readline/../readline/tilde.h:68: error: conflicting types for 'tilde_expand'
/usr/nb/distrib/hpcsh/usr/include/readline/readline.h:155: error: previous declaration of 'tilde_expand' was here

What happens is that gdb6 assumes a new readline, so some files under
gdb/cli inlcude readline/tilde.h - which our libedit doesn't have.

So b/c of

    -I/usr/nb/distrib/hpcsh/usr/include
    -I/usr/src/tools/gdb/../../gnu/dist/gdb6/gdb/../readline/..

it picks up out readline.h but tilde.h for the readline that comes
with gdb.

The prototype for tilde_expand has been deconstified as a fix to
bin/30500 - thus exposing the problem above.  (readline 4.1 and before
have tilde_expand with non-const argument, but 4.2 changed to const).

I think 30500 should be refixed to make our tilde_expand const again,
and changing gdb53 prototype in defs.h instead.

We should also decide what to do with gdb6 vs readline.  Shall we just
bit the bulled and compile it with the GNU readline it comes with?  Or
shall we make our readline emulate enough of GNU readline 5?

Suggestions?

SY, Uwe
-- 
uwe@ptc.spbu.ru                         |       Zu Grunde kommen
http://snark.ptc.spbu.ru/~uwe/          |       Ist zu Grunde gehen