From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5588 invoked by alias); 3 Jul 2013 09:49:06 -0000 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 Received: (qmail 5521 invoked by uid 89); 3 Jul 2013 09:49:06 -0000 X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD autolearn=ham version=3.3.1 Received: from sibelius.xs4all.nl (HELO glazunov.sibelius.xs4all.nl) (83.163.83.176) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 03 Jul 2013 09:49:05 +0000 Received: from glazunov.sibelius.xs4all.nl (kettenis@localhost [127.0.0.1]) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3) with ESMTP id r639mu4Z030101; Wed, 3 Jul 2013 11:48:56 +0200 (CEST) Received: (from kettenis@localhost) by glazunov.sibelius.xs4all.nl (8.14.5/8.14.3/Submit) id r639muk8027843; Wed, 3 Jul 2013 11:48:56 +0200 (CEST) Date: Wed, 03 Jul 2013 09:49:00 -0000 Message-Id: <201307030948.r639muk8027843@glazunov.sibelius.xs4all.nl> From: Mark Kettenis To: markus.t.metzger@intel.com CC: jan.kratochvil@redhat.com, gdb-patches@sourceware.org In-reply-to: <1372842874-28951-2-git-send-email-markus.t.metzger@intel.com> (message from Markus Metzger on Wed, 3 Jul 2013 11:14:11 +0200) Subject: Re: [patch v4 01/24] gdbarch: add instruction predicate methods References: <1372842874-28951-1-git-send-email-markus.t.metzger@intel.com> <1372842874-28951-2-git-send-email-markus.t.metzger@intel.com> X-SW-Source: 2013-07/txt/msg00135.txt.bz2 > > Add new methods to gdbarch for analyzing the instruction at a given address. > Implement those methods for i386 and amd64 architectures. This is all really amd64/i386-centric. On a more abstract level, what is the difference between "call", "ret" and "jump"? > 2013-07-03 Markus Metzger > > * amd64-tdep.c (amd64_classify_insn_at, amd64_insn_is_call, > amd64_insn_is_ret, amd64_insn_is_jump, amd64_jmp_p): New. > (amd64_init_abi): Add insn_is_call, insn_is_ret, and insn_is_jump > to gdbarch. > * i386-tdep.c (i386_insn_is_call, i386_insn_is_ret, > i386_insn_is_jump, i386_jmp_p): New. > (i386_gdbarch_init): Add insn_is_call, insn_is_ret, and > insn_is_jump to gdbarch. > * gdbarch.sh (insn_is_call, insn_is_ret, insn_is_jump): New. > * gdbarch.h: Regenerated. > * gdbarch.c: Regenerated. > * arch-utils.h (default_insn_is_call, default_insn_is_ret, > default_insn_is_jump): New. > * arch-utils.c (default_insn_is_call, default_insn_is_ret, > default_insn_is_jump): New. > > > --- > gdb/amd64-tdep.c | 67 ++++++++++++++++++++++++++++++++++ > gdb/arch-utils.c | 15 ++++++++ > gdb/arch-utils.h | 4 ++ > gdb/gdbarch.c | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ > gdb/gdbarch.h | 24 ++++++++++++ > gdb/gdbarch.sh | 9 +++++ > gdb/i386-tdep.c | 59 ++++++++++++++++++++++++++++++ > 7 files changed, 283 insertions(+), 0 deletions(-)