This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: 5.3 branch? Was: insight rename patch
- From: Andrew Cagney <ac131313 at redhat dot com>
- To: Keith Seitz <keiths at redhat dot com>
- Cc: gdb-patches at sources dot redhat dot com, insight at sources dot redhat dot com
- Date: Sat, 28 Sep 2002 11:16:24 -0400
- Subject: Re: 5.3 branch? Was: insight rename patch
- References: <Pine.LNX.4.44.0209270750050.1515-100000@valrhona.uglyboxes.com>
Ok, I've pulled the attached into the 5.3 branch.
Sun's not yet over the yard arm so you'll have to wait a little before
cracking that coldie.
Andrew
On Thu, 26 Sep 2002, Andrew Cagney wrote:
Committed to HEAD.....
>
> Index: gdbtk/ChangeLog
> 2002-09-25 Andrew Cagney <ac131313@redhat.com>
>
> From Grace Sainsbury <graces@redhat.com>:
> * generic/gdbtk-main.c: New file.
FYI, I've committed a testsuite cleanup in
testsuite/lib/insight-support.exp which will get it to run the "insight"
executable instead of gdb.
Keith
ChangeLog
2002-09-26 Keith Seitz <keiths@redhat.com>
* lib/insight-support.exp (gdbtk_start): Figure out where
the insight executable is based on where gdb is. Use this
executable to start insight instead of gdb.
2002-09-28 Andrew Cagney <ac131313@redhat.com>
Import from mainline:
From Grace Sainsbury <graces@redhat.com>:
* Makefile.in (gdbtk-main.o): New target.
(gdb.o): New target.
(main_h): Define.
(main.o): Update dependencies.
(gdb$(EXEEXT)): Add gdb.o.
(SUBDIR_GDBTK_SRCS): Add gdbtk-main.c.
(SUBDIR_GDBTK_ALL, SUBDIR_GDBTK_UNINSTALL): Set.
(SUBDIR_GDBTK_CLEAN): Set.
(install-gdbtk): Install the insight binary.
(uninstall-gdbtk): New target.
(all-gdbtk, clean-gdbtk): New rule.
* top.c (use_windows): Default to zero.
* main.c: Include "main.h".
(main): Delete.
(struct captured_main_args): Delete.
(gdb_main): New function.
* main.h: New file.
* gdb.c: New File.
Index: gdbtk/ChangeLog
2002-09-26 Andrew Cagney <ac131313@redhat.com>
Import from mainline:
From Grace Sainsbury <graces@redhat.com>:
* generic/gdbtk-main.c: New file.
Index: testsuite/gdb.gdbtk/ChangeLog
2002-09-28 Andrew Cagney <ac131313@redhat.com>
Import from mainline:
2002-09-26 Keith Seitz <keiths@redhat.com>
* lib/insight-support.exp (gdbtk_start): Figure out where
the insight executable is based on where gdb is. Use this
executable to start insight instead of gdb.
Index: Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.257
diff -u -r1.257 Makefile.in
--- Makefile.in 2 Sep 2002 18:09:06 -0000 1.257
+++ Makefile.in 28 Sep 2002 15:01:05 -0000
@@ -287,16 +287,17 @@
gdbtk/generic/gdbtk.c gdbtk/generic/gdbtk-bp.c \
gdbtk/generic/gdbtk-cmds.c gdbtk/generic/gdbtk-hooks.c \
gdbtk/generic/gdbtk-register.c gdbtk/generic/gdbtk-stack.c \
- gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c
+ gdbtk/generic/gdbtk-varobj.c gdbtk/generic/gdbtk-wrapper.c \
+ gdbtk/generic/gdbtk-main.c
SUBDIR_GDBTK_DEPS = \
$(LIBGUI) $(ITCL_DEPS) $(ITK_DEPS) $(TIX_DEPS) $(TK_DEPS) $(TCL_DEPS)
SUBDIR_GDBTK_INITS = gdbtk/generic/gdbtk.c
SUBDIR_GDBTK_LDFLAGS=
SUBDIR_GDBTK_CFLAGS= -DGDBTK
-SUBDIR_GDBTK_ALL=
-SUBDIR_GDBTK_CLEAN=
+SUBDIR_GDBTK_ALL= all-gdbtk
+SUBDIR_GDBTK_CLEAN= clean-gdbtk
SUBDIR_GDBTK_INSTALL= install-gdbtk
-SUBDIR_GDBTK_UNINSTALL=
+SUBDIR_GDBTK_UNINSTALL= uninstall-gdbtk
CONFIG_OBS= @CONFIG_OBS@
CONFIG_LIB_OBS= @CONFIG_LIB_OBS@
@@ -673,6 +674,7 @@
macroexp_h = macroexp.h
macroscope_h = macroscope.h $(macrotab_h) $(symtab_h)
macrotab_h = macrotab.h
+main_h = main.h
memattr_h = memattr.h
minimon_h = minimon.h
mipsnbsd_tdep_h = mipsnbsd-tdep.h
@@ -920,25 +922,8 @@
true ; \
fi ; \
rm -f $(bindir)/$$transformed_name$(EXEEXT) $(man1dir)/$$transformed_name.1
- rm -rf $(GDBTK_LIBRARY)
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
-install-gdbtk:
- $(SHELL) $(srcdir)/../mkinstalldirs $(GDBTK_LIBRARY) ; \
- $(SHELL) $(srcdir)/../mkinstalldirs $(libdir)/insight$(GDBTK_VERSION) ; \
- $(INSTALL_DATA) $(srcdir)/gdbtk/plugins/plugins.tcl $(libdir)/insight$(GDBTK_VERSION)/plugins.tcl ; \
- $(SHELL) $(srcdir)/../mkinstalldirs \
- $(GDBTK_LIBRARY)/images \
- $(GDBTK_LIBRARY)/images2 ; \
- $(SHELL) $(srcdir)/../mkinstalldirs $(GDBTK_LIBRARY)/help \
- $(GDBTK_LIBRARY)/help/images \
- $(GDBTK_LIBRARY)/help/trace ; \
- cd $(srcdir)/gdbtk/library ; \
- for i in *.tcl *.itcl *.ith *.itb images/*.gif images2/*.gif images/icons.txt images2/icons.txt tclIndex help/*.html help/trace/*.html help/trace/index.toc help/images/*.gif; \
- do \
- $(INSTALL_DATA) $$i $(GDBTK_LIBRARY)/$$i ; \
- done ;
-
# We do this by grepping through sources. If that turns out to be too slow,
# maybe we could just require every .o file to have an initialization routine
# of a given name (top.o -> _initialize_top, etc.).
@@ -1008,11 +993,11 @@
init.o: init.c $(defs_h) $(call_cmds_h)
# Removing the old gdb first works better if it is running, at least on SunOS.
-gdb$(EXEEXT): main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
+gdb$(EXEEXT): gdb.o main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
rm -f gdb$(EXEEXT)
- $(HLDENV) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) -o gdb$(EXEEXT) \
- main.o libgdb.a $(CONFIG_OBS) $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS)\
- $(LOADLIBES)
+ $(HLDENV) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
+ -o gdb$(EXEEXT) gdb.o main.o $(CONFIG_OBS) libgdb.a \
+ $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
nlm: force
rootme=`pwd`; export rootme; $(MAKE) $(TARGET_FLAGS_TO_PASS) DO=all DODIRS=nlm subdir_do
@@ -1678,6 +1663,7 @@
$(arch_utils_h) $(regcache_h)
gcore.o: gcore.c $(defs_h) $(cli_decode_h) $(inferior_h) $(gdbcore_h) \
$(elf_bfd_h) $(symfile_h) $(objfiles_h)
+gdb.o: gdb.c $(defs_h) $(main_h) $(gdb_string_h)
gdb-events.o: gdb-events.c $(defs_h) $(gdb_events_h) $(gdbcmd_h)
gdbarch.o: gdbarch.c $(defs_h) $(arch_utils_h) $(gdbcmd_h) $(inferior_h) \
$(gdb_string_h) $(symtab_h) $(frame_h) $(inferior_h) $(breakpoint_h) \
@@ -1871,7 +1857,7 @@
$(bcache_h) $(complaints_h)
main.o: main.c $(defs_h) $(top_h) $(target_h) $(inferior_h) $(symfile_h) \
$(gdbcore_h) $(getopt_h) $(gdb_stat_h) $(gdb_string_h) \
- $(event_loop_h) $(ui_out_h)
+ $(event_loop_h) $(ui_out_h) $(main_h)
maint.o: maint.c $(defs_h) $(command_h) $(gdbcmd_h) $(symtab_h) \
$(gdbtypes_h) $(demangle_h) $(gdbcore_h) $(expression_h) \
$(language_h) $(symfile_h) $(objfiles_h) $(value_h) $(cli_decode_h)
@@ -2330,6 +2316,55 @@
# Need to explicitly specify the compile rule as make will do nothing
# or try to compile the object file into the mi directory.
+all-gdbtk: insight$(EXEEXT)
+
+install-gdbtk:
+ transformed_name=`t='$(program_transform_name)'; \
+ echo insight | sed -e $$t` ; \
+ if test "x$$transformed_name" = x; then \
+ transformed_name=insight ; \
+ else \
+ true ; \
+ fi ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(bindir)
+ $(INSTALL_PROGRAM) insight$(EXEEXT) $(bindir)/$$transformed_name$(EXEEXT) ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(GDBTK_LIBRARY) ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(libdir)/insight$(GDBTK_VERSION) ; \
+ $(INSTALL_DATA) $(srcdir)/gdbtk/plugins/plugins.tcl $(libdir)/insight$(GDBTK_VERSION)/plugins.tcl ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs \
+ $(GDBTK_LIBRARY)/images \
+ $(GDBTK_LIBRARY)/images2 ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(GDBTK_LIBRARY)/help \
+ $(GDBTK_LIBRARY)/help/images \
+ $(GDBTK_LIBRARY)/help/trace ; \
+ cd $(srcdir)/gdbtk/library ; \
+ for i in *.tcl *.itcl *.ith *.itb images/*.gif images2/*.gif images/icons.txt images2/icons.txt tclIndex help/*.html help/trace/*.html help/trace/index.toc help/images/*.gif; \
+ do \
+ $(INSTALL_DATA) $$i $(GDBTK_LIBRARY)/$$i ; \
+ done ;
+
+uninstall-gdbtk:
+ transformed_name=`t='$(program_transform_name)'; \
+ echo insight | sed -e $$t` ; \
+ if test "x$$transformed_name" = x; then \
+ transformed_name=insight ; \
+ else \
+ true ; \
+ fi ; \
+ rm -f $(bindir)/$$transformed_name$(EXEEXT) ; \
+ rm -rf $(GDBTK_LIBRARY)
+
+clean-gdbtk:
+ rm -f insight$(EXEEXT)
+
+# Removing the old gdb first works better if it is running, at least on SunOS.
+insight$(EXEEXT): gdbtk-main.o main.o libgdb.a $(CONFIG_OBS) $(ADD_DEPS) \
+ $(CDEPS) $(TDEPLIBS)
+ rm -f insight$(EXEEXT)
+ $(HLDENV) $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
+ -o insight$(EXEEXT) gdbtk-main.o main.o libgdb.a $(CONFIG_OBS)\
+ $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
+
gdbres.o: $(srcdir)/gdbtk/gdb.rc $(srcdir)/gdbtk/gdbtool.ico
$(WINDRES) --include $(srcdir)/gdbtk $(srcdir)/gdbtk/gdb.rc gdbres.o
@@ -2372,6 +2407,12 @@
$(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) $(TIX_CFLAGS) \
$(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) $(GDBTK_CFLAGS)\
$(srcdir)/gdbtk/generic/gdbtk-hooks.c -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\"
+
+gdbtk-main.o: $(srcdir)/gdbtk/generic/gdbtk-main.c $(defs_h) $(main_h) \
+ $(gdb_string_h)
+ $(CC) -c $(INTERNAL_CFLAGS) $(IDE_CFLAGS) $(ITCL_CFLAGS) $(TIX_CFLAGS) \
+ $(TCL_CFLAGS) $(TK_CFLAGS) $(X11_CFLAGS) $(GDBTK_CFLAGS)\
+ $(srcdir)/gdbtk/generic/gdbtk-main.c -DGDBTK_LIBRARY=\"$(GDBTK_LIBRARY)\"
gdbtk-register.o: $(srcdir)/gdbtk/generic/gdbtk-register.c \
$(srcdir)/gdbtk/generic/gdbtk.h \
Index: gdb.c
===================================================================
RCS file: gdb.c
diff -N gdb.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gdb.c 28 Sep 2002 15:01:05 -0000
@@ -0,0 +1,34 @@
+/* Main function for CLI gdb.
+ Copyright 2002 Free Software Foundation, Inc.
+
+ 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., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include "defs.h"
+#include "main.h"
+#include "gdb_string.h"
+
+int
+main (int argc, char **argv)
+{
+ struct captured_main_args args;
+ memset (&args, 0, sizeof args);
+ args.argc = argc;
+ args.argv = argv;
+ args.use_windows = 0;
+ return gdb_main (&args);
+}
Index: main.c
===================================================================
RCS file: /cvs/src/src/gdb/main.c,v
retrieving revision 1.18.6.1
diff -u -r1.18.6.1 main.c
--- main.c 25 Sep 2002 04:27:30 -0000 1.18.6.1
+++ main.c 28 Sep 2002 15:01:05 -0000
@@ -37,6 +37,8 @@
#include "event-loop.h"
#include "ui-out.h"
+#include "main.h"
+
/* If nonzero, display time usage both at startup and for each command. */
int display_time;
@@ -108,12 +110,6 @@
return 1;
}
-struct captured_main_args
- {
- int argc;
- char **argv;
- };
-
static int
captured_main (void *data)
{
@@ -736,12 +732,10 @@
}
int
-main (int argc, char **argv)
+gdb_main (struct captured_main_args *args)
{
- struct captured_main_args args;
- args.argc = argc;
- args.argv = argv;
- catch_errors (captured_main, &args, "", RETURN_MASK_ALL);
+ use_windows = args->use_windows;
+ catch_errors (captured_main, args, "", RETURN_MASK_ALL);
return 0;
}
Index: main.h
===================================================================
RCS file: main.h
diff -N main.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ main.h 28 Sep 2002 15:01:05 -0000
@@ -0,0 +1,34 @@
+/* Main interface for GDB, the GNU debugger.
+
+ Copyright 2002 Free Software Foundation, Inc.
+
+ 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., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#ifndef MAIN_H
+#define MAIN_H
+
+struct captured_main_args
+{
+ int argc;
+ char **argv;
+ int use_windows;
+};
+
+extern int gdb_main (struct captured_main_args *);
+
+#endif
Index: top.c
===================================================================
RCS file: /cvs/src/src/gdb/top.c,v
retrieving revision 1.66.6.1
diff -u -r1.66.6.1 top.c
--- top.c 14 Sep 2002 23:32:00 -0000 1.66.6.1
+++ top.c 28 Sep 2002 15:01:05 -0000
@@ -82,7 +82,7 @@
/* If nonzero, and GDB has been configured to be able to use windows,
attempt to open them upon startup. */
-int use_windows = 1;
+int use_windows = 0;
extern char lang_frame_mismatch_warn[]; /* language.c */
Index: gdbtk/generic/gdbtk-main.c
===================================================================
RCS file: gdbtk/generic/gdbtk-main.c
diff -N gdbtk/generic/gdbtk-main.c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gdbtk/generic/gdbtk-main.c 28 Sep 2002 15:01:06 -0000
@@ -0,0 +1,36 @@
+/* Main function for gdb with insight.
+
+ Copyright 2002 Free Software Foundation, Inc.
+
+ 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., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+
+#include "defs.h"
+#include "main.h"
+#include "gdb_string.h"
+
+int
+main (int argc, char **argv)
+{
+ struct captured_main_args args;
+ memset (&args, 0, sizeof args);
+ args.argc = argc;
+ args.argv = argv;
+ args.use_windows = 1;
+ return gdb_main (&args);
+}
Index: testsuite/lib/insight-support.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/insight-support.exp,v
retrieving revision 1.5
diff -u -r1.5 insight-support.exp
--- testsuite/lib/insight-support.exp 4 Oct 2001 22:11:12 -0000 1.5
+++ testsuite/lib/insight-support.exp 28 Sep 2002 15:01:06 -0000
@@ -54,7 +54,15 @@
gdb_stop_suppressing_tests;
- verbose "Starting $GDB -nx -q --tclcommand=$test"
+ # Need to convert ::GDB to use (-)?insight...
+ if {[regsub {gdb$} $GDB insight newGDB]} {
+ set INSIGHT $newGDB
+ } else {
+ perror "Cannot find Insight executable"
+ exit 1
+ }
+
+ verbose "Starting $INSIGHT -nx -q --tclcommand=$test"
set real_test [which $test]
if {$real_test == 0} {
@@ -63,8 +71,8 @@
}
if {![is_remote host]} {
- if { [which $GDB] == 0 } {
- perror "$GDB does not exist."
+ if { [which $INSIGHT] == 0 } {
+ perror "$INSIGHT does not exist."
exit 1
}
}
@@ -91,9 +99,9 @@
set env(GDBTK_VERBOSE) 1
set env(GDBTK_LOGFILE) [to_tcl_path [file join $objdir gdb.log]]
- set err [catch {exec $GDB -nx -q --tclcommand=$test} res]
+ set err [catch {exec $INSIGHT -nx -q --tclcommand=$test} res]
if { $err } {
- perror "Execing $GDB failed: $res"
+ perror "Execing $INSIGHT failed: $res"
append res "\nERROR gdb-crash"
}
return $res