From: Michael Snyder <msnyder@cygnus.com>
To: Kevin Buettner <kevinb@cygnus.com>
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: [PATCH RFA] Fix for config/nm-linux.h typos
Date: Sun, 28 May 2000 08:56:00 -0000 [thread overview]
Message-ID: <395A1F4D.2055@cygnus.com> (raw)
In-Reply-To: <1000528032957.ZM21396@ocotillo.lan>
Kevin Buettner wrote:
>
> As the ChangeLog comment says, this patch merely fixes some typos which
> cause build problems on IA-32 GNU/Linux.
>
> Okay to checkin?
Doh! Yes. Sorry about that...
> * config/nm-linux.h (GDB_GREGSET_T, GDB_FPREGSET_T): Fix typos.
>
> Index: config/nm-linux.h
> ===================================================================
> RCS file: /cvs/src/src/gdb/config/nm-linux.h,v
> retrieving revision 1.3
> diff -u -p -r1.3 nm-linux.h
> --- nm-linux.h 2000/05/28 01:12:33 1.3
> +++ nm-linux.h 2000/05/28 03:24:42
> @@ -59,5 +59,5 @@ extern int linuxthreads_prepare_to_proce
> /* Use elf_gregset_t and elf_fpregset_t, rather than
> gregset_t and fpregset_t. */
>
> -#define GDB_GREGSET_T prgregset_t
> -#define GDB_FPREGSET_T prfpregset_t
> +#define GDB_GREGSET_T elf_gregset_t
> +#define GDB_FPREGSET_T elf_fpregset_t
From msnyder@cygnus.com Sun May 28 09:16:00 2000
From: Michael Snyder <msnyder@cygnus.com>
To: Alexandre Oliva <aoliva@cygnus.com>
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: GDB 5.0 won't build on GNU/Linux/sparc
Date: Sun, 28 May 2000 09:16:00 -0000
Message-id: <395A2426.392@cygnus.com>
References: <oraehlelgf.fsf@tamanduatei.dcc.unicamp.br> <ork8gpd00h.fsf@tamanduatei.dcc.unicamp.br> <org0r27nj1.fsf@saci.lsd.ic.unicamp.br>
X-SW-Source: 2000-05/msg00434.html
Content-length: 1189
Alexandre Oliva wrote:
>
> On May 20, 2000, Alexandre Oliva <aoliva@cygnus.com> wrote:
>
> > * infrun.c (resume): Do not change continue to step if we single
> > step on software.
>
> > Index: gdb/infrun.c
> > ===================================================================
> > RCS file: /cvs/src/src/gdb/infrun.c,v
> > retrieving revision 1.6.2.2
> > diff -u -r1.6.2.2 infrun.c
> > --- gdb/infrun.c 2000/04/20 11:00:29 1.6.2.2
> > +++ gdb/infrun.c 2000/05/20 09:39:27
> > @@ -902,7 +902,7 @@
> > }
> > else
> > {
> > - if (!step)
> > + if (!SOFTWARE_SINGLE_STEP_P && !step)
> > {
> > warning ("Internal error, changing continue to step.");
> > remove_breakpoints ();
>
> I'm not sure I understood the final decision regarding this patch.
> Should I check it in or not?
No. I'm not comfortable with it. I would like to know why
sunos/sparc and solaris/sparc etc. never needed this change.
It seems to me that other SOFTWARE_SINGLE_STEP_P targets must
have dealt with the situation differently, and probably
linux/sparc needs to do whatever they were doing.
From kevinb@cygnus.com Sun May 28 09:28:00 2000
From: Kevin Buettner <kevinb@cygnus.com>
To: msnyder@cygnus.com
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: [PATCH RFA] Fix for config/nm-linux.h typos
Date: Sun, 28 May 2000 09:28:00 -0000
Message-id: <1000528162819.ZM29363@ocotillo.lan>
References: <1000528032957.ZM21396@ocotillo.lan> <395A1F4D.2055@cygnus.com> <msnyder@cygnus.com>
X-SW-Source: 2000-05/msg00435.html
Content-length: 347
On Jun 28, 8:52am, Michael Snyder wrote:
> Kevin Buettner wrote:
> >
> > As the ChangeLog comment says, this patch merely fixes some typos which
> > cause build problems on IA-32 GNU/Linux.
> >
> > Okay to checkin?
>
> Doh! Yes. Sorry about that...
>
> > * config/nm-linux.h (GDB_GREGSET_T, GDB_FPREGSET_T): Fix typos.
Committed.
From andrew.gaylard@bsw.co.za Sun May 28 12:03:00 2000
From: Andrew Gaylard <andrew.gaylard@bsw.co.za>
To: gdb-patches@sourceware.cygnus.com
Subject: Patch to build gdb-5.0 with readline-4.1
Date: Sun, 28 May 2000 12:03:00 -0000
Message-id: <39316D76.EAB1DAD8@bsw.co.za>
X-SW-Source: 2000-05/msg00436.html
Content-length: 15520
Hi,
I noticed that one of the 'TODO' items was
"Readline 4.? is out. A merge wouldn't hurt."
So I've done exactly that (hopefully no-one else
has done this already). Note that I have updated
the ChangeLog files, which may not be the "right
thing". If so, please accept my apologies, but
this is the first patch I have ever put together...
for anyone.
Here are my changes:
gdb-5.0/gdb/ChangeLog
2000-05-28 Andrew Gaylard <andrew.gaylard@za.didata.com>
* event-top.c, mac-xdep.c, top.c, tracepoint.c,
utils.c: Updated to build with readline-4.1.
* top.c: Small fix to let readline know $TERM.
gdb-5.0/gdb/doc/ChangeLog
2000-05-28 Andrew Gaylard <andrew.gaylard@za.didata.com>
* Build with readline-4.1: change Makefile.in and gdb.texinfo
to refer to hsuser.texinfo and not inc-hist.texinfo.
Here's the recipe (starting with gdb-5.0 as distributed):
tar zxf gdb-5.0.tar.gz
patch -p0 <gdb-rl4.1-merge.diff
cd gdb-5.0
mv readline readline-2.x
tar zxf ../readline-4.1.tar.gz
ln -s readline-4.1 readline
./configure
make
make install
And here's the patch (also attached as MIME, since I
suspect that my mailer might wrap some of these lines):
diff -aur gdb-5.0/gdb/ChangeLog gdb-5.0-ag/gdb/ChangeLog
--- gdb-5.0/gdb/ChangeLog Thu May 18 06:47:59 2000
+++ gdb-5.0-ag/gdb/ChangeLog Sun May 28 20:00:33 2000
@@ -1,3 +1,9 @@
+2000-05-28 Andrew Gaylard <andrew.gaylard@za.didata.com>
+
+ * event-top.c, mac-xdep.c, top.c, tracepoint.c,
+ utils.c: Updated to build with readline-4.1.
+ * top.c: Small fix to let readline know $TERM.
+
2000-05-17 Andrew Cagney <cagney@sourceware.cygnus.com>
* GDB 5.0 released.
diff -aur gdb-5.0/gdb/doc/ChangeLog gdb-5.0-ag/gdb/doc/ChangeLog
--- gdb-5.0/gdb/doc/ChangeLog Wed May 17 13:54:04 2000
+++ gdb-5.0-ag/gdb/doc/ChangeLog Sun May 28 19:58:19 2000
@@ -1,3 +1,8 @@
+2000-05-28 Andrew Gaylard <andrew.gaylard@za.didata.com>
+
+ * Build with readline-4.1: change Makefile.in and gdb.texinfo
+ to refer to hsuser.texinfo and not inc-hist.texinfo.
+
2000-05-17 Eli Zaretskii <eliz@is.elta.co.il>
* Makefile.in (install-info): Run install-info on installed Info
diff -aur gdb-5.0/gdb/doc/Makefile.in gdb-5.0-ag/gdb/doc/Makefile.in
--- gdb-5.0/gdb/doc/Makefile.in Wed May 17 13:54:04 2000
+++ gdb-5.0-ag/gdb/doc/Makefile.in Sun May 28 15:41:10 2000
@@ -98,7 +98,7 @@
SFILES_LOCAL = $(srcdir)/gdb.texinfo GDBvn.texi $(SFILES_INCLUDED)
SFILES_DOC = $(SFILES_LOCAL) $(GDBMI_DIR)/gdbmi.texinfo \
- $(READLINE_DIR)/rluser.texinfo
$(READLINE_DIR)/inc-hist.texinfo
+ $(READLINE_DIR)/rluser.texinfo
$(READLINE_DIR)/hsuser.texinfo
#### Host, target, and site specific Makefile fragments come in here.
###
@@ -171,7 +171,7 @@
rm -f sedref.dvi sedref.tex tmp.sed
clean: mostlyclean
- rm -f rluser.texinfo inc-hist.texinfo gdb-cfg.texi
+ rm -f rluser.texinfo hsuser.texinfo gdb-cfg.texi
distclean: clean
rm -f Makefile config.status
@@ -280,11 +280,11 @@
-e 's/^@end ftable/@end table/g' \
${READLINE_DIR}/rluser.texinfo > ./rluser.texinfo
-inc-hist.texinfo: ${READLINE_DIR}/inc-hist.texinfo
+hsuser.texinfo: ${READLINE_DIR}/hsuser.texinfo
(test "$$LN_S" = "ln -s" && \
- ln -s ${READLINE_DIR}/inc-hist.texinfo .) || \
- ln ${READLINE_DIR}/inc-hist.texinfo . || \
- cp ${READLINE_DIR}/inc-hist.texinfo .
+ ln -s ${READLINE_DIR}/hsuser.texinfo .) || \
+ ln ${READLINE_DIR}/hsuser.texinfo . || \
+ cp ${READLINE_DIR}/hsuser.texinfo .
gdbmi.texinfo: ${GDBMI_DIR}/gdbmi.texinfo
(test "$$LN_S" = "ln -s" && \
@@ -293,7 +293,7 @@
cp ${GDBMI_DIR}/gdbmi.texinfo .
# gdb manual suitable for [gtn]roff -me
-gdb.me: $(SFILES_LOCAL) links2roff rluser.texinfo inc-hist.texinfo
gdbmi.texinfo
+gdb.me: $(SFILES_LOCAL) links2roff rluser.texinfo hsuser.texinfo
gdbmi.texinfo
sed -e '/\\input texinfo/d' \
-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
-e '/^@ifinfo/,/^@end ifinfo/d' \
@@ -308,7 +308,7 @@
>gdb.me
# gdb manual suitable for [gtn]roff -ms
-gdb.ms: $(SFILES_LOCAL) links2roff rluser.texinfo inc-hist.texinfo
gdbmi.texinfo
+gdb.ms: $(SFILES_LOCAL) links2roff rluser.texinfo hsuser.texinfo
gdbmi.texinfo
sed -e '/\\input texinfo/d' \
-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
-e '/^@ifinfo/,/^@end ifinfo/d' \
@@ -325,7 +325,7 @@
# gdb manual suitable for [tn]roff -mm
# '@noindent's removed due to texi2roff-2 mm bug; if yours is newer,
# try leaving them in
-gdb.mm: $(SFILES_LOCAL) links2roff rluser.texinfo inc-hist.texinfo
gdbmi.texinfo
+gdb.mm: $(SFILES_LOCAL) links2roff rluser.texinfo hsuser.texinfo
gdbmi.texinfo
sed -e '/\\input texinfo/d' \
-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
-e '/^@ifinfo/,/^@end ifinfo/d' \
diff -aur gdb-5.0/gdb/doc/gdb.texinfo gdb-5.0-ag/gdb/doc/gdb.texinfo
--- gdb-5.0/gdb/doc/gdb.texinfo Fri May 12 12:30:39 2000
+++ gdb-5.0-ag/gdb/doc/gdb.texinfo Sun May 28 15:41:12 2000
@@ -12460,11 +12460,11 @@
@c The readline documentation is distributed with the readline code
@c and consists of the two following files:
@c rluser.texinfo
-@c inc-hist.texinfo
+@c hsuser.texinfo
@c Use -I with makeinfo to point to the appropriate directory,
@c environment var TEXINPUTS with TeX.
@include rluser.texinfo
-@include inc-hist.texinfo
+@include hsuser.texinfo
@node Formatting Documentation
diff -aur gdb-5.0/gdb/event-top.c gdb-5.0-ag/gdb/event-top.c
--- gdb-5.0/gdb/event-top.c Thu Mar 30 20:54:28 2000
+++ gdb-5.0-ag/gdb/event-top.c Sun May 28 15:41:12 2000
@@ -32,12 +32,14 @@
#include "gdbcmd.h"
/* readline include files */
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
#include <signal.h>
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
extern void _initialize_event_loop (void);
diff -aur gdb-5.0/gdb/mac-xdep.c gdb-5.0-ag/gdb/mac-xdep.c
--- gdb-5.0/gdb/mac-xdep.c Wed Jul 7 22:07:57 1999
+++ gdb-5.0-ag/gdb/mac-xdep.c Sun May 28 15:41:13 2000
@@ -21,8 +21,12 @@
#include "defs.h"
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
+/* readline needed this. */
+#undef savestring
#include <Types.h>
#include <Resources.h>
diff -aur gdb-5.0/gdb/top.c gdb-5.0-ag/gdb/top.c
--- gdb-5.0/gdb/top.c Wed Apr 12 18:46:03 2000
+++ gdb-5.0-ag/gdb/top.c Sun May 28 15:41:14 2000
@@ -36,10 +36,12 @@
#include "version.h"
/* readline include files */
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
#include <sys/types.h>
@@ -4127,6 +4129,7 @@
rl_completer_word_break_characters =
gdb_completer_word_break_characters;
rl_completer_quote_characters = gdb_completer_quote_characters;
rl_readline_name = "gdb";
+ rl_terminal_name=getenv("TERM");
/* Define the classes of commands.
They will appear in the help list in the reverse of this order.
*/
diff -aur gdb-5.0/gdb/tracepoint.c gdb-5.0-ag/gdb/tracepoint.c
--- gdb-5.0/gdb/tracepoint.c Tue Dec 14 03:05:38 1999
+++ gdb-5.0-ag/gdb/tracepoint.c Sun May 28 15:41:15 2000
@@ -36,10 +36,12 @@
#include "ax-gdb.h"
/* readline include files */
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
#ifdef HAVE_UNISTD_H
diff -aur gdb-5.0/gdb/utils.c gdb-5.0-ag/gdb/utils.c
--- gdb-5.0/gdb/utils.c Fri Apr 21 06:10:46 2000
+++ gdb-5.0-ag/gdb/utils.c Sun May 28 15:41:16 2000
@@ -50,12 +50,14 @@
#include "language.h"
#include "annotate.h"
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#undef XMALLOC
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
void (*error_begin_hook) PARAMS ((void));
diff -aur gdb-5.0/gdb/ChangeLog gdb-5.0-ag/gdb/ChangeLog
--- gdb-5.0/gdb/ChangeLog Thu May 18 06:47:59 2000
+++ gdb-5.0-ag/gdb/ChangeLog Sun May 28 20:00:33 2000
@@ -1,3 +1,9 @@
+2000-05-28 Andrew Gaylard <andrew.gaylard@za.didata.com>
+
+ * event-top.c, mac-xdep.c, top.c, tracepoint.c,
+ utils.c: Updated to build with readline-4.1.
+ * top.c: Small fix to let readline know $TERM.
+
2000-05-17 Andrew Cagney <cagney@sourceware.cygnus.com>
* GDB 5.0 released.
diff -aur gdb-5.0/gdb/doc/ChangeLog gdb-5.0-ag/gdb/doc/ChangeLog
--- gdb-5.0/gdb/doc/ChangeLog Wed May 17 13:54:04 2000
+++ gdb-5.0-ag/gdb/doc/ChangeLog Sun May 28 19:58:19 2000
@@ -1,3 +1,8 @@
+2000-05-28 Andrew Gaylard <andrew.gaylard@za.didata.com>
+
+ * Build with readline-4.1: change Makefile.in and gdb.texinfo
+ to refer to hsuser.texinfo and not inc-hist.texinfo.
+
2000-05-17 Eli Zaretskii <eliz@is.elta.co.il>
* Makefile.in (install-info): Run install-info on installed Info
diff -aur gdb-5.0/gdb/doc/Makefile.in gdb-5.0-ag/gdb/doc/Makefile.in
--- gdb-5.0/gdb/doc/Makefile.in Wed May 17 13:54:04 2000
+++ gdb-5.0-ag/gdb/doc/Makefile.in Sun May 28 15:41:10 2000
@@ -98,7 +98,7 @@
SFILES_LOCAL = $(srcdir)/gdb.texinfo GDBvn.texi $(SFILES_INCLUDED)
SFILES_DOC = $(SFILES_LOCAL) $(GDBMI_DIR)/gdbmi.texinfo \
- $(READLINE_DIR)/rluser.texinfo $(READLINE_DIR)/inc-hist.texinfo
+ $(READLINE_DIR)/rluser.texinfo $(READLINE_DIR)/hsuser.texinfo
#### Host, target, and site specific Makefile fragments come in here.
###
@@ -171,7 +171,7 @@
rm -f sedref.dvi sedref.tex tmp.sed
clean: mostlyclean
- rm -f rluser.texinfo inc-hist.texinfo gdb-cfg.texi
+ rm -f rluser.texinfo hsuser.texinfo gdb-cfg.texi
distclean: clean
rm -f Makefile config.status
@@ -280,11 +280,11 @@
-e 's/^@end ftable/@end table/g' \
${READLINE_DIR}/rluser.texinfo > ./rluser.texinfo
-inc-hist.texinfo: ${READLINE_DIR}/inc-hist.texinfo
+hsuser.texinfo: ${READLINE_DIR}/hsuser.texinfo
(test "$$LN_S" = "ln -s" && \
- ln -s ${READLINE_DIR}/inc-hist.texinfo .) || \
- ln ${READLINE_DIR}/inc-hist.texinfo . || \
- cp ${READLINE_DIR}/inc-hist.texinfo .
+ ln -s ${READLINE_DIR}/hsuser.texinfo .) || \
+ ln ${READLINE_DIR}/hsuser.texinfo . || \
+ cp ${READLINE_DIR}/hsuser.texinfo .
gdbmi.texinfo: ${GDBMI_DIR}/gdbmi.texinfo
(test "$$LN_S" = "ln -s" && \
@@ -293,7 +293,7 @@
cp ${GDBMI_DIR}/gdbmi.texinfo .
# gdb manual suitable for [gtn]roff -me
-gdb.me: $(SFILES_LOCAL) links2roff rluser.texinfo inc-hist.texinfo gdbmi.texinfo
+gdb.me: $(SFILES_LOCAL) links2roff rluser.texinfo hsuser.texinfo gdbmi.texinfo
sed -e '/\\input texinfo/d' \
-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
-e '/^@ifinfo/,/^@end ifinfo/d' \
@@ -308,7 +308,7 @@
>gdb.me
# gdb manual suitable for [gtn]roff -ms
-gdb.ms: $(SFILES_LOCAL) links2roff rluser.texinfo inc-hist.texinfo gdbmi.texinfo
+gdb.ms: $(SFILES_LOCAL) links2roff rluser.texinfo hsuser.texinfo gdbmi.texinfo
sed -e '/\\input texinfo/d' \
-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
-e '/^@ifinfo/,/^@end ifinfo/d' \
@@ -325,7 +325,7 @@
# gdb manual suitable for [tn]roff -mm
# '@noindent's removed due to texi2roff-2 mm bug; if yours is newer,
# try leaving them in
-gdb.mm: $(SFILES_LOCAL) links2roff rluser.texinfo inc-hist.texinfo gdbmi.texinfo
+gdb.mm: $(SFILES_LOCAL) links2roff rluser.texinfo hsuser.texinfo gdbmi.texinfo
sed -e '/\\input texinfo/d' \
-e '/@c TEXI2ROFF-KILL/,/@c END TEXI2ROFF-KILL/d' \
-e '/^@ifinfo/,/^@end ifinfo/d' \
diff -aur gdb-5.0/gdb/doc/gdb.texinfo gdb-5.0-ag/gdb/doc/gdb.texinfo
--- gdb-5.0/gdb/doc/gdb.texinfo Fri May 12 12:30:39 2000
+++ gdb-5.0-ag/gdb/doc/gdb.texinfo Sun May 28 15:41:12 2000
@@ -12460,11 +12460,11 @@
@c The readline documentation is distributed with the readline code
@c and consists of the two following files:
@c rluser.texinfo
-@c inc-hist.texinfo
+@c hsuser.texinfo
@c Use -I with makeinfo to point to the appropriate directory,
@c environment var TEXINPUTS with TeX.
@include rluser.texinfo
-@include inc-hist.texinfo
+@include hsuser.texinfo
@node Formatting Documentation
diff -aur gdb-5.0/gdb/event-top.c gdb-5.0-ag/gdb/event-top.c
--- gdb-5.0/gdb/event-top.c Thu Mar 30 20:54:28 2000
+++ gdb-5.0-ag/gdb/event-top.c Sun May 28 15:41:12 2000
@@ -32,12 +32,14 @@
#include "gdbcmd.h"
/* readline include files */
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
#include <signal.h>
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
extern void _initialize_event_loop (void);
diff -aur gdb-5.0/gdb/mac-xdep.c gdb-5.0-ag/gdb/mac-xdep.c
--- gdb-5.0/gdb/mac-xdep.c Wed Jul 7 22:07:57 1999
+++ gdb-5.0-ag/gdb/mac-xdep.c Sun May 28 15:41:13 2000
@@ -21,8 +21,12 @@
#include "defs.h"
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
+/* readline needed this. */
+#undef savestring
#include <Types.h>
#include <Resources.h>
diff -aur gdb-5.0/gdb/top.c gdb-5.0-ag/gdb/top.c
--- gdb-5.0/gdb/top.c Wed Apr 12 18:46:03 2000
+++ gdb-5.0-ag/gdb/top.c Sun May 28 15:41:14 2000
@@ -36,10 +36,12 @@
#include "version.h"
/* readline include files */
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
#include <sys/types.h>
@@ -4127,6 +4129,7 @@
rl_completer_word_break_characters = gdb_completer_word_break_characters;
rl_completer_quote_characters = gdb_completer_quote_characters;
rl_readline_name = "gdb";
+ rl_terminal_name=getenv("TERM");
/* Define the classes of commands.
They will appear in the help list in the reverse of this order. */
diff -aur gdb-5.0/gdb/tracepoint.c gdb-5.0-ag/gdb/tracepoint.c
--- gdb-5.0/gdb/tracepoint.c Tue Dec 14 03:05:38 1999
+++ gdb-5.0-ag/gdb/tracepoint.c Sun May 28 15:41:15 2000
@@ -36,10 +36,12 @@
#include "ax-gdb.h"
/* readline include files */
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#include <readline/history.h>
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
#ifdef HAVE_UNISTD_H
diff -aur gdb-5.0/gdb/utils.c gdb-5.0-ag/gdb/utils.c
--- gdb-5.0/gdb/utils.c Fri Apr 21 06:10:46 2000
+++ gdb-5.0-ag/gdb/utils.c Sun May 28 15:41:16 2000
@@ -50,12 +50,14 @@
#include "language.h"
#include "annotate.h"
+/* This is needed to prevent readline-4.1 (re-)defining it. */
+#define savestring
#include <readline/readline.h>
#undef XMALLOC
#define XMALLOC(TYPE) ((TYPE*) xmalloc (sizeof (TYPE)))
-/* readline defines this. */
+/* readline needed this. */
#undef savestring
void (*error_begin_hook) PARAMS ((void));
From hilfingr@EECS.Berkeley.EDU Sun May 28 16:48:00 2000
From: Paul Hilfinger <hilfingr@EECS.Berkeley.EDU>
To: Daniel Berlin <dan@cgsoftware.com>
Cc: Andrew Cagney <ac131313@cygnus.com>, GDB Patches <gdb-patches@sourceware.cygnus.com>
Subject: Re: [rfa/5] add PDF target to doc directory
Date: Sun, 28 May 2000 16:48:00 -0000
Message-id: <200005282348.QAA04035@tully.CS.Berkeley.EDU>
References: <Pine.LNX.4.10.10005271739410.14604-100000@propylaea.anduin.com>
X-SW-Source: 2000-05/msg00437.html
Content-length: 1012
For some time now, I have been using ordinary LaTeX (2e), plus dvips
with Type 1 font definitions for the CMR fonts, and plus ps2pdf based
on recent versions of Ghostscript (currently I have 6.21, although
anything after 6.0 worked, plus some before whose version numbers I
don't remember). Together, these do a very nice job. The PDF file
inserts Type 1 font definitions instead of bit-mapped fonts, things
look quite nice on the screen, and many Distiller-style markups
(including everything needed for the hyperref package in latex). An
unscientific check suggests that the resulting PDF files are smaller
than with pdflatex. Substituting "TeX" for "LaTeX" in the above
shouldn't change matters, since the recent improvements are to the
post-DVI part of the processing.
In short, I don't anticipate ever using pdflatex or pdftex again for
my own purposes. Of course, extraneous considerations (such as the
current state of typically installed software) may dictate other
choices for GDB.
Paul Hilfinger
From ac131313@cygnus.com Sun May 28 17:10:00 2000
From: Andrew Cagney <ac131313@cygnus.com>
To: Andrew Gaylard <andrew.gaylard@bsw.co.za>
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: Patch to build gdb-5.0 with readline-4.1
Date: Sun, 28 May 2000 17:10:00 -0000
Message-id: <3931B549.5488B67D@cygnus.com>
References: <39316D76.EAB1DAD8@bsw.co.za>
X-SW-Source: 2000-05/msg00438.html
Content-length: 840
Andrew Gaylard wrote:
>
> Hi,
>
> I noticed that one of the 'TODO' items was
> "Readline 4.? is out. A merge wouldn't hurt."
>
> So I've done exactly that (hopefully no-one else
> has done this already). Note that I have updated
> the ChangeLog files, which may not be the "right
> thing". If so, please accept my apologies, but
> this is the first patch I have ever put together...
> for anyone.
It's pretty good! (Just try to remember to separate out the ChangeLog
entries from the rest of the patch - changelog patches are like a
walking time bomb they sneek in to the ChangeLog file where you least
want it :-)
It might take a little time to integrate though - people need to dust
off their old notes and go backthrough and cross off the random readline
tweeks that were needed. Hi Elena!
How did the testsuite go?
Andrew
From ac131313@cygnus.com Sun May 28 17:26:00 2000
From: Andrew Cagney <ac131313@cygnus.com>
To: Hilfinger@cs.berkeley.edu
Cc: Daniel Berlin <dan@cgsoftware.com>, GDB Patches <gdb-patches@sourceware.cygnus.com>
Subject: Re: [rfa/5] add PDF target to doc directory
Date: Sun, 28 May 2000 17:26:00 -0000
Message-id: <3931B8D5.81F71132@cygnus.com>
References: <200005282348.QAA04035@tully.CS.Berkeley.EDU>
X-SW-Source: 2000-05/msg00439.html
Content-length: 776
Paul Hilfinger wrote:
>
> For some time now, I have been using ordinary LaTeX (2e), plus dvips
> with Type 1 font definitions for the CMR fonts, and plus ps2pdf based
> on recent versions of Ghostscript (currently I have 6.21, although
> anything after 6.0 worked, plus some before whose version numbers I
> don't remember). Together, these do a very nice job. The PDF file
> inserts Type 1 font definitions instead of bit-mapped fonts, things
> look quite nice on the screen, and many Distiller-style markups
> (including everything needed for the hyperref package in latex).
(I'm not sure what ``Distiller-style markups'' means)
Anyway, how does the usability of the generated pdf document compare
with:
http://sourceware.cygnus.com/gdb/5/onlinedocs/gdb.pdf.gz
Andrew
From ac131313@cygnus.com Sun May 28 21:13:00 2000
From: Andrew Cagney <ac131313@cygnus.com>
To: GDB Patches <gdb-patches@sourceware.cygnus.com>
Subject: Re: [rfa/5] add PDF target to doc directory
Date: Sun, 28 May 2000 21:13:00 -0000
Message-id: <3931EE33.D2EFAD6E@cygnus.com>
References: <392F87DB.5E05556B@cygnus.com> <39306263.C6C5480D@cygnus.com>
X-SW-Source: 2000-05/msg00440.html
Content-length: 7439
Andrew Cagney wrote:
> Hmm,
>
> Attatched is a revision that uses PDFTEX. Poking around some more
> turned up PDFTEX and its output is about half the size of ps2pdf!
> Now if only there was a PDF tool that added links (like html/info) and
> put the chapter in the correct place.
>
> Andrew
Attatched is the third attempt. This time it:
o imports texinfo.tex from
makeinfo 4.0
o duplicates the @chapter
o uses pdftex
Ok? I left out the diff to texinfo.tex - it is huge. I guess the
question is, is this (specifically the texinfo.tex update) ok with the
doco maintainers as a change to the 5.0 branch?
Andrew
Index: ChangeLog
Mon May 29 13:50:03 2000 Andrew Cagney <cagney@b1.cygnus.com>
* texinfo/texinfo.tex: Update. Version from makeinfo 4.0.
ndex: gdb/doc/ChangeLog
Fri May 26 15:55:33 2000 Andrew Cagney <cagney@b1.cygnus.com>
* Makefile.in (pdf, gdbint.pdf, gdb.pdf, stabs.pdf): New targets.
Generate using pdftex.
(PDFTEX): Define.
(STAGESTUFF, maintainer-clean realclean): Add *.pdf.
(gdb.texinfo, gdbint.texinfo, stabs.texinfo): When TeX insert the
@contents at the start.
Index: gdb/doc/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/doc/Makefile.in,v
retrieving revision 1.4.2.4
diff -p -r1.4.2.4 Makefile.in
*** Makefile.in 2000/05/24 02:06:34 1.4.2.4
--- Makefile.in 2000/05/29 03:53:10
*************** TEXINDEX = texindex
*** 92,97 ****
--- 92,100 ----
# Program to generate Postscript files from DVI files.
DVIPS = dvips
+ # Program to generate PDF files from tex files.
+ PDFTEX = pdftex
+
# Main GDB manual's source files
SFILES_INCLUDED = gdb-cfg.texi $(srcdir)/annotate.texi
*************** info: gdb.info gdbint.info stabs.info
*** 109,115 ****
dvi: gdb.dvi gdbint.dvi stabs.dvi refcard.dvi
ps: gdb.ps gdbint.ps stabs.ps refcard.ps
html: gdb_toc.html gdbint_toc.html stabs_toc.html
! all-doc: info dvi ps
diststuff: info
install-info: info
--- 112,119 ----
dvi: gdb.dvi gdbint.dvi stabs.dvi refcard.dvi
ps: gdb.ps gdbint.ps stabs.ps refcard.ps
html: gdb_toc.html gdbint_toc.html stabs_toc.html
! pdf: gdb.pdf gdbint.pdf stabs.pdf
! all-doc: info dvi ps # pdf
diststuff: info
install-info: info
*************** install-html: html
*** 130,136 ****
$(INSTALL_DATA) $$i $(htmldir)/$$i ; \
done
! STAGESTUFF = *.info* gdb-all.texi GDBvn.texi *.ps *.dvi
# Copy the object files from a particular stage into a subdirectory.
stage1: force
--- 134,140 ----
$(INSTALL_DATA) $$i $(htmldir)/$$i ; \
done
! STAGESTUFF = *.info* gdb-all.texi GDBvn.texi *.ps *.dvi *.pdf
# Copy the object files from a particular stage into a subdirectory.
stage1: force
*************** distclean: clean
*** 181,187 ****
# "clean" or "distclean". Use maintainer-clean to remove them.
maintainer-clean realclean: distclean
! rm -f GDBvn.texi *.info* *.dvi *.ps *.html
# GDB QUICK REFERENCE (dvi output)
refcard.dvi : refcard.tex $(REFEDITS)
--- 185,191 ----
# "clean" or "distclean". Use maintainer-clean to remove them.
maintainer-clean realclean: distclean
! rm -f GDBvn.texi *.info* *.dvi *.ps *.html *.pdf
# GDB QUICK REFERENCE (dvi output)
refcard.dvi : refcard.tex $(REFEDITS)
*************** gdb.dvi: ${SFILES_DOC}
*** 243,248 ****
--- 247,264 ----
gdb.ps: gdb.dvi
$(DVIPS) -o $@ $?
+ gdb.pdf: ${SFILES_DOC}
+ if [ ! -f ./GDBvn.texi ]; then \
+ (test "$$LN_S" = "ln -s" && ln -s $(srcdir)/GDBvn.texi .) || \
+ ln $(srcdir)/GDBvn.texi . || \
+ cp $(srcdir)/GDBvn.texi . ; else true; fi
+ $(SET_TEXINPUTS) $(PDFTEX) gdb.texinfo
+ $(SET_TEXINPUTS) $(PDFTEX) gdb.texinfo
+ $(TEXINDEX) gdb.??
+ $(SET_TEXINPUTS) $(PDFTEX) gdb.texinfo
+ rm -f gdb.aux gdb.cp* gdb.fn* gdb.ky* gdb.log gdb.pg* gdb.toc \
+ gdb.tp* gdb.vr*
+
# GDB MANUAL: info file
# We're using texinfo 3.12; older makeinfo's may not be able to
# cope with all the markup.
*************** gdbint.dvi : gdbint.texinfo
*** 370,375 ****
--- 386,398 ----
gdbint.ps : gdbint.dvi
$(DVIPS) -o $@ $?
+ gdbint.pdf: gdbint.dvi
+ $(SET_TEXINPUTS) $(PDFTEX) gdbint.texinfo
+ $(TEXINDEX) gdbint.??
+ $(SET_TEXINPUTS) $(PDFTEX) gdbint.texinfo
+ rm -f gdbint.aux gdbint.cp* gdbint.fn* gdbint.ky* \
+ gdbint.log gdbint.pg* gdbint.toc gdbint.tp* gdbint.vr*
+
# GDB INTERNALS MANUAL: info file
gdbint.info: gdbint.texinfo
*************** stabs.dvi : stabs.texinfo
*** 398,403 ****
--- 421,433 ----
stabs.ps: stabs.dvi
$(DVIPS) -o $@ $?
+
+ stabs.pdf: stabs.dvi
+ $(SET_TEXINPUTS) $(PDFTEX) stabs.texinfo
+ $(TEXINDEX) stabs.??
+ $(SET_TEXINPUTS) $(PDFTEX) stabs.texinfo
+ rm -f stabs.aux stabs.cp* stabs.fn* stabs.ky* \
+ stabs.log stabs.pg* stabs.toc stabs.tp* stabs.vr*
force:
Index: gdb/doc/gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.13.2.9
diff -p -r1.13.2.9 gdb.texinfo
*** gdb.texinfo 2000/05/24 16:17:06 1.13.2.9
--- gdb.texinfo 2000/05/29 03:53:58
*************** Copyright (C) 1988-2000 Free Software Fo
*** 206,211 ****
--- 206,216 ----
@end ifhtml
+ @c TeX can handle the contents at the start but makeinfo 3.12 can not
+ @iftex
+ @contents
+ @end iftex
+
@node Summary
@unnumbered Summary of @value{GDBN}
*************** needed for special purposes only.
*** 12863,12867 ****
--- 12868,12879 ----
% Blame: doc@cygnus.com, 1991.
@end tex
+ @c TeX can handle the contents at the start but makeinfo 3.12 can not
+ @ifinfo
+ @contents
+ @end ifinfo
+ @ifhtml
@contents
+ @end ifhtml
+
@bye
Index: gdb/doc/gdbint.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdbint.texinfo,v
retrieving revision 1.5.2.1
diff -p -r1.5.2.1 gdbint.texinfo
*** gdbint.texinfo 2000/04/12 05:16:56 1.5.2.1
--- gdbint.texinfo 2000/05/29 03:54:10
*************** are preserved on all copies.
*** 63,68 ****
--- 63,73 ----
@end titlepage
+ @c TeX can handle the contents at the start but makeinfo 3.12 can not
+ @iftex
+ @contents
+ @end iftex
+
@node Top
@c Perhaps this should be the title of the document (but only for info,
@c not for TeX). Existing GNU manuals seem inconsistent on this point.
*************** pyr-xdep.c
*** 3171,3177 ****
exec.c
@end table
-
@contents
@bye
--- 3176,3188 ----
exec.c
@end table
+ @c TeX can handle the contents at the start but makeinfo 3.12 can not
+ @ifinfo
@contents
+ @end ifinfo
+ @ifhtml
+ @contents
+ @end ifhtml
+
@bye
Index: gdb/doc/stabs.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/stabs.texinfo,v
retrieving revision 1.1.1.3
diff -p -r1.1.1.3 stabs.texinfo
*** stabs.texinfo 1999/06/28 16:02:18 1.1.1.3
--- stabs.texinfo 2000/05/29 03:54:25
*************** This document describes the stabs debugg
*** 86,91 ****
--- 86,95 ----
@end menu
@end ifinfo
+ @c TeX can handle the contents at the start but makeinfo 3.12 can not
+ @iftex
+ @contents
+ @end iftex
@node Overview
@chapter Overview of Stabs
*************** However, no one has yet designed or impl
*** 4015,4019 ****
--- 4019,4030 ----
@printindex fn
+ @c TeX can handle the contents at the start but makeinfo 3.12 can not
+ @ifinfo
@contents
+ @end ifinfo
+ @ifhtml
+ @contents
+ @end ifhtml
+
@bye
From ac131313@cygnus.com Sun May 28 21:24:00 2000
From: Andrew Cagney <ac131313@cygnus.com>
To: BINUTILS Patches <binutils@sourceware.cygnus.com>, GDB Patches <gdb-patches@sourceware.cygnus.com>
Subject: Update config.guess, config.sub, texinfo.tex
Date: Sun, 28 May 2000 21:24:00 -0000
Message-id: <3931F0DF.868A3085@cygnus.com>
X-SW-Source: 2000-05/msg00441.html
Content-length: 136
FYI,
I intend updating these with more recent copies from the official
releases. For texinfo.tex that would be makeinfo-4.0.
Andrew
From eliz@delorie.com Mon May 29 00:20:00 2000
From: Eli Zaretskii <eliz@delorie.com>
To: ac131313@cygnus.com
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: [rfa/5] add PDF target to doc directory
Date: Mon, 29 May 2000 00:20:00 -0000
Message-id: <200005290719.DAA06087@indy.delorie.com>
References: <392F87DB.5E05556B@cygnus.com> <39306263.C6C5480D@cygnus.com> <3931EE33.D2EFAD6E@cygnus.com>
X-SW-Source: 2000-05/msg00442.html
Content-length: 765
> Date: Mon, 29 May 2000 14:12:35 +1000
> From: Andrew Cagney <ac131313@cygnus.com>
>
> Ok? I left out the diff to texinfo.tex - it is huge. I guess the
> question is, is this (specifically the texinfo.tex update) ok with the
> doco maintainers as a change to the 5.0 branch?
From mere inspection, I don't see any problems with adding this to the
branch. The only issue that worries me is whether the new texinfo.tex
will not break older Texinfo installations. However, since the
Makefile uses neither texi2dvi nor makeinfo in the DVI and PDF
targets, I guess that's okay, too.
Perhaps just make sure that the Info files still build with makeinfo
3.9 and stock 3.12 (I'm thinking about the @if... directives you
added), just to be on the safe side ;-)
Stan?
From eliz@delorie.com Mon May 29 00:38:00 2000
From: Eli Zaretskii <eliz@delorie.com>
To: andrew.gaylard@bsw.co.za
Cc: gdb-patches@sourceware.cygnus.com, "Mark E." <snowball3@bigfoot.com>
Subject: Re: Patch to build gdb-5.0 with readline-4.1
Date: Mon, 29 May 2000 00:38:00 -0000
Message-id: <200005290738.DAA06104@indy.delorie.com>
References: <39316D76.EAB1DAD8@bsw.co.za>
X-SW-Source: 2000-05/msg00443.html
Content-length: 793
> Date: Sun, 28 May 2000 21:03:18 +0200
> From: Andrew Gaylard <andrew.gaylard@bsw.co.za>
>
> /* readline include files */
> +/* This is needed to prevent readline-4.1 (re-)defining it. */
> +#define savestring
> #include <readline/readline.h>
> #include <readline/history.h>
>
> #include <signal.h>
>
> -/* readline defines this. */
> +/* readline needed this. */
> #undef savestring
What's the story behind this savestring gork? Is it possible to take
care of the problem in a cleaner way?
> rl_completer_quote_characters = gdb_completer_quote_characters;
> rl_readline_name = "gdb";
> + rl_terminal_name=getenv("TERM");
What does readline do with rl_terminal_name? What if getenv returns a
NULL pointer? (Non-Unix ports of GDB are likely to have $TERM
undefined.)
From andrew.gaylard@za.didata.com Mon May 29 01:00:00 2000
From: Andrew Gaylard <andrew.gaylard@za.didata.com>
To: Eli Zaretskii <eliz@is.elta.co.il>
Cc: andrew.gaylard@bsw.co.za, gdb-patches@sourceware.cygnus.com, "Mark E." <snowball3@bigfoot.com>
Subject: Re: Patch to build gdb-5.0 with readline-4.1
Date: Mon, 29 May 2000 01:00:00 -0000
Message-id: <3932236B.60A9BF69@za.didata.com>
References: <39316D76.EAB1DAD8@bsw.co.za> <200005290738.DAA06104@indy.delorie.com>
X-SW-Source: 2000-05/msg00444.html
Content-length: 2465
Eli Zaretskii wrote:
>
> > Date: Sun, 28 May 2000 21:03:18 +0200
> > From: Andrew Gaylard <andrew.gaylard@bsw.co.za>
> >
> > /* readline include files */
> > +/* This is needed to prevent readline-4.1 (re-)defining it. */
> > +#define savestring
> > #include <readline/readline.h>
> > #include <readline/history.h>
> >
> > #include <signal.h>
> >
> > -/* readline defines this. */
> > +/* readline needed this. */
> > #undef savestring
>
> What's the story behind this savestring gork? Is it possible to take
> care of the problem in a cleaner way?
From what I can see, readline used to use this, but doesn't any more.
But its headers keep it around, presumably for backward-compatibility:
from readline.h:
#if !defined (savestring)
extern char *savestring __P((char *)); /* XXX backwards compatibility */
#endif
and from histlib.h:
#ifndef savestring
# ifndef strcpy
extern char *strcpy ();
# endif
#define savestring(x) strcpy (xmalloc (1 + strlen (x)), (x))
#endif
and from rldefs.h:
#ifndef savestring
extern char *xmalloc ();
#define savestring(x) strcpy (xmalloc (1 + strlen (x)), (x))
#endif
This definition clashes with the one in gdb/defs.h:
extern char *savestring (const char *, int);
So it seemed simpler to me to simply #define savestring
before #include <readline/...> and #undef savestring
afterwards. But there's probably a better way. Hopefully
when readline-4.2 appears, this sort of stuff won't be
necessary any longer.
> > rl_completer_quote_characters = gdb_completer_quote_characters;
> > rl_readline_name = "gdb";
> > + rl_terminal_name=getenv("TERM");
>
> What does readline do with rl_terminal_name? What if getenv returns a
> NULL pointer? (Non-Unix ports of GDB are likely to have $TERM
> undefined.)
Realine uses the terminal name to parse ~/.inputrc (or $INPUTRC).
I use it to do terminal-specific things like this (from my .inputrc):
$if TERM=xterm
# Home, End, Ctrl-backspace, Ctrl-Delete, Ctrl-left, Ctrl-Right
"\e[1~": beginning-of-line
"\e[2~": yank
"\e[4~": end-of-line
"\e[H": beginning-of-line
"\e[F": end-of-line
"\eOw": beginning-of-line
"\eOq": end-of-line
"\C-?": delete-char
"\C-w": backward-kill-word
"\e[KC4~": backward-word
"\e[KC6~": forward-word
$endif
I've tested the line I added to gdb with:
+ TERM=xterm
+ TERM= (that is "export TERM=")
+ TERM not set (that is, "unset TERM")
None of these gave any problems.
--
Andrew Gaylard
andrewg @ bsw . co . za
From muller@cerbere.u-strasbg.fr Mon May 29 04:36:00 2000
From: muller@cerbere.u-strasbg.fr
To: shebs@apple.com
Cc: gdb-patches@sourceware.cygnus.com
Subject: Re: [PATCH]: Pascal language support : New files
Date: Mon, 29 May 2000 04:36:00 -0000
Message-id: <3.0.6.32.20000529134024.00b64c00@ics.u-strasbg.fr>
References: <200005251202.OAA11296@cerbere.u-strasbg.fr> <392F11F4.BF4F04A0@apple.com>
X-SW-Source: 2000-05/msg00445.html
Content-length: 8166
At 17:08 26/05/00 -0700, Stan Shebs wrote:
>Pierre Muller wrote:
>>
>> This is a new application of my patch for adding Pascal Language
support to
>> GDB.
>
>Overall, it looks pretty good to me, just need to remove the code
>that is really specific to C/C++, so we don't have to maintain
>lots of dead code forever.
>
>> --- /dev/null
>> +++ p-exp.y
>
>>
>> /* C++. */
>> exp : THIS
>> { write_exp_elt_opcode (OP_THIS);
>> write_exp_elt_opcode (OP_THIS); }
>> ;
>>
>> /* end of C++. */
>
>Do you want this? In any case, the C++ comment would be confusing.
Yes, I do want it because THIS is generated by self
which is the equivalent of this in Object Pascal,
but I agree I should change C++ into Object Pascal here !
>> /* C++: it hangs off of `this'. Must
>> not inadvertently convert from a method
call
>> to data ref. */
>
>Similarly.
>
>> /* We used to try to recognize more pointer to member types here, but
>> that didn't work (shift/reduce conflicts meant that these rules never
>> got executed). The problem is that
>> int (foo::bar::baz::bizzle)
>> is a function type but
>> int (foo::bar::baz::bizzle::*)
>> is a pointer to member type. Stroustrup loses again! */
>
>And here (although Pascal advocates might appreciate the Stroustrup
criticism anyway :-) ).
The reason why I didn't want to remove such code
is that I am not familiar with the GPC Object Pascal
standpoint, maybe it could be usefull for GPC !
I already tried several times to get GPC people
to test my Pascal extensions for GDB but I never got any feedback :(
>> typebase /* Implements (approximately): (type-qualifier)*
type-specifier */
>> : TYPENAME
>> { $$ = $1.type; }
>> | STRUCT name
>> { $$ = lookup_struct (copy_name ($2),
>> expression_context_block); }
>> | CLASS name
>> { $$ = lookup_struct (copy_name ($2),
>> expression_context_block); }
>> /* "const" and "volatile" are curently ignored. A type qualifier
>> after the type is handled in the ptype rule. I think these
could
>> be too. */
>> ;
>
>Probably should whack the class part of the rule?
I honestly don't even understand what this means but
as I said this is just a adaptation of c-exp.y
so I left all code that I did not know what to do with it !
>> --- /dev/null
>> +++ p-lang.c
>
>> extern void _initialize_pas_language PARAMS ((void));
Whoops seems like I forgot to remove one PARAMS :(
>Personally, I think it would be better to either use just "p", or
>else spell out "pascal" for clarity. "pas" seems wishy-washy, neither
>aggressively brief like "p" nor totally accurate like "pascal".
>
>But it's not that important.
I am willing to change all into _pascal_ if others also think like you!
>> /* If the string was not truncated due to `set print elements', and
>> the last byte of it is a null, we don't print that, in traditional C
>> style. */
>> if ((!force_ellipses) && length > 0 && string[length - 1] == '\0')
>> length--;
>
>Is that desirable for Pascal?
It depend if it is pascal string or pchar !
For pascal strings a terminal zero should be printed
but not for a pchar.
I tested this and indeed a terminal zero is not printed,
but as the same code is also used for pchar, it will require a
more complicated fix.
>> /* C++ apparently removed from GDB since 4.18
>> {"::", BINOP_SCOPE, PREC_PREFIX, 0}, */
>
>Remove this, can only confuse.
OK !
>> --- /dev/null
>> +++ p-typeprint.c
>
>>
>> /* If TYPE is a derived type, then print out derivation information.
>> Print only the actual base classes of this type, not the base classes
>> of the base classes. I.E. for the derivation hierarchy:
>>
>> class A { int a; };
>> class B : public A {int b; };
>> class C : public B {int c; };
>>
>> Print the type of class C as:
>>
>> class C : public B {
>> int c;
>> }
>>
>> Not as the following (like gdb used to), which is not legal C++
syntax for
>> derived types and may be confused with the multiple inheritance form:
>>
>> class C : public B : public A {
>> int c;
>> }
>>
>> In general, gdb should try to print the types as closely as possible to
>> the form that they appear in the source code. */
>
>This comment is completely misleading, and presumably the code following
>is not needed. It's important to remove now, otherwise later maintainers
>might think it's necessary to keep it.
You are again right!
>> static void
>> pcpas_type_print_derivation_info (stream, type)
>> [...]
>
>> --- /dev/null
>> +++ p-valprint.c
>
>> /* If this is a virtual function table, print the 0th
>> entry specially, and the rest of the members normally. */
>> if (pas_cp_is_vtbl_ptr_type (elttype))
>> {
>> i = 1;
>> fprintf_filtered (stream, "%d vtable entries", len - 1);
>> }
>> else
>> {
>> i = 0;
>> }
>
>No vtables in Pascal, right?
Each Object or Class as a virtual_method_table !
The problem is that the format is quite different :(
VMT_of_the_given_class:
offset 0 : sizeof(class)
offset 4(for 32 bit machine) : -sizeof(class)
/* these two entries are used to test if a class has been
constructed i.e. that the invisible VMT pointer is set correctly
Remember that global classes are not initialized automatically in Pascal
in contrast to C++ */
offset 8 : pointer to VMT_of_parent_class
offset 12 : array of pointers to virtual methods !
Here again I don't know if GNU pascal follows the same rule,
the current way Object Pascal is handled is a big hack to
confuse GDB to handle it like a C++ vtable !
>> if (vtblprint && pas_cp_is_vtbl_ptr_type (type))
>> {
>> /* Print the unmangled name if desired. */
>> /* Print vtable entry - we only get here if we ARE using
>> -fvtable_thunks. (Otherwise, look under TYPE_CODE_STRUCT.) */
>> print_address_demangle (extract_address (valaddr +
embedded_offset, TYPE_LENGTH (type)),
>> stream, demangle);
>> break;
>> }
>> elttype = check_typedef (TYPE_TARGET_TYPE (type));
>> if (TYPE_CODE (elttype) == TYPE_CODE_METHOD)
>> {
>> pas_cp_print_class_method (valaddr + embedded_offset, type,
stream);
>> }
>> else if (TYPE_CODE (elttype) == TYPE_CODE_MEMBER)
>> {
>> pas_cp_print_class_member (valaddr + embedded_offset,
>> TYPE_DOMAIN_TYPE (TYPE_TARGET_TYPE
(type)),
>> stream, "&");
>> }
>
>Ditto. There are lots more chunks in the following code. Again,
>please remove all unnecessary code.
It is used as already said above !
>> void
>> _initialize_pas_valprint ()
>> {
>> add_show_from_set
>> (add_set_cmd ("pas_static-members", class_support, var_boolean,
>> (char *) &pas_static_field_print,
>> "Set printing of pascal static members.",
>> &setprintlist),
>> &showprintlist);
>> /* Turn on printing of static fields. */
>> pas_static_field_print = 1;
>>
>> }
>
>What's a "pascal static member"? Presumably this is a leftover from
>the C++ value printing code, so this variable and code should go away too.
The problem is that this concept exists indeed in Pascal
(at least Borland Pascal 7, Delphi and Free Pascal)
Static methods (called class methods for objects)
are methods that depend only on the type of the object(or class)
not on any particular instance.
I hope this gives you a better insight of the current standpoint of pascal
support in GDB !
prev parent reply other threads:[~2000-05-28 8:56 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-05-27 20:30 Kevin Buettner
2000-05-28 8:56 ` Michael Snyder [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=395A1F4D.2055@cygnus.com \
--to=msnyder@cygnus.com \
--cc=gdb-patches@sourceware.cygnus.com \
--cc=kevinb@cygnus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox