NetBSD/gnu/usr.bin/gdb53/README

61 lines
2.1 KiB
Plaintext
Raw Normal View History

# $NetBSD: README,v 1.4 2003/10/28 01:12:11 uwe Exp $
This note describes how to add support for gdb53 to a platform.
To make gdb work on your platform of choice you need to populate the files in
/usr/src/gnu/usr.bin/gdb53/arch/<platform>
1. Build gdb using the standard configure mechanism in the distribution
directory /usr/src/gnu/dist/gdb.
Alternatively, configure and build in a scratch directory, so that
you can avoid doing the last distclean step of this instructions.
2. Copy generated files (the ?m.h are not present on some platforms)
cp gdb/{tm.h,nm.h,xm.h,config.h} ...arch/<platform>
cp gdb/init.c ...arch/<platform>/gdb-init.c
cp arch/i386/version.c arch/<platform>
cp arch/i386/defs.mk arch/<platform>
3. Add coredump and netbsd thread support to init.c (we should fix the autoconf
2003-10-27 03:57:04 +03:00
stuff to do this automatically). At the declaration section on init.c add:
extern initialize_file_ftype _initialize_nbsd_thread;
#ifdef USE_TUI
extern initialize_file_ftype _initialize_tui;
extern initialize_file_ftype _initialize_tuiLayout;
extern initialize_file_ftype _initialize_tuiRegs;
extern initialize_file_ftype _initialize_tuiStack;
extern initialize_file_ftype _initialize_tuiWin;
extern initialize_file_ftype _initialize_tui_out;
#endif
extern initialize_file_ftype _initialize_corelow;
and at the bottom add:
_initialize_nbsd_thread ();
#ifdef USE_TUI
_initialize_tui ();
_initialize_tuiLayout ();
_initialize_tuiRegs ();
_initialize_tuiStack ();
_initialize_tuiWin ();
_initialize_tui_out ();
#endif
_initialize_corelow ();
4. Fix defs.mk to have the right files. The readline, libiberty,
ones should be ok; for the others, go to the build directory
ls -1 *.o | sed -e 's/$/ \\/'
and then incorporate the resulting sections into defs.mk. This should be
done for bfd, gdb, opcodes.
5. Fix defs.mk to have the right bfd flags in G_BFD_CPPFLAGS. Copy
them from `tdefaults' variable in generated bfd/Makefile.
6. Make distclean in the distribution directory and cvs update [distclean
removes some generated files we committed because they don't change across
platforms]