From patchwork Tue May 16 10:48:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yao Qi X-Patchwork-Id: 20459 Received: (qmail 75607 invoked by alias); 16 May 2017 10:48:50 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 75356 invoked by uid 89); 16 May 2017 10:48:36 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-24.6 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-spam-relays-external:209.85.192.194, H*RU:209.85.192.194 X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-pf0-f194.google.com Received: from mail-pf0-f194.google.com (HELO mail-pf0-f194.google.com) (209.85.192.194) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 16 May 2017 10:48:34 +0000 Received: by mail-pf0-f194.google.com with SMTP id n23so18401896pfb.3; Tue, 16 May 2017 03:48:33 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=B8J+Y5tZb3zG9RL7q0atBQQvLYWV32JM6Af5WK5UKSc=; b=ke1tbRSucLFGaSeBWYfJ41Zvhn41lnmYuqUmW/ZQjAESW4G52+PMPht8kWuSIJ+9lg Up3xlaYyRAfXUw/ugAGiQETERoFvotFUxD1SWeNWhd3NDeKfxz0pVeHwccBjy1Rlwg98 BsddbgZvX7QmLMB5mZs7TXciHi+rYrC6rNMrutp7EBXQqKaUhnRM5yuT4RROksA4i7RY p+hCMt7mgX6lInq0JxCvI4PnE9r+69AaO+GnwLEdSuPxZhRTL5JzT0wXSv0s3+r613oK Ohbi3WWZPwQeYIRSmAm4aHqQfLKX3z1kbm74b9rWBPJs9rsGkE1vTG2UBENLJj8xQc0a oUUA== X-Gm-Message-State: AODbwcB59Yk4l6Ptm/HXd71ntlf2Iuq1ps9OqNsAGUMUhbtL3UGAuSPy j06BYX2Mepc21gke X-Received: by 10.99.49.11 with SMTP id x11mr10981664pgx.128.1494931711817; Tue, 16 May 2017 03:48:31 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (gcc114.osuosl.org. [140.211.9.72]) by smtp.gmail.com with ESMTPSA id e64sm26559372pfl.49.2017.05.16.03.48.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 16 May 2017 03:48:31 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: binutils@sourceware.org, gdb-patches@sourceware.org Subject: [PATCH 5/6] Use disassble.c:disassembler select rs6000 disassembler Date: Tue, 16 May 2017 11:48:17 +0100 Message-Id: <1494931698-15309-6-git-send-email-yao.qi@linaro.org> In-Reply-To: <1494931698-15309-1-git-send-email-yao.qi@linaro.org> References: <1494931698-15309-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes Nowadays, rs6000 disassembler is selected in different ways in opcodes and gdb, opcodes: case bfd_arch_rs6000: if (mach == bfd_mach_ppc_620) disassemble = print_insn_big_powerpc; else disassemble = print_insn_rs6000; break; gdb: if (arch == bfd_arch_rs6000) set_gdbarch_print_insn (gdbarch, print_insn_rs6000); else set_gdbarch_print_insn (gdbarch, gdb_print_insn_powerpc); I am not sure which one is the right one. However, such selection should be done in one place instead of two. In fact, this changes gdb to align with objdump on disassembler selection. gdb: 2017-05-15 Yao Qi * rs6000-tdep.c (gdb_print_insn_powerpc): Remove. (rs6000_gdbarch_init): Don't call set_gdbarch_print_insn. --- gdb/rs6000-tdep.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 4072464..0bd65fc 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -3233,14 +3233,6 @@ find_variant_by_arch (enum bfd_architecture arch, unsigned long mach) return NULL; } -static int -gdb_print_insn_powerpc (bfd_vma memaddr, disassemble_info *info) -{ - if (info->endian == BFD_ENDIAN_BIG) - return print_insn_big_powerpc (memaddr, info); - else - return print_insn_little_powerpc (memaddr, info); -} static CORE_ADDR rs6000_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) @@ -6449,12 +6441,6 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches) set_gdbarch_have_nonsteppable_watchpoint (gdbarch, 1); - /* Select instruction printer. */ - if (arch == bfd_arch_rs6000) - set_gdbarch_print_insn (gdbarch, print_insn_rs6000); - else - set_gdbarch_print_insn (gdbarch, gdb_print_insn_powerpc); - set_gdbarch_num_regs (gdbarch, PPC_NUM_REGS); if (have_spe)