From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17454 invoked by alias); 10 Oct 2011 18:47:59 -0000 Received: (qmail 17442 invoked by uid 22791); 10 Oct 2011 18:47:58 -0000 X-SWARE-Spam-Status: No, hits=-6.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS,TW_DB,TW_QU X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 10 Oct 2011 18:47:37 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p9AIlURg006704 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 10 Oct 2011 14:47:30 -0400 Received: from host1.jankratochvil.net (ovpn-116-16.ams2.redhat.com [10.36.116.16]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p9AIlS8D008389 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 10 Oct 2011 14:47:30 -0400 Received: from host1.jankratochvil.net (localhost [127.0.0.1]) by host1.jankratochvil.net (8.14.4/8.14.4) with ESMTP id p9AIlRZ9014778; Mon, 10 Oct 2011 20:47:27 +0200 Received: (from jkratoch@localhost) by host1.jankratochvil.net (8.14.4/8.14.4/Submit) id p9AIlQ8Q014773; Mon, 10 Oct 2011 20:47:26 +0200 Date: Mon, 10 Oct 2011 18:47:00 -0000 From: Jan Kratochvil To: Pedro Alves Cc: gdb-patches@sourceware.org, Ulrich Weigand , eliz@gnu.org Subject: Re: [patch] New test+use texinfo @click - @HAVE_MAKEINFO_CLICK@ [Re: doc build failure (Re: [patch 04/12] entryval#3: Virtual tail call frames)] Message-ID: <20111010184726.GA14706@host1.jankratochvil.net> References: <201110101615.39047.pedro@codesourcery.com> <20111010153049.GA11463@host1.jankratochvil.net> <201110101651.00816.pedro@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201110101651.00816.pedro@codesourcery.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-10/txt/msg00282.txt.bz2 On Mon, 10 Oct 2011 17:51:00 +0200, Pedro Alves wrote: > The "doesn't justify the extra maintenance burden" is always a valid > excuse. But if you and Eli think it justifies it, go for it. Attached. In info document it looks the same, in PDF it looks very similar. Thanks, Jan gdb/ 2011-10-10 Jan Kratochvil Fix compatibility with texinfo versions older than 4.12. * configure: Regenerate. * configure.ac (HAVE_MAKEINFO_CLICK): New test for AC_SUBST. gdb/doc/ 2011-10-10 Jan Kratochvil Fix compatibility with texinfo versions older than 4.12. * Makefile.in (MAKEINFO): Add @HAVE_MAKEINFO_CLICK@. * 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. --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -2179,6 +2179,20 @@ dnl At the moment, we just assume it's UTF-8. AC_DEFINE(GDB_DEFAULT_HOST_CHARSET, "UTF-8", [Define to be a string naming the default host character set.]) +AC_CACHE_CHECK([whether makeinfo supports @click], gdb_cv_have_makeinfo_click, + [echo '@clicksequence{a @click{} b}' >conftest.texinfo + if 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 + HAVE_MAKEINFO_CLICK="-DHAVE_MAKEINFO_CLICK" +else + HAVE_MAKEINFO_CLICK="" +fi +AC_SUBST(HAVE_MAKEINFO_CLICK) + AC_OUTPUT(Makefile .gdbinit:gdbinit.in doc/Makefile gnulib/Makefile data-directory/Makefile, [ case x$CONFIG_HEADERS in --- a/gdb/doc/Makefile.in +++ b/gdb/doc/Makefile.in @@ -45,7 +45,7 @@ gdbdir = $(srcdir)/.. TEXIDIR=${gdbdir}/../texinfo # where to find makeinfo, preferably one designed for texinfo-2 -MAKEINFO=makeinfo +MAKEINFO=makeinfo @HAVE_MAKEINFO_CLICK@ MAKEHTML = $(MAKEINFO) --html MAKEHTMLFLAGS = --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.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