From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x435.google.com (mail-pf1-x435.google.com [IPv6:2607:f8b0:4864:20::435]) by sourceware.org (Postfix) with ESMTPS id E1E413856DDD for ; Tue, 14 Jun 2022 13:59:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E1E413856DDD Received: by mail-pf1-x435.google.com with SMTP id u2so8656512pfc.2 for ; Tue, 14 Jun 2022 06:59:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZWO2wwwQRlTHKHBK+U8T2YqYvUcPGoh6/3SJscKTM/w=; b=fXJAuOUIwmvG2ztp5CYwZUHx1v5CPP9/FiHk30XWMEBcG1teYPJIPwk6h8fxGys3DN 5EF0mVDB3/Oyvdkoti1nl7VP6QotDsgt2ucyMzv+YrOR/aXbTZvrDIajoJWy4sDx7uXl OFw6EYV9Q/2hdDomoCPRaud4OQYz4xN82toKRVBVA2cfQV/eEB8UcfFPGy0/O+GiM3Jx uKa3Unj5+g5nW+eb+3ysPegDiifdUDuTxsFSv18TgagCIlwJOjxs3zUSjQxkx0Bia2cS I5sC6hvfOw8kUoOlaWQpPP/TcYjp+cjjm30jr0HfJdjcs3+jrpaB+cBjFAnumOJn9e4+ y8Ag== X-Gm-Message-State: AOAM533UqsUFBuAESWjdtpzkr81qtkgngO93cZoiJGO3dVYBYds880wA 2W9Cdzz6/b53fShwHx+KgAV6wqj+A36Ps+AAYpNeItzr X-Google-Smtp-Source: ABdhPJzNNr1+5xkToWd0/Qt9qK8SR4VvcG2ZqjmG/y3L7tn8YHVHiW8Noaqo5Nz5OorEIezWXY+qOXG5P8dZIUMEC1M= X-Received: by 2002:a63:5522:0:b0:405:1ff7:33dd with SMTP id j34-20020a635522000000b004051ff733ddmr4771058pgb.86.1655215189813; Tue, 14 Jun 2022 06:59:49 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "H.J. Lu" Date: Tue, 14 Jun 2022 06:59:14 -0700 Message-ID: Subject: Re: [PATCH] x86: drop print_operand_value()'s "hex" parameter To: Jan Beulich Cc: Binutils Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3019.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jun 2022 13:59:53 -0000 On Tue, Jun 14, 2022 at 3:07 AM Jan Beulich wrote: > > For quite some time all callers have been passing 1 / true. While there > fold the final oappend_with_style() calls. > --- > Instead of 0x%x I could see us using %#x, thus printing at least zero > without the redundant 0x prefix. Thoughts? (I expect there'll be quite a 0x is clearer than 0 which is also used for octal. > bit of testsuite fallout from such a change, but I don't think that's a > major concern.) > > --- a/opcodes/i386-dis.c > +++ b/opcodes/i386-dis.c > @@ -10969,61 +10969,22 @@ OP_indirE (instr_info *ins, int bytemode > } > > static void > -print_operand_value (instr_info *ins, bool hex, bfd_vma disp, > +print_operand_value (instr_info *ins, bfd_vma disp, > enum disassembler_style style) > { > char tmp[30]; > + unsigned int i = 0; > > if (ins->address_mode == mode_64bit) > { > - if (hex) > - { > - int i; > - oappend_with_style (ins, "0x", style); > - sprintf_vma (tmp, disp); > - for (i = 0; tmp[i] == '0' && tmp[i + 1]; i++); > - oappend_with_style (ins, tmp + i, style); > - } > - else > - { > - bfd_signed_vma v = disp; > - int i; > - if (v < 0) > - { > - oappend_char_with_style (ins, '-', style); > - v = -disp; > - /* Check for possible overflow on 0x8000000000000000. */ > - if (v < 0) > - { > - oappend_with_style (ins, "9223372036854775808", style); > - return; > - } > - } > - if (!v) > - { > - oappend_char_with_style (ins, '0', style); > - return; > - } > - > - i = 0; > - tmp[29] = 0; > - while (v) > - { > - tmp[28 - i] = (v % 10) + '0'; > - v /= 10; > - i++; > - } > - oappend_with_style (ins, tmp + 29 - i, style); > - } > + oappend_with_style (ins, "0x", style); > + sprintf_vma (tmp, disp); > + while (tmp[i] == '0' && tmp[i + 1]) > + ++i; > } > else > - { > - if (hex) > - sprintf (tmp, "0x%x", (unsigned int) disp); > - else > - sprintf (tmp, "%d", (int) disp); > - oappend_with_style (ins, tmp, style); > - } > + sprintf (tmp, "0x%x", (unsigned int) disp); > + oappend_with_style (ins, tmp + i, style); > } > > /* Like oappend, but called for immediate operands. */ > @@ -11033,7 +10994,7 @@ oappend_immediate (instr_info *ins, bfd_ > { > if (!ins->intel_syntax) > oappend_char_with_style (ins, '$', dis_style_immediate); > - print_operand_value (ins, true, imm, dis_style_immediate); > + print_operand_value (ins, imm, dis_style_immediate); > } > > /* Put DISP in BUF as signed hex number. */ > @@ -11721,7 +11682,7 @@ OP_E_memory (instr_info *ins, int bytemo > if (havedisp || riprel) > print_displacement (ins, disp); > else > - print_operand_value (ins, true, disp, dis_style_address_offset); > + print_operand_value (ins, disp, dis_style_address_offset); > if (riprel) > { > set_op (ins, disp, true); > @@ -11798,7 +11759,7 @@ OP_E_memory (instr_info *ins, int bytemo > if (havedisp) > print_displacement (ins, disp); > else > - print_operand_value (ins, true, disp, dis_style_address_offset); > + print_operand_value (ins, disp, dis_style_address_offset); > } > > oappend_char (ins, ins->close_char); > @@ -11825,7 +11786,7 @@ OP_E_memory (instr_info *ins, int bytemo > oappend_register (ins, att_names_seg[ds_reg - es_reg]); > oappend (ins, ":"); > } > - print_operand_value (ins, true, disp, dis_style_text); > + print_operand_value (ins, disp, dis_style_text); > } > } > } > @@ -11900,7 +11861,7 @@ OP_E_memory (instr_info *ins, int bytemo > oappend_register (ins, att_names_seg[ds_reg - es_reg]); > oappend (ins, ":"); > } > - print_operand_value (ins, true, disp & 0xffff, dis_style_text); > + print_operand_value (ins, disp & 0xffff, dis_style_text); > } > } > if (ins->vex.b) > @@ -12370,7 +12331,7 @@ OP_J (instr_info *ins, int bytemode, int > disp = ((ins->start_pc + (ins->codep - ins->start_codep) + disp) & mask) > | segment; > set_op (ins, disp, false); > - print_operand_value (ins, true, disp, dis_style_text); > + print_operand_value (ins, disp, dis_style_text); > } > > static void > @@ -12430,7 +12391,7 @@ OP_OFF (instr_info *ins, int bytemode, i > oappend (ins, ":"); > } > } > - print_operand_value (ins, true, off, dis_style_address_offset); > + print_operand_value (ins, off, dis_style_address_offset); > } > > static void > @@ -12459,7 +12420,7 @@ OP_OFF64 (instr_info *ins, int bytemode, > oappend (ins, ":"); > } > } > - print_operand_value (ins, true, off, dis_style_address_offset); > + print_operand_value (ins, off, dis_style_address_offset); > } > > static void -- H.J.