From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 129971 invoked by alias); 7 Oct 2015 09:26:37 -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 129952 invoked by uid 89); 7 Oct 2015 09:26:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pa0-f51.google.com Received: from mail-pa0-f51.google.com (HELO mail-pa0-f51.google.com) (209.85.220.51) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 07 Oct 2015 09:26:34 +0000 Received: by pacex6 with SMTP id ex6so16343668pac.0 for ; Wed, 07 Oct 2015 02:26:33 -0700 (PDT) X-Received: by 10.66.219.74 with SMTP id pm10mr52347071pac.93.1444209993040; Wed, 07 Oct 2015 02:26:33 -0700 (PDT) Received: from E107787-LIN.cambridge.arm.com (power-aix.osuosl.org. [140.211.15.154]) by smtp.gmail.com with ESMTPSA id xa4sm38490858pac.28.2015.10.07.02.26.31 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 07 Oct 2015 02:26:32 -0700 (PDT) From: Yao Qi X-Google-Original-From: Yao Qi To: gdb-patches@sourceware.org Subject: [PATCH 00/11] Displaced stepping on AArch64 GNU/Linux Date: Wed, 07 Oct 2015 09:26:00 -0000 Message-Id: <1444209985-15829-1-git-send-email-yao.qi@linaro.org> X-IsSubscribed: yes X-SW-Source: 2015-10/txt/msg00061.txt.bz2 This patch series adds displaced stepping on aarch64-linux. The series refactors and reuses some aarch64 fast tracepoint instruction relocation code in GDBserver, because both of fast tracepoint and displaced stepping need to handle instruction relocation. Patches #2 - #4 are about refactoring aarch64_relocate_instruction in GDBserver in order to share it between GDB and GDBserver. A visitor pattern is used, and aarch64_relocate_instruction decodes instructions and visits different instructions by different methods of visitor. See more details in patch #4. Patch #5 moves all visitor pattern stuff and aarch64_relocate_instruction to arch/aarch64-insn.c, and patch #6 adds the displaced stepping support. Patch #8 adds a new test case gdb.arch/disp-step-insn-reloc.exp which uses insn-reloc.c too for displaced stepping. Patch #9 and #10 add "aarch64_" prefix to function names, as a clean up of this series. The whole series is regression tested on aarch64-linux, both native and gdbserver. *** BLURB HERE *** Yao Qi (11): More tests in gdb.arch/insn-reloc.c Move target_read_uint32 out of aarch64_relocate_instruction Move append_insns out of aarch64_relocate_instruction Use visitor in aarch64_relocate_instruction Move aarch64_relocate_instruction to arch/aarch64-insn.c Support displaced stepping in aarch64-linux Support displaced stepping in support_displaced_stepping for aarch64*-*-linux* New test case gdb.arch/disp-step-insn-reloc.exp Rename emit_insn to aarch64_emit_insn Rename emit_load_store to aarch64_emit_load_store Mention the change in NEWS gdb/NEWS | 2 + gdb/aarch64-linux-tdep.c | 12 + gdb/aarch64-tdep.c | 337 ++++++++++ gdb/aarch64-tdep.h | 17 + gdb/arch/aarch64-insn.c | 152 +++++ gdb/arch/aarch64-insn.h | 282 ++++++++ gdb/gdbserver/linux-aarch64-low.c | 824 ++++++++---------------- gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp | 84 +++ gdb/testsuite/gdb.arch/insn-reloc.c | 50 +- gdb/testsuite/lib/gdb.exp | 3 +- 10 files changed, 1190 insertions(+), 573 deletions(-) create mode 100644 gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp -- 1.9.1