Subject: cross-GDB issue
To: None <tech-toolchain@netbsd.org>
From: Allen Briggs <briggs@wasabisystems.com>
List: tech-toolchain
Date: 11/13/2003 00:17:39
I'm trying to build a cross-gdb for evbarm on ix86.  It's not linking
because:

libgdb.a(solib.o): In function `clear_solib':
solib.o(.text+0xa04): undefined reference to `disable_breakpoints_in_shlibs'
libgdb.a(solib-svr4.o): In function `enable_break':
solib-svr4.o(.text+0x7d2): undefined reference to `remove_solib_event_breakpoints'
solib-svr4.o(.text+0x9fb): undefined reference to `create_solib_event_breakpoint'

They symbols aren't defined in breakpoint.o where they should be because
SOLIB_ADD is not defined on the target.  I tried taking the tack that
seems to have been taken for other NetBSD targets, which is to add a
tm-nbsd.h that includes solib.h, call that a TM_FILE, and add it to the
target makefile fragment config/arm/nbsd.mt, but that results in

configure: warning: GDB: Ignoring TM_FILE in /x/home/briggs/netbsd/current/clean/src/tools/gdb/../../gnu/dist/gdb/gdb/config/arm/nbsd.mt

since arm--netbsdelf is apparently known as something called a
MULTI_ARCH target from configure.tgt:

arm*-*-netbsd*)         gdb_target=nbsd  
                        gdb_multi_arch=yes ;;

So I'm not sure what the correct path out of this is.  ARM appears to be
the only NetBSD architecture that's a gdb_multi_arch, so there doesn't
seem to be a precedent.

Any suggestions?

Thanks,
-allen

-- 
 Allen Briggs                     briggs@wasabisystems.com
 Wasabi Systems, Inc.             http://www.wasabisystems.com/