* Makefile.in (SFILES): Remove nlmread.c.

(COMMON_OBS): Remove nlmread.o.
	(nlmread.o): Delete rule.
	* README: Delete reference to remote-st.c.
	* acinclude.m4 (CY_AC_TCL_LYNX_POSIX): Delete.
	* defs.h (enum gdb_osabi): Delete GDB_OSABI_NETWARE and
	GDB_OSABI_LYNXOS.
	* i386-tdep.c (i386_nw_init_abi, i386_nlm_osabi_sniffer): Delete.
	(_initialize_i386_tdep): Do not reference them.
	* nlmread.c: Delete file.
	* osabi.c (gdb_osabi_names): Remove NetWare and LynxOS.
	* target.c: Doc update.
	* thread.c: Delete commented include.
	* config/alpha/tm-alpha.h: Doc update.

	* gdb.texinfo (Startup): Delete references to some alternate
	names for .gdbinit.
	(Thread): Remove LynxOS reference.
	(Tandem ST2000): Delete target-specific documentation.
	* gdbint.texinfo (Symbol Handling): Remove mention of NLM.
	(Target Architecture Definition): Remove mention of GDB_OSABI_NETWARE
	and GDB_OSABI_LYNXOS.

	* config/netware.exp: Delete file.
This commit is contained in:
Daniel Jacobowitz 2007-03-30 12:57:44 +00:00
parent ced572fe59
commit 8807d78bec
16 changed files with 37 additions and 616 deletions

View file

@ -1,3 +1,20 @@
2007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (SFILES): Remove nlmread.c.
(COMMON_OBS): Remove nlmread.o.
(nlmread.o): Delete rule.
* README: Delete reference to remote-st.c.
* acinclude.m4 (CY_AC_TCL_LYNX_POSIX): Delete.
* defs.h (enum gdb_osabi): Delete GDB_OSABI_NETWARE and
GDB_OSABI_LYNXOS.
* i386-tdep.c (i386_nw_init_abi, i386_nlm_osabi_sniffer): Delete.
(_initialize_i386_tdep): Do not reference them.
* nlmread.c: Delete file.
* osabi.c (gdb_osabi_names): Remove NetWare and LynxOS.
* target.c: Doc update.
* thread.c: Delete commented include.
* config/alpha/tm-alpha.h: Doc update.
2007-03-30 Chris Dearman <chris@mips.com>
* utils.c (string_to_core_addr): Comment typo.

View file

@ -548,7 +548,6 @@ SFILES = ada-exp.y ada-lang.c ada-typeprint.c ada-valprint.c \
m2-exp.y m2-lang.c m2-typeprint.c m2-valprint.c \
macrotab.c macroexp.c macrocmd.c macroscope.c main.c maint.c \
mdebugread.c memattr.c mem-break.c minsyms.c mipsread.c memory-map.c \
nlmread.c \
objc-exp.y objc-lang.c \
objfiles.c osabi.c observer.c \
p-exp.y p-lang.c p-typeprint.c p-valprint.c parse.c printcmd.c \
@ -969,7 +968,7 @@ COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
complaints.o typeprint.o \
ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o \
ada-valprint.o c-valprint.o cp-valprint.o f-valprint.o m2-valprint.o \
nlmread.o serial.o mdebugread.o top.o utils.o \
serial.o mdebugread.o top.o utils.o \
ui-file.o \
user-regs.o \
frame.o frame-unwind.o doublest.o \
@ -2424,8 +2423,6 @@ ms1-tdep.o: ms1-tdep.c $(defs_h) $(frame_h) $(frame_unwind_h) $(frame_base_h) \
$(gdb_assert_h)
nbsd-nat.o: nbsd-nat.c $(defs_h) $(nbsd_nat_h)
nbsd-tdep.o: nbsd-tdep.c $(defs_h) $(gdb_string_h) $(solib_svr4_h)
nlmread.o: nlmread.c $(defs_h) $(bfd_h) $(symtab_h) $(symfile_h) \
$(objfiles_h) $(buildsym_h) $(stabsread_h) $(block_h)
nto-procfs.o: nto-procfs.c $(defs_h) $(gdb_dirent_h) $(exceptions_h) \
$(gdb_string_h) $(gdbcore_h) $(inferior_h) $(target_h) $(objfiles_h) \
$(gdbthread_h) $(nto_tdep_h) $(command_h) $(regcache_h) $(solib_h)

View file

