Error building qnx cross-gdb 6.3

Ion Gaztañaga
2005-05-23T15:47:45Z

Hello to all,

When trying to build a cross-gdb (gdb 6.3) host=cygwin
target=i386-pc-nto-qnx6.3.0 I've got some problems. I have gcc 3.4.3 and
binutils 2.15 cross-compiled in /tools/i386-pc-nto-qnx6.3.0 working fine and
/tools/i386-pc-nto-qnx6.3.0/bin has i386-pc-nto-qnx6.3.0-* executables and
this directory is in my PATH in the last position.

I unzip gdb-6.3 sources in /src, I make a objdir directory
(/src/gdb-6.3/objdir), I cd to it and I type:

$
../configure --target=i386-pc-nto-qnx6.3.0 --prefix=/tools/i386-pc-nto-qnx6.3.0

All fine

$ make

After some compilations, I get:

$ No rule to make target `remote-nto.o', needed by `libgdb.a'

and remote-nto is not in the gdb source tree. If I remove remote-nto.o from
objdir/gdb Makefile in the following lines:

TDEPFILES = i386-tdep.o i387-tdep.o corelow.o solib.o solib-svr4.o \
i386-nto-tdep.o nto-tdep.o remote-nto.o

I get:

ar: creating libgdb.a
ranlib libgdb.a
make[1]: *** No rule to make target `../intl/libintl.a', needed by
`gdb.exe'. Stop.

If I change these other lines in objdir/gdb/Makefile

INTL_DIR = ../intl
INTL = $(top_builddir)/../intl/libintl.a
INTL_DEPS = $(top_builddir)/../intl/libintl.a
INTL_SRC = $(srcdir)/$(INTL_DIR)
INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC)

with

INTL_DIR = /lib
INTL = /lib/libintl.a
INTL_DEPS = /lib/libintl.a
INTL_SRC = $(srcdir)/$(INTL_DIR)
INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC)

pointing to the cygwin intl library, the compilation ends successfully with:

Info: resolving _LINES by linking to __imp__LINES (auto-import)
Info: resolving _COLS by linking to __imp__COLS (auto-import)
Info: resolving _stdscr by linking to __imp__stdscr (auto-import)
Info: resolving _curscr by linking to __imp__curscr (auto-import)
make[2]: Entering directory `/src/gdb-6.3/objdir/gdb'
make[3]: Entering directory `/src/gdb-6.3/objdir/gdb/doc'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/src/gdb-6.3/objdir/gdb/doc'
make[2]: Leaving directory `/src/gdb-6.3/objdir/gdb'
make[1]: Leaving directory `/src/gdb-6.3/objdir/gdb'

but i386-pc-nto-qnx6.3.0-gdb gives a core when executed, so I don't know if
libintl.a should be the native cygwin lib or other lib I am missing.

I have no experience building cross-gdb so maybe I'm missing something. But
the first error regarding remote-nto.o is very confusing to me (seems like a
missing c file), and I don't know which switch I have to use to solve this
libintl stuff. I've seen that there is a intl directory in gdb-5.0 release
but it is not present in gdb-6.3, do I have to get it somewhere?.

Thanks and regards,

Ion