From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 122660 invoked by alias); 24 Feb 2017 15:06:43 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 122602 invoked by uid 89); 24 Feb 2017 15:06:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=H*f:sk:98f0a8a, H*MI:sk:98f0a8a, H*i:sk:98f0a8a X-Spam-User: qpsmtpd, 2 recipients X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 24 Feb 2017 15:06:40 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 3E34CC054C5D; Fri, 24 Feb 2017 15:06:40 +0000 (UTC) Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1OF6Z9x001572; Fri, 24 Feb 2017 10:06:35 -0500 Subject: Re: [PATCH, v17] Add support for setting disassembler-options in GDB for POWER, ARM and S390 To: Peter Bergner References: <3b6b8153-cfff-8fb3-2cc0-2612f3d2d710@redhat.com> <98f0a8a0-ed6d-10b6-08be-2dd86cc7af44@vnet.ibm.com> Cc: gdb-patches@sourceware.org, Yao Qi , Alan Modra , Ulrich Weigand , binutils From: Pedro Alves Message-ID: <46d6c25a-3d33-8e2a-043a-b46ae004d8b3@redhat.com> Date: Fri, 24 Feb 2017 15:06:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <98f0a8a0-ed6d-10b6-08be-2dd86cc7af44@vnet.ibm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-02/txt/msg00331.txt.bz2 On 02/24/2017 04:58 AM, Peter Bergner wrote: >>> >> + for (i = 0, col = 0; valid_options->name[i] != NULL; i++) >>> >> + { >>> >> + /* Include the " " and "," we print below. */ >>> >> + size_t len = strlen (valid_options->name[i]) + 2; >>> >> + if (col + len > 80) >> > >> > Is this 80 here supposed to be the screen width? Do we >> > really need this manual wrapping? > The only architecture that uses this is the ppc arch and this mimics > what print_ppc_disassembler_options() does. We have ~60 options that > we're emitting, so I think wrapping does make things more readable. I see. Well that uses 66 instead of 80, which is equally arbitrary.... The thing is that while print_ppc_disassembler_options is using plain fprintf, the code in question in gdb is using fprintf_filtered which knows the screen width, and wraps automatically when the line is overflown, and knows to do that only when printing to the screen (and not when the command is used in scripts where there's really no screen width). What you may want to do is call wrap_here between printing each option, so that gdb automatically knows to break the line between options if necessary, instead of in the middle of some option. Thanks, Pedro Alves