@ -461,7 +461,6 @@ monitors and other hardware:
remote-mips.c MIPS remote debugging protocol
remote-sds.c PowerPC SDS monitor
remote-sim.c Generalized simulator protocol
remote-st.c Tandem ST-2000 monitor
Reporting Bugs in GDB

View file

@ -17,42 +17,6 @@ sinclude(../config/lib-ld.m4)
sinclude(../config/lib-prefix.m4)
sinclude(../config/lib-link.m4)
dnl CYGNUS LOCAL: This gets the right posix flag for gcc
AC_DEFUN([CY_AC_TCL_LYNX_POSIX],
[AC_REQUIRE([AC_PROG_CC])AC_REQUIRE([AC_PROG_CPP])
AC_MSG_CHECKING([if running LynxOS])
AC_CACHE_VAL(ac_cv_os_lynx,
[AC_EGREP_CPP(yes,
[/*
* The old Lynx "cc" only defines "Lynx", but the newer one uses "__Lynx__"
*/
#if defined(__Lynx__) || defined(Lynx)
yes
#endif
], ac_cv_os_lynx=yes, ac_cv_os_lynx=no)])
#
if test "$ac_cv_os_lynx" = "yes" ; then
AC_MSG_RESULT(yes)
AC_DEFINE(LYNX)
AC_MSG_CHECKING([whether -mposix or -X is available])
AC_CACHE_VAL(ac_cv_c_posix_flag,
[AC_TRY_COMPILE(,[
/*
* This flag varies depending on how old the compiler is.
* -X is for the old "cc" and "gcc" (based on 1.42).
* -mposix is for the new gcc (at least 2.5.8).
*/
#if defined(__GNUC__) && __GNUC__ >= 2
choke me
#endif
], ac_cv_c_posix_flag=" -mposix", ac_cv_c_posix_flag=" -X")])
CC="$CC $ac_cv_c_posix_flag"
AC_MSG_RESULT($ac_cv_c_posix_flag)
else
AC_MSG_RESULT(no)
fi
])
#
# Sometimes the native compiler is a bogus stub for gcc or /usr/ucb/cc. This
# makes configure think it's cross compiling. If --target wasn't used, then

View file

