NetBSD/tools/gdb
uwe 964935dc72 Disable sim for mknative unless it's known to work (configure's
default is to enable sim if there's support for the cpu).

The current list of "known to work" contains arches with G_SIM_OBS
already set: powerpc, powerpc64 and mips.

There's arm support in sim, but committed configs for arm do not have
G_SIM_OBS set, so I'm not enabling it here.

There's SH support in sim, but it fails to build out of the box, and
since we didn't build SH sim support for gdb 5.3, we keep it disabled.

Other arches shouldn't be affected, as there's no support for them in sim.
2006-11-24 02:09:01 +00:00
..
Makefile Disable sim for mknative unless it's known to work (configure's 2006-11-24 02:09:01 +00:00
README.mknative Note that nbmake-MACHINE native-gdb writes files under src, so this 2006-11-23 23:33:56 +00:00
mknative-gdb

README.mknative

$NetBSD: README.mknative,v 1.4 2006/11/23 23:33:56 uwe Exp $

This file describes how to use the cross-compiler to generate the
native files for GDB on a target platform.

NOTE:  DO NOT RUN "mknative" BY HAND!  It requires the Makefile in this
directory to set up certain environments first.

Since libc's features change over time, the config.h files can change as a
result; thus the instructions below are the same no matter whether
bootstrapping on a cross or native host.  This is important: even on a
"native" host, you should bootstrap the toolchain by building from an
up-to-date source tree to a $DESTDIR using the exact same instructions.

In these notes, MACHINE is the $MACHINE of the target.  These files can be
cross-generated.  Though a $MACHINE_ARCH all uses the same config files, you
must pick a specific $MACHINE so that building the requisite bits below will
work.

1. Set MKMAINTAINERTOOLS=yes in mk.conf.  (Needed so that src/tools/gettext
   gets built, eliciting proper HAVE_*GETTEXT* defns in config.h files.)

2. Build and install a cross toolchain (via "build.sh -m MACHINE tools").

3. At top level, do "nbmake-MACHINE do-distrib-dirs obj includes".

4. In src/gnu/lib/crtstuff4 do "nbmake-MACHINE depend all install"

5. In src/lib/csu, src/gnu/lib/libgcc4, and src/lib, do
   "nbmake-MACHINE all install".

6. In src/tools/gdb, do "nbmake-MACHINE obj native-gdb".

   This will do a full configury in ${.OBJDIR}/.native that is a "Canadian"
   cross toolchain (--build reflects the host platform, but --host and
   --target are the target).  The result is a tree that would build a
   native-to-NetBSD GDB on a cross host, and mknative pulls glue data
   from this.

   NOTE: this step writes files under src/gnu/usr.bin/gdb6, so you
   need to do it in a writable src tree!

7. Try out a full build using "nbmake-MACHINE" in
   src/gnu/usr.bin/gdb6; the result should include a native GDB.

8. If all is well, commit the glue files and directories added to
   src/gnu/usr.bin/gdb6.