gdb/
Fix compatibility with texinfo versions older than 4.12. * Makefile.in (MAKEINFO): Set to @MAKEINFO@. (MAKEINFOFLAGS, MAKEINFO_EXTRA_FLAGS, MAKEINFO_CMD): New. (MAKEHTMLFLAGS): Use MAKEINFO_CMD. (FLAGS_TO_PASS): Add MAKEINFOFLAGS and MAKEINFO_EXTRA_FLAGS. * configure: Regenerate. * configure.ac (MAKEINFO): Find it, from libiberty/configure.ac. (MAKEINFOFLAGS): Pre-set it to --split-size=5000000. (MAKEINFO_EXTRA_FLAGS): New test for -DHAVE_MAKEINFO_CLICK. gdb/doc/ Fix compatibility with texinfo versions older than 4.12. * Makefile.in (MAKEINFO): Set to @MAKEINFO@. (MAKEINFOFLAGS, MAKEINFO_EXTRA_FLAGS, MAKEINFO_CMD): New. (MAKEHTMLFLAGS): Use MAKEINFO_CMD. (gdb.info, gdbint.info, stabs.info, annotate.info): Use MAKEINFO_CMD. * gdb.texinfo (Tail Call Frames): Convert @arrow{} to @click, when possible. Make the conversion conditional on HAVE_MAKEINFO_CLICK, using variables CALLSEQ1A, CALLSEQ1B, CALLSEQ2A and CALLSEQ2B.
This commit is contained in:
parent
0574c78f39
commit
5048e51677
@ -1,3 +1,15 @@
|
||||
2011-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix compatibility with texinfo versions older than 4.12.
|
||||
* Makefile.in (MAKEINFO): Set to @MAKEINFO@.
|
||||
(MAKEINFOFLAGS, MAKEINFO_EXTRA_FLAGS, MAKEINFO_CMD): New.
|
||||
(MAKEHTMLFLAGS): Use MAKEINFO_CMD.
|
||||
(FLAGS_TO_PASS): Add MAKEINFOFLAGS and MAKEINFO_EXTRA_FLAGS.
|
||||
* configure: Regenerate.
|
||||
* configure.ac (MAKEINFO): Find it, from libiberty/configure.ac.
|
||||
(MAKEINFOFLAGS): Pre-set it to --split-size=5000000.
|
||||
(MAKEINFO_EXTRA_FLAGS): New test for -DHAVE_MAKEINFO_CLICK.
|
||||
|
||||
2011-10-12 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* breakpoint.h (pc_at_non_inline_function): Declare.
|
||||
|
@ -109,9 +109,12 @@ FLEX = flex
|
||||
YLWRAP = $(srcdir)/../ylwrap
|
||||
|
||||
# where to find makeinfo, preferably one designed for texinfo-2
|
||||
MAKEINFO=makeinfo
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEINFOFLAGS = @MAKEINFOFLAGS@
|
||||
MAKEINFO_EXTRA_FLAGS = @MAKEINFO_EXTRA_FLAGS@
|
||||
MAKEINFO_CMD = $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
|
||||
|
||||
MAKEHTML = $(MAKEINFO) --html
|
||||
MAKEHTML = $(MAKEINFO_CMD) --html
|
||||
MAKEHTMLFLAGS =
|
||||
|
||||
# Set this up with gcc if you have gnu ld and the loader will print out
|
||||
@ -614,6 +617,8 @@ FLAGS_TO_PASS = \
|
||||
"LDFLAGS=$(LDFLAGS)" \
|
||||
"RANLIB=$(RANLIB)" \
|
||||
"MAKEINFO=$(MAKEINFO)" \
|
||||
"MAKEINFOFLAGS=$(MAKEINFOFLAGS)" \
|
||||
"MAKEINFO_EXTRA_FLAGS=$(MAKEINFO_EXTRA_FLAGS)" \
|
||||
"MAKEHTML=$(MAKEHTML)" \
|
||||
"MAKEHTMLFLAGS=$(MAKEHTMLFLAGS)" \
|
||||
"INSTALL=$(INSTALL)" \
|
||||
|
79
gdb/configure
vendored
79
gdb/configure
vendored
@ -700,7 +700,6 @@ MKDIR_P
|
||||
INSTALL_STRIP_PROGRAM
|
||||
STRIP
|
||||
install_sh
|
||||
MAKEINFO
|
||||
AUTOHEADER
|
||||
AUTOMAKE
|
||||
AUTOCONF
|
||||
@ -711,6 +710,9 @@ am__isrc
|
||||
INSTALL_DATA
|
||||
INSTALL_SCRIPT
|
||||
INSTALL_PROGRAM
|
||||
MAKEINFO_EXTRA_FLAGS
|
||||
MAKEINFOFLAGS
|
||||
MAKEINFO
|
||||
PACKAGE
|
||||
GNULIB_STDINT_H
|
||||
LIBGNU_LTLIBDEPS
|
||||
@ -7151,6 +7153,81 @@ _ACEOF
|
||||
|
||||
|
||||
|
||||
# Do we have a single-tree copy of texinfo? Even if we do, we can't
|
||||
# rely on it - libiberty is built before texinfo.
|
||||
# Extract the first word of "makeinfo", so it can be a program name with args.
|
||||
set dummy makeinfo; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if test "${ac_cv_prog_MAKEINFO+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
if test -n "$MAKEINFO"; then
|
||||
ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
|
||||
ac_cv_prog_MAKEINFO="makeinfo"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
fi
|
||||
MAKEINFO=$ac_cv_prog_MAKEINFO
|
||||
if test -n "$MAKEINFO"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKEINFO" >&5
|
||||
$as_echo "$MAKEINFO" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
if test "x$MAKEINFO" = "x"; then
|
||||
as_fn_error "makeinfo is required for compilation" "$LINENO" 5
|
||||
else
|
||||
case "$MAKEINFO" in
|
||||
*/missing\ makeinfo*)
|
||||
as_fn_error "makeinfo is required for compilation" "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
# --split-size=5000000 may be already in $MAKEINFO from parent configure.
|
||||
# Re-running configure in gdb/ would lose it so ensure it stays present.
|
||||
MAKEINFOFLAGS=${MAKEINFOFLAGS---split-size=5000000}
|
||||
|
||||
|
||||
MAKEINFO_EXTRA_FLAGS=""
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $MAKEINFO supports @click" >&5
|
||||
$as_echo_n "checking whether $MAKEINFO supports @click... " >&6; }
|
||||
if test "${gdb_cv_have_makeinfo_click+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
echo '@clicksequence{a @click{} b}' >conftest.texinfo
|
||||
if eval "$MAKEINFO conftest.texinfo >&5 2>&5"; then
|
||||
gdb_cv_have_makeinfo_click=yes
|
||||
else
|
||||
gdb_cv_have_makeinfo_click=no
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_have_makeinfo_click" >&5
|
||||
$as_echo "$gdb_cv_have_makeinfo_click" >&6; }
|
||||
if test x"$gdb_cv_have_makeinfo_click" = xyes; then
|
||||
MAKEINFO_EXTRA_FLAGS="$MAKEINFO_EXTRA_FLAGS -DHAVE_MAKEINFO_CLICK"
|
||||
fi
|
||||
|
||||
|
||||
# GDB does not use automake, but gnulib does. This line lets us
|
||||
# generate its Makefile.in.
|
||||
am__api_version='1.11'
|
||||
|
@ -87,6 +87,38 @@ PACKAGE=gdb
|
||||
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of this package. ])
|
||||
AC_SUBST(PACKAGE)
|
||||
|
||||
# Do we have a single-tree copy of texinfo? Even if we do, we can't
|
||||
# rely on it - libiberty is built before texinfo.
|
||||
AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
|
||||
if test "x$MAKEINFO" = "x"; then
|
||||
AC_ERROR([makeinfo is required for compilation])
|
||||
else
|
||||
case "$MAKEINFO" in
|
||||
*/missing\ makeinfo*)
|
||||
AC_ERROR([makeinfo is required for compilation])
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
AC_SUBST(MAKEINFO)
|
||||
|
||||
# --split-size=5000000 may be already in $MAKEINFO from parent configure.
|
||||
# Re-running configure in gdb/ would lose it so ensure it stays present.
|
||||
MAKEINFOFLAGS=${MAKEINFOFLAGS---split-size=5000000}
|
||||
AC_SUBST(MAKEINFOFLAGS)
|
||||
|
||||
MAKEINFO_EXTRA_FLAGS=""
|
||||
AC_CACHE_CHECK([whether $MAKEINFO supports @click], gdb_cv_have_makeinfo_click,
|
||||
[echo '@clicksequence{a @click{} b}' >conftest.texinfo
|
||||
if eval "$MAKEINFO conftest.texinfo >&5 2>&5"; then
|
||||
gdb_cv_have_makeinfo_click=yes
|
||||
else
|
||||
gdb_cv_have_makeinfo_click=no
|
||||
fi])
|
||||
if test x"$gdb_cv_have_makeinfo_click" = xyes; then
|
||||
MAKEINFO_EXTRA_FLAGS="$MAKEINFO_EXTRA_FLAGS -DHAVE_MAKEINFO_CLICK"
|
||||
fi
|
||||
AC_SUBST(MAKEINFO_EXTRA_FLAGS)
|
||||
|
||||
# GDB does not use automake, but gnulib does. This line lets us
|
||||
# generate its Makefile.in.
|
||||
AM_INIT_AUTOMAKE(gdb, UNUSED-VERSION, [no-define])
|
||||
|
@ -1,3 +1,14 @@
|
||||
2011-10-12 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix compatibility with texinfo versions older than 4.12.
|
||||
* Makefile.in (MAKEINFO): Set to @MAKEINFO@.
|
||||
(MAKEINFOFLAGS, MAKEINFO_EXTRA_FLAGS, MAKEINFO_CMD): New.
|
||||
(MAKEHTMLFLAGS): Use MAKEINFO_CMD.
|
||||
(gdb.info, gdbint.info, stabs.info, annotate.info): Use MAKEINFO_CMD.
|
||||
* gdb.texinfo (Tail Call Frames): Convert @arrow{} to @click, when possible.
|
||||
Make the conversion conditional on HAVE_MAKEINFO_CLICK, using variables
|
||||
CALLSEQ1A, CALLSEQ1B, CALLSEQ2A and CALLSEQ2B.
|
||||
|
||||
2011-10-09 Doug Evans <dje@google.com>
|
||||
|
||||
* gdb.texinfo (Extending GDB): Document alias command.
|
||||
|
@ -45,9 +45,12 @@ gdbdir = $(srcdir)/..
|
||||
TEXIDIR=${gdbdir}/../texinfo
|
||||
|
||||
# where to find makeinfo, preferably one designed for texinfo-2
|
||||
MAKEINFO=makeinfo
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEINFOFLAGS = @MAKEINFOFLAGS@
|
||||
MAKEINFO_EXTRA_FLAGS = @MAKEINFO_EXTRA_FLAGS@
|
||||
MAKEINFO_CMD = $(MAKEINFO) $(MAKEINFOFLAGS) $(MAKEINFO_EXTRA_FLAGS)
|
||||
|
||||
MAKEHTML = $(MAKEINFO) --html
|
||||
MAKEHTML = $(MAKEINFO_CMD) --html
|
||||
MAKEHTMLFLAGS =
|
||||
|
||||
# where to find texi2roff, ditto
|
||||
@ -365,7 +368,7 @@ gdb.pdf: ${GDB_DOC_FILES}
|
||||
|
||||
# GDB MANUAL: info file
|
||||
gdb.info: ${GDB_DOC_FILES}
|
||||
$(MAKEINFO) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
|
||||
$(MAKEINFO_CMD) $(READLINE_TEXI_INCFLAG) -I ${GDBMI_DIR} -I $(srcdir) \
|
||||
-o gdb.info $(srcdir)/gdb.texinfo
|
||||
|
||||
# GDB MANUAL: roff translations
|
||||
@ -464,7 +467,7 @@ gdbint.pdf: $(GDBINT_DOC_FILES)
|
||||
# GDB INTERNALS MANUAL: info file
|
||||
|
||||
gdbint.info: $(GDBINT_DOC_FILES)
|
||||
$(MAKEINFO) -I $(srcdir) -o gdbint.info $(srcdir)/gdbint.texinfo
|
||||
$(MAKEINFO_CMD) -I $(srcdir) -o gdbint.info $(srcdir)/gdbint.texinfo
|
||||
|
||||
# GDB INTERNALS MANUAL: HTML file
|
||||
|
||||
@ -472,7 +475,7 @@ gdbint/index.html: $(GDBINT_DOC_FILES)
|
||||
$(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/gdbint.texinfo
|
||||
|
||||
stabs.info: $(STABS_DOC_FILES)
|
||||
$(MAKEINFO) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
|
||||
$(MAKEINFO_CMD) -I $(srcdir) -o stabs.info $(srcdir)/stabs.texinfo
|
||||
|
||||
# STABS DOCUMENTATION: HTML file
|
||||
|
||||
@ -516,7 +519,7 @@ annotate.pdf: $(ANNOTATE_DOC_FILES)
|
||||
$(TEXI2DVI) --pdf -I $(srcdir) $(srcdir)/annotate.texinfo
|
||||
|
||||
annotate.info: $(ANNOTATE_DOC_FILES)
|
||||
$(MAKEINFO) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
|
||||
$(MAKEINFO_CMD) -I $(srcdir) -o annotate.info $(srcdir)/annotate.texinfo
|
||||
|
||||
annotate/index.html: $(ANNOTATE_DOC_FILES)
|
||||
$(MAKEHTML) $(MAKEHTMLFLAGS) -I $(srcdir) $(srcdir)/annotate.texinfo
|
||||
|
@ -9789,11 +9789,24 @@ tailcall: reduced: 0x4004d2(a) |
|
||||
#2 0x0000000000400395 in main () at t.c:9
|
||||
@end smallexample
|
||||
|
||||
Frames #0 and #2 are real, #1 is a virtual tail call frame. The code can have
|
||||
possible execution paths
|
||||
@code{main@arrow{}a@arrow{}b@arrow{}c@arrow{}d@arrow{}f} or
|
||||
@code{main@arrow{}a@arrow{}b@arrow{}e@arrow{}f}, @value{GDBN} cannot find which
|
||||
one from the inferior state.
|
||||
@set CALLSEQ1A @code{main@value{ARROW}a@value{ARROW}b@value{ARROW}c@value{ARROW}d@value{ARROW}f}
|
||||
@set CALLSEQ2A @code{main@value{ARROW}a@value{ARROW}b@value{ARROW}e@value{ARROW}f}
|
||||
|
||||
@c Convert CALLSEQ#A to CALLSEQ#B depending on HAVE_MAKEINFO_CLICK.
|
||||
@ifset HAVE_MAKEINFO_CLICK
|
||||
@set ARROW @click{}
|
||||
@set CALLSEQ1B @clicksequence{@value{CALLSEQ1A}}
|
||||
@set CALLSEQ2B @clicksequence{@value{CALLSEQ2A}}
|
||||
@end ifset
|
||||
@ifclear HAVE_MAKEINFO_CLICK
|
||||
@set ARROW ->
|
||||
@set CALLSEQ1B @value{CALLSEQ1A}
|
||||
@set CALLSEQ2B @value{CALLSEQ2A}
|
||||
@end ifclear
|
||||
|
||||
Frames #0 and #2 are real, #1 is a virtual tail call frame.
|
||||
The code can have possible execution paths @value{CALLSEQ1B} or
|
||||
@value{CALLSEQ2B}, @value{GDBN} cannot find which one from the inferior state.
|
||||
|
||||
@code{initial:} state shows some random possible calling sequence @value{GDBN}
|
||||
has found. It then finds another possible calling sequcen - that one is
|
||||
|
Loading…
x
Reference in New Issue
Block a user