@ -1,5 +1,5 @@
/* Definitions to make GDB run on an Alpha box under OSF1. This is
also used by the Alpha/Netware and Alpha GNU/Linux targets.
also used by the Alpha GNU/Linux target.
Copyright 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2002, 2004, 2007
Free Software Foundation, Inc.

View file

@ -979,9 +979,7 @@ enum gdb_osabi
GDB_OSABI_OPENBSD_ELF,
GDB_OSABI_WINCE,
GDB_OSABI_GO32,
GDB_OSABI_NETWARE,
GDB_OSABI_IRIX,
GDB_OSABI_LYNXOS,
GDB_OSABI_INTERIX,
GDB_OSABI_HPUX_ELF,
GDB_OSABI_HPUX_SOM,

View file

@ -1,3 +1,13 @@
2007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
* gdb.texinfo (Startup): Delete references to some alternate
names for .gdbinit.
(Thread): Remove LynxOS reference.
(Tandem ST2000): Delete target-specific documentation.
* gdbint.texinfo (Symbol Handling): Remove mention of NLM.
(Target Architecture Definition): Remove mention of GDB_OSABI_NETWARE
and GDB_OSABI_LYNXOS.
2007-03-29 Ulrich Weigand <uweigand@de.ibm.com>
* gdbint.texi (Native Conditionals): Remove PTRACE_ARG3_TYPE.

View file

@ -1240,38 +1240,14 @@ option (@pxref{Mode Options, ,Choosing modes}).
@cindex init file name
@cindex @file{.gdbinit}
The @value{GDBN} init files are normally called @file{.gdbinit}.
On some configurations of @value{GDBN}, the init file is known by a
different name (these are typically environments where a specialized
form of @value{GDBN} may need to coexist with other forms, hence a
different name for the specialized version's init file). These are the
environments with special init file names:
@itemize @bullet
@cindex @file{gdb.ini}
@item
The @value{GDBN} init files are normally called @file{.gdbinit}.
The DJGPP port of @value{GDBN} uses the name @file{gdb.ini}, due to
the limitations of file names imposed by DOS filesystems. The Windows
ports of @value{GDBN} use the standard name, but if they find a
@file{gdb.ini} file, they warn you about that and suggest to rename
the file to the standard name.
@cindex @file{.vxgdbinit}
@item
VxWorks (Wind River Systems real-time OS): @file{.vxgdbinit}
@cindex @file{.os68gdbinit}
@item
OS68K (Enea Data Systems real-time OS): @file{.os68gdbinit}
@cindex @file{.esgdbinit}
@item
ES-1800 (Ericsson Telecom AB M68000 emulator): @file{.esgdbinit}
@item
CISCO 68k: @file{.cisco-gdbinit}
@end itemize
@node Quitting GDB
@section Quitting @value{GDBN}
@ -2296,10 +2272,10 @@ Whenever @value{GDBN} detects a new thread in your program, it displays
the target system's identification for the thread with a message in the
form @samp{[New @var{systag}]}. @var{systag} is a thread identifier
whose form varies depending on the particular system. For example, on
LynxOS, you might see
@sc{gnu}/Linux, you might see
@smallexample
[New process 35 thread 27]
[New Thread 46912507313328 (LWP 25582)]
@end smallexample
@noindent
@ -14294,7 +14270,6 @@ acceptable commands.
* SH:: Renesas SH
* Sparclet:: Tsqware Sparclet
* Sparclite:: Fujitsu Sparclite
* ST2000:: Tandem ST2000
* Z8000:: Zilog Z8000
* AVR:: Atmel AVR
* CRIS:: CRIS
@ -15324,55 +15299,6 @@ remote protocol.
@end table
@node ST2000
@subsection Tandem ST2000
@value{GDBN} may be used with a Tandem ST2000 phone switch, running Tandem's
STDBUG protocol.
To connect your ST2000 to the host system, see the manufacturer's
manual. Once the ST2000 is physically attached, you can run:
@smallexample
target st2000 @var{dev} @var{speed}
@end smallexample
@noindent
to establish it as your debugging environment. @var{dev} is normally
the name of a serial device, such as @file{/dev/ttya}, connected to the
ST2000 via a serial line. You can instead specify @var{dev} as a TCP
connection (for example, to a serial line attached via a terminal
concentrator) using the syntax @code{@var{hostname}:@var{portnumber}}.
The @code{load} and @code{attach} commands are @emph{not} defined for
this target; you must load your program into the ST2000 as you normally
would for standalone operation. @value{GDBN} reads debugging information
(such as symbols) from a separate, debugging version of the program
available on your host computer.
@c FIXME!! This is terribly vague; what little content is here is
@c basically hearsay.
@cindex ST2000 auxiliary commands
These auxiliary @value{GDBN} commands are available to help you with the ST2000
environment:
@table @code
@item st2000 @var{command}
@kindex st2000 @var{cmd}
@cindex STDBUG commands (ST2000)
@cindex commands to STDBUG (ST2000)
Send a @var{command} to the STDBUG monitor. See the manufacturer's
manual for available commands.
@item connect
@cindex connect (to STDBUG)
Connect the controlling terminal to the STDBUG command monitor. When
you are done interacting with STDBUG, typing either of two character
sequences gets you back to the @value{GDBN} command prompt:
@kbd{@key{RET} ~ .} (Return, followed by tilde and period) or
@kbd{@key{RET} ~ Ctrl-d} (Return, followed by tilde and control-D).
@end table
@node Z8000
@subsection Zilog Z8000

View file

@ -2114,12 +2114,6 @@ SOM, which is a cross-language ABI).
The SOM reader is in @file{hpread.c}.
@subsection Other File Formats
@cindex Netware Loadable Module format
Other file formats that have been supported by @value{GDBN} include Netware
Loadable Modules (@file{nlmread.c}).
@section Debugging File Formats
This section describes characteristics of debugging information that
@ -2677,18 +2671,10 @@ Windows CE.
@item GDB_OSABI_GO32
DJGPP.
@findex GDB_OSABI_NETWARE
@item GDB_OSABI_NETWARE
Novell NetWare.
@findex GDB_OSABI_IRIX
@item GDB_OSABI_IRIX
Irix.
@findex GDB_OSABI_LYNXOS
@item GDB_OSABI_LYNXOS
LynxOS.
@findex GDB_OSABI_INTERIX
@item GDB_OSABI_INTERIX
Interix (Posix layer for MS-Windows systems).

View file

@ -2195,16 +2195,6 @@ i386_go32_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->jb_pc_offset = 36;
}
/* NetWare. */
static void
i386_nw_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
tdep->jb_pc_offset = 24;
}
/* i386 register groups. In addition to the normal groups, add "mmx"
@ -2469,12 +2459,6 @@ i386_coff_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
static enum gdb_osabi
i386_nlm_osabi_sniffer (bfd *abfd)
{
return GDB_OSABI_NETWARE;
}
/* Provide a prototype to silence -Wmissing-prototypes. */
@ -2509,15 +2493,11 @@ is \"default\"."),
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_coff_flavour,
i386_coff_osabi_sniffer);
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_nlm_flavour,
i386_nlm_osabi_sniffer);
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_SVR4,
i386_svr4_init_abi);
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_GO32,
i386_go32_init_abi);
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_NETWARE,
i386_nw_init_abi);
/* Initialize the i386-specific register groups & types. */
i386_init_reggroups ();

