Home | History | Annotate | only in /src/tools/gdb
Up to higher level directory
NameDateSize
Makefile31-Aug-20245.4K
mknative-gdb27-Aug-20247.4K
mknative-gdb.old15-Aug-20247.2K
README.mknative09-Oct-20201.9K

README.mknative

      1 $NetBSD: README.mknative,v 1.7 2020/10/09 23:44:46 rin Exp $
      2 
      3 This file describes how to use the cross-compiler to generate the
      4 native files for GDB on a target platform.
      5 
      6 NOTE:  DO NOT RUN "mknative" BY HAND!  It requires the Makefile in this
      7 directory to set up certain environments first.
      8 
      9 Since libc's features change over time, the config.h files can change as a
     10 result; thus the instructions below are the same no matter whether
     11 bootstrapping on a cross or native host.  This is important: even on a
     12 "native" host, you should bootstrap the toolchain by building from an
     13 up-to-date source tree to a $DESTDIR using the exact same instructions.
     14 
     15 In these notes, MACHINE is the $MACHINE of the target.  These files can be
     16 cross-generated.  Though a $MACHINE_ARCH all uses the same config files, you
     17 must pick a specific $MACHINE so that building the requisite bits below will
     18 work.
     19 
     20 1. Set MKMAINTAINERTOOLS=yes in mk.conf.  (Needed so that src/tools/gettext
     21    gets built, eliciting proper HAVE_*GETTEXT* defns in config.h files.)
     22 
     23 2. Build and install a cross toolchain (via "build.sh -U -m MACHINE tools").
     24 
     25 3. At top level, do "nbmake-MACHINE obj do-distrib-dirs includes".
     26 
     27 4. At top level, do "nbmake-MACHINE -C lib build_install".
     28 
     29 5. In src/tools/gdb, do "nbmake-MACHINE obj native-gdb".
     30 
     31    This will do a full configury in ${.OBJDIR}/.native that is a "Canadian"
     32    cross toolchain (--build reflects the host platform, but --host and
     33    --target are the target).  The result is a tree that would build a
     34    native-to-NetBSD GDB on a cross host, and mknative pulls glue data
     35    from this.
     36 
     37    NOTE: this step writes files under src/external/gpl3/gdb/lib, so you
     38    need to do it in a writable src tree!
     39 
     40 6. Try out a full build using "nbmake-MACHINE" in
     41    src/external/gpl3/gdb; the result should include a native GDB.
     42 
     43 7. If all is well, commit the glue files and directories added to
     44    src/external/gpl3/gdb/lib.
     45