From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 62940 invoked by alias); 23 Oct 2018 15:37: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 62907 invoked by uid 89); 23 Oct 2018 15:37:04 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-11.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=polish, Reject 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; Tue, 23 Oct 2018 15:37:01 +0000 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5FDF5309174F; Tue, 23 Oct 2018 15:37:00 +0000 (UTC) Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id 316887012B; Tue, 23 Oct 2018 15:36:59 +0000 (UTC) Subject: Re: [PATCH v5 00/12] GDB support for more powerpc registers on linux To: Pedro Franco de Carvalho , gdb-patches@sourceware.org References: <20181022223242.7858-1-pedromfc@linux.ibm.com> Cc: uweigand@de.ibm.com, edjunior@gmail.com From: Pedro Alves Message-ID: Date: Tue, 23 Oct 2018 15:37:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181022223242.7858-1-pedromfc@linux.ibm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2018-10/txt/msg00509.txt.bz2 On 10/22/2018 11:32 PM, Pedro Franco de Carvalho wrote: > This is V5 of: https://sourceware.org/ml/gdb-patches/2018-08/msg00381.html > AFAICT, this mainly refreshes the patch set, and applies some polish, but doesn't address the previously discussed issues, right? TBC, I don't want to block this at all, I think it's looking good. Just want to understand if there's a plan, and if so, what is it. I.e., what is the conclusion wrt to the differences in one of the note sections generated by the kernel for a core file and the one generated by GDB? Was that resolved? Will it be? As for the EBB/PMU patch, about gdbserver writing all registers in one go before resuming the inferior, and the error would not being detected at the time the user tries to write them, did you try making gdbserver flush the regcache after handling 'G' and 'P' packets? From the previous discussion, it sounded like that would work? > Changes from V4: > > * Explained further limitations of unavailable registers with respect > to 'G' packets in the commit message of "[PowerPC] Add support for > EBB and PMU registers". > > * Changed linux_collect_regset_section_cb to use std::vector > instead of std::vector in the first patch ("Zero-initialize > linux note sections"). > > * Defined ppc_linux_collect_core_cpgrregset in ppc-linux-tdep.c and > changed ppc_linux_iterate_over_regset_sections to call it when > generating core files, in order to fill in the checkpointed NIP and > MSR slots in the core file with reasonable values (TFHAR and the > regular MSR), in "[PowerPC] Add support for HTM registers". > > * Removed ppc_linux_regset_available_p, removed call to store_regset > with regsets that can be unavailable when store_registers is called > with -1, added comment explaining why. > > * Changed fetch_regset/store_regset in ppc-linux-nat.c to call the > supply/collect function pointers from the regset instead of > regcache_supply/collect_regset. > > * Reordered some of the regmap/regset definitions in ppc-linux-tdep.c > for consistency with the existing definitions. > > * Added various comments for global variables, functions and to the > new test cases. > > Edjunior Barbosa Machado (4): > [PowerPC] Add support for PPR and DSCR > [PowerPC] Add support for TAR > [PowerPC] Add support for EBB and PMU registers > [PowerPC] Add support for HTM registers > > Pedro Franco de Carvalho (8): > Zero-initialize linux note sections > [PowerPC] Don't zero-initialize vector register buffers > Add decfloat registers to float reggroup > [PowerPC] Remove rs6000_pseudo_register_reggroup_p > [PowerPC] Fix two if statements in gdb/ppc-linux-nat.c > [PowerPC] Fix indentation in arch/ppc-linux-common.c > [PowerPC] Refactor have_ initializers in rs6000-tdep.c > [PowerPC] Reject tdescs with VSX and no FPU or Altivec > > gdb/NEWS | 4 + > gdb/arch/ppc-linux-common.c | 30 +- > gdb/arch/ppc-linux-common.h | 20 + > gdb/arch/ppc-linux-tdesc.h | 6 + > gdb/doc/gdb.texinfo | 60 ++ > gdb/features/Makefile | 11 + > gdb/features/rs6000/power-dscr.xml | 12 + > gdb/features/rs6000/power-ebb.xml | 14 + > gdb/features/rs6000/power-htm-altivec.xml | 58 ++ > gdb/features/rs6000/power-htm-core.xml | 48 ++ > gdb/features/rs6000/power-htm-dscr.xml | 12 + > gdb/features/rs6000/power-htm-fpu.xml | 45 ++ > gdb/features/rs6000/power-htm-ppr.xml | 12 + > gdb/features/rs6000/power-htm-spr.xml | 14 + > gdb/features/rs6000/power-htm-tar.xml | 12 + > gdb/features/rs6000/power-htm-vsx.xml | 43 ++ > gdb/features/rs6000/power-linux-pmu.xml | 17 + > gdb/features/rs6000/power-ppr.xml | 12 + > gdb/features/rs6000/power-tar.xml | 12 + > gdb/features/rs6000/power64-htm-core.xml | 48 ++ > .../rs6000/powerpc-isa205-ppr-dscr-vsx32l.c | 200 +++++ > .../rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml | 18 + > .../rs6000/powerpc-isa205-ppr-dscr-vsx64l.c | 200 +++++ > .../rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml | 18 + > gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c | 396 ++++++++++ > gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml | 29 + > gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c | 396 ++++++++++ > gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml | 29 + > gdb/features/rs6000/powerpc-isa207-vsx32l.c | 215 ++++++ > gdb/features/rs6000/powerpc-isa207-vsx32l.xml | 21 + > gdb/features/rs6000/powerpc-isa207-vsx64l.c | 215 ++++++ > gdb/features/rs6000/powerpc-isa207-vsx64l.xml | 21 + > gdb/gdbserver/configure.srv | 28 +- > gdb/gdbserver/linux-ppc-ipa.c | 18 + > gdb/gdbserver/linux-ppc-low.c | 428 ++++++++++- > gdb/gdbserver/linux-ppc-tdesc-init.h | 21 + > gdb/linux-tdep.c | 14 +- > gdb/nat/ppc-linux.h | 80 ++ > gdb/ppc-linux-nat.c | 440 ++++++++++- > gdb/ppc-linux-tdep.c | 606 ++++++++++++++- > gdb/ppc-linux-tdep.h | 21 + > gdb/ppc-tdep.h | 93 +++ > .../rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat | 146 ++++ > .../rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat | 146 ++++ > .../rs6000/powerpc-isa207-htm-vsx32l.dat | 296 ++++++++ > .../rs6000/powerpc-isa207-htm-vsx64l.dat | 296 ++++++++ > gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat | 155 ++++ > gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat | 155 ++++ > gdb/reggroups.c | 4 +- > gdb/rs6000-tdep.c | 813 ++++++++++++++++++--- > gdb/testsuite/gdb.arch/powerpc-htm-regs.c | 39 + > gdb/testsuite/gdb.arch/powerpc-htm-regs.exp | 328 +++++++++ > gdb/testsuite/gdb.arch/powerpc-ppr-dscr.c | 34 + > gdb/testsuite/gdb.arch/powerpc-ppr-dscr.exp | 120 +++ > gdb/testsuite/gdb.arch/powerpc-tar.c | 33 + > gdb/testsuite/gdb.arch/powerpc-tar.exp | 122 ++++ > 56 files changed, 6528 insertions(+), 156 deletions(-) > create mode 100644 gdb/features/rs6000/power-dscr.xml > create mode 100644 gdb/features/rs6000/power-ebb.xml > create mode 100644 gdb/features/rs6000/power-htm-altivec.xml > create mode 100644 gdb/features/rs6000/power-htm-core.xml > create mode 100644 gdb/features/rs6000/power-htm-dscr.xml > create mode 100644 gdb/features/rs6000/power-htm-fpu.xml > create mode 100644 gdb/features/rs6000/power-htm-ppr.xml > create mode 100644 gdb/features/rs6000/power-htm-spr.xml > create mode 100644 gdb/features/rs6000/power-htm-tar.xml > create mode 100644 gdb/features/rs6000/power-htm-vsx.xml > create mode 100644 gdb/features/rs6000/power-linux-pmu.xml > create mode 100644 gdb/features/rs6000/power-ppr.xml > create mode 100644 gdb/features/rs6000/power-tar.xml > create mode 100644 gdb/features/rs6000/power64-htm-core.xml > create mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c > create mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml > create mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c > create mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml > create mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c > create mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml > create mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c > create mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml > create mode 100644 gdb/features/rs6000/powerpc-isa207-vsx32l.c > create mode 100644 gdb/features/rs6000/powerpc-isa207-vsx32l.xml > create mode 100644 gdb/features/rs6000/powerpc-isa207-vsx64l.c > create mode 100644 gdb/features/rs6000/powerpc-isa207-vsx64l.xml > create mode 100644 gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat > create mode 100644 gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat > create mode 100644 gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat > create mode 100644 gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat > create mode 100644 gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat > create mode 100644 gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat > create mode 100644 gdb/testsuite/gdb.arch/powerpc-htm-regs.c > create mode 100644 gdb/testsuite/gdb.arch/powerpc-htm-regs.exp > create mode 100644 gdb/testsuite/gdb.arch/powerpc-ppr-dscr.c > create mode 100644 gdb/testsuite/gdb.arch/powerpc-ppr-dscr.exp > create mode 100644 gdb/testsuite/gdb.arch/powerpc-tar.c > create mode 100644 gdb/testsuite/gdb.arch/powerpc-tar.exp Thanks, Pedro Alves