View file

@ -1,237 +0,0 @@
/* Read NLM (NetWare Loadable Module) format executable files for GDB.
Copyright (C) 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2007
Free Software Foundation, Inc.
Written by Fred Fish at Cygnus Support (fnf@cygnus.com).
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
#include "defs.h"
#include "bfd.h"
#include "symtab.h"
#include "symfile.h"
#include "objfiles.h"
#include "buildsym.h"
#include "stabsread.h"
#include "block.h"
extern void _initialize_nlmread (void);
static void nlm_new_init (struct objfile *);
static void nlm_symfile_init (struct objfile *);
static void nlm_symfile_read (struct objfile *, int);
static void nlm_symfile_finish (struct objfile *);
static void nlm_symtab_read (bfd *, CORE_ADDR, struct objfile *);
/* Initialize anything that needs initializing when a completely new symbol
file is specified (not just adding some symbols from another file, e.g. a
shared library).
We reinitialize buildsym, since gdb will be able to read stabs from an NLM
file at some point in the near future. */
static void
nlm_new_init (struct objfile *ignore)
{
stabsread_new_init ();
buildsym_new_init ();
}
/* NLM specific initialization routine for reading symbols.
It is passed a pointer to a struct sym_fns which contains, among other
things, the BFD for the file whose symbols are being read, and a slot for
a pointer to "private data" which we can fill with goodies.
For now at least, we have nothing in particular to do, so this function is
just a stub. */
static void
nlm_symfile_init (struct objfile *ignore)
{
}
/*
LOCAL FUNCTION
nlm_symtab_read -- read the symbol table of an NLM file
SYNOPSIS
void nlm_symtab_read (bfd *abfd, CORE_ADDR addr,
struct objfile *objfile)
DESCRIPTION
Given an open bfd, a base address to relocate symbols to, and a
flag that specifies whether or not this bfd is for an executable
or not (may be shared library for example), add all the global
function and data symbols to the minimal symbol table.
*/
static void
nlm_symtab_read (bfd *abfd, CORE_ADDR addr, struct objfile *objfile)
{
long storage_needed;
asymbol *sym;
asymbol **symbol_table;
long number_of_symbols;
long i;
struct cleanup *back_to;
CORE_ADDR symaddr;
enum minimal_symbol_type ms_type;
storage_needed = bfd_get_symtab_upper_bound (abfd);
if (storage_needed < 0)
error (_("Can't read symbols from %s: %s"), bfd_get_filename (abfd),
bfd_errmsg (bfd_get_error ()));
if (storage_needed > 0)
{
symbol_table = (asymbol **) xmalloc (storage_needed);
back_to = make_cleanup (xfree, symbol_table);
number_of_symbols = bfd_canonicalize_symtab (abfd, symbol_table);
if (number_of_symbols < 0)
error (_("Can't read symbols from %s: %s"), bfd_get_filename (abfd),
bfd_errmsg (bfd_get_error ()));
for (i = 0; i < number_of_symbols; i++)
{
sym = symbol_table[i];
if ( /*sym -> flags & BSF_GLOBAL */ 1)
{
/* Bfd symbols are section relative. */
symaddr = sym->value + sym->section->vma;
/* Relocate all non-absolute symbols by base address. */
if (sym->section != &bfd_abs_section)
symaddr += addr;
/* For non-absolute symbols, use the type of the section
they are relative to, to intuit text/data. BFD provides
no way of figuring this out for absolute symbols. */
if (sym->section->flags & SEC_CODE)
ms_type = mst_text;
else if (sym->section->flags & SEC_DATA)
ms_type = mst_data;
else
ms_type = mst_unknown;
prim_record_minimal_symbol (sym->name, symaddr, ms_type,
objfile);
}
}
do_cleanups (back_to);
}
}
/* Scan and build partial symbols for a symbol file.
We have been initialized by a call to nlm_symfile_init, which
currently does nothing.
SECTION_OFFSETS is a set of offsets to apply to relocate the symbols
in each section. We simplify it down to a single offset for all
symbols. FIXME.
MAINLINE is true if we are reading the main symbol
table (as opposed to a shared lib or dynamically loaded file).
This function only does the minimum work necessary for letting the
user "name" things symbolically; it does not read the entire symtab.
Instead, it reads the external and static symbols and puts them in partial
symbol tables. When more extensive information is requested of a
file, the corresponding partial symbol table is mutated into a full
fledged symbol table by going back and reading the symbols
for real.
Note that NLM files have two sets of information that is potentially
useful for building gdb's minimal symbol table. The first is a list
of the publically exported symbols, and is currently used to build
bfd's canonical symbol table. The second is an optional native debugging
format which contains additional symbols (and possibly duplicates of
the publically exported symbols). The optional native debugging format
is not currently used. */
static void
nlm_symfile_read (struct objfile *objfile, int mainline)
{
bfd *abfd = objfile->obfd;
struct cleanup *back_to;
CORE_ADDR offset;
init_minimal_symbol_collection ();
back_to = make_cleanup_discard_minimal_symbols ();
/* FIXME, should take a section_offsets param, not just an offset. */
offset = ANOFFSET (objfile->section_offsets, 0);
/* Process the NLM export records, which become the bfd's canonical symbol
table. */
nlm_symtab_read (abfd, offset, objfile);
/* Install any minimal symbols that have been collected as the current
minimal symbols for this objfile. */
install_minimal_symbols (objfile);
do_cleanups (back_to);
stabsect_build_psymtabs (objfile, mainline, ".stab",
".stabstr", ".text");
/* FIXME: We could locate and read the optional native debugging format
here and add the symbols to the minimal symbol table. */
}
/* Perform any local cleanups required when we are done with a particular
objfile. I.E, we are in the process of discarding all symbol information
for an objfile, freeing up all memory held for it, and unlinking the
objfile struct from the global list of known objfiles. */
static void
nlm_symfile_finish (struct objfile *objfile)
{
if (objfile->deprecated_sym_private != NULL)
{
xfree (objfile->deprecated_sym_private);
}
}
/* Register that we are able to handle NLM file format. */
static struct sym_fns nlm_sym_fns =
{
bfd_target_nlm_flavour,
nlm_new_init, /* sym_new_init: init anything gbl to entire symtab */
nlm_symfile_init, /* sym_init: read initial info, setup for sym_read() */
nlm_symfile_read, /* sym_read: read a symbol file into symtab */
nlm_symfile_finish, /* sym_finish: finished with file, cleanup */
default_symfile_offsets, /* sym_offsets: Translate ext. to int. relocation */
NULL /* next: pointer to next struct sym_fns */
};
void
_initialize_nlmread (void)
{
add_symtab_fns (&nlm_sym_fns);
}

View file

@ -64,9 +64,7 @@ static const char * const gdb_osabi_names[] =
"OpenBSD ELF",
"Windows CE",
"DJGPP",
"NetWare",
"Irix",
"LynxOS",
"Interix",
"HP/UX ELF",
"HP/UX SOM",

View file

@ -1970,7 +1970,7 @@ generic_mourn_inferior (void)
deprecated_detach_hook ();
}
/* Helper function for child_wait and the Lynx derivatives of child_wait.
/* Helper function for child_wait and the derivatives of child_wait.
HOSTSTATUS is the waitstatus from wait() or the equivalent; store our
translation of that in OURSTATUS. */
void

View file

@ -1,3 +1,7 @@
2007-03-30 Daniel Jacobowitz <dan@codesourcery.com>
* config/netware.exp: Delete file.
2007-03-29 Joel Brobecker <brobecker@adacore.com>
* gdb.dwarf2/dw2-noloc.S: New file.

View file

@ -1,219 +0,0 @@
# Copyright (C) 1988, 1990, 1991, 1992, 1994, 1997, 2007
# Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Please email any bugs, comments, and/or additions to this file to:
# bug-gdb@prep.ai.mit.edu
# This file was written by J.T. Conklin. (jtc@cygnus.com)
load_lib gdb.exp
load_lib remote.exp
global shell_id
global LD
if ![info exists LD] then {
set LD [findfile "$base_dir/../../ld/ld.new"]
}
global NLMCONV
if ![info exists NLMCONV] then {
set NLMCONV [findfile "$base_dir/../../binutils/nlmconv"]
}
#
# gdb_version -- extract and print the version number of gcc
#
proc gdb_version {} {
default_gdb_version
}
#
# gdb_unload -- unload a file if one is loaded
#
#
# gdb_load -- load a file into the debugger.
# return a -1 if anything goes wrong.
#
proc gdb_load { arg } {
global gdb_prompt
global LD
global NLMCONV
global errorCode
global shell_id
# FIXME: this is wrong.
set targetname [target_info name];
set obj [file tail $arg]
set nlm "$obj.nlm"
set lnk "$obj.lnk"
# build *.lnk file
set fd [open $lnk w]
puts $fd "description \"[file tail $nlm]\""
puts $fd "screenname \"System Console\""
puts $fd "module clib.nlm"
puts $fd "module mathlib.nlm"
puts $fd "stack 32768"
# puts $fd "stack 64512"
puts $fd "debug"
# FIXME: don't hardcode location of prelude.o
puts $fd "input /s1/cygnus/dejagnu/i386-netware/lib/prelude.o"
puts $fd "input $arg"
puts $fd "output $nlm"
close $fd
# run nlmconv
verbose "Executing: $NLMCONV -l$LD -T$lnk" 1
catch "exec $NLMCONV -l$LD -T$lnk" output
if ![string match "" $output] then {
verbose $output 1
}
if ![string match "NONE" $errorCode] {
warning "Can't link $arg"
return -1
}
catch "exec rm -f $lnk"
# download
verbose "Downloading $nlm" 1
catch "exec cp $nlm /.NetWare/$targetname.nws/sys.nwv/tmp/x.nlm" output
if ![string match "" $output] then {
verbose $output 1
return -1
}
gdb_file_cmd $nlm
}
proc gdb_run_cmd { } {
global shell_id
global gdb_prompt
global timeout
set connhost [target_info name];
if [board_info $connhost exists serial] {
set serialport [board_info $connhost serial];
} else {
set serialport [board_info $connhost netport];
}
if [board_info $connhost exists baud] {
set baud [board_info $connhost baud];
} else {
set baud 9600;
}
# FIXME: This is wrong.
send "kill\n"
gdb_expect {
-re ".*Kill the program being debugged.*y or n. $" {
send "y\n"
exp_continue
}
-re ".*$gdb_prompt $" {}
}
verbose "Starting GDB stub on [target_info name]" 1
send -i $shell_id "load nlmstub BAUD=$baud x.nlm\r\n"
send "set remotebaud $baud\n"
gdb_expect {
-re "$gdb_prompt" {}
timeout {
perror "Couldn't set remote baud rate"
return
}
}
set otimeout $timeout
set timeout 60
verbose "Timeout is now $timeout seconds" 2
send "target remote $serialport\n"
gdb_expect {
-re "Couldn't establish connection to remote target" {
send "target remote $serialport\n"
exp_continue
}
-re "$gdb_prompt" {}
timeout {
set timeout $otimeout
verbose "Timeout restored to $timeout seconds" 2
perror "Couldn't set remote target"
return
}
}
set timeout $otimeout
verbose "Timeout restored to $timeout seconds" 2
send "continue\n"
gdb_expect {
"Continuing.$" {}
}
return
}
#
# start the remote shell
#
set shell_prompt "Password:"
set shell_id [remote_open target]
if $shell_id<0 then {
warning "Couldn't connect to target"
return -1
}
if [string match "" $passwd] then {
stty -echo
send_user "Password: "
expect_user -re "(.*)\n"
send_user "\n"
set passwd "$expect_out(1,string)"
stty echo
}
send -i $shell_id "$passwd\n"
gdb_expect {
-i $shell_id ":" {
verbose "Got termtype prompt" 0
}
-i $shell_id timeout {
warning "Connection timed out"
return -1
}
}
# FIXME: this is wrong.
set shell_prompt "[string toupper [target_info name]]:"
send -i $shell_id "1\n"
gdb_expect {
-i $shell_id -re "$shell_prompt" {}
-i $shell_id timeout {
warning "Connection timed out"
return -1
}
}

View file

@ -42,8 +42,6 @@
#include <signal.h>
#include "ui-out.h"
/*#include "lynxos-core.h" */
/* Definition of struct thread_info exported to gdbthread.h */
/* Prototypes for exported functions. */