From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com [IPv6:2a00:1450:4864:20::436]) by sourceware.org (Postfix) with ESMTPS id 184003865488 for ; Fri, 5 Mar 2021 17:35:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 184003865488 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embecosm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=andrew.burgess@embecosm.com Received: by mail-wr1-x436.google.com with SMTP id u14so2977367wri.3 for ; Fri, 05 Mar 2021 09:35:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=embecosm.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=CSvG2YyaMHMG6Bf8nIREcxjkTf+6feWL615E4d6wJs4=; b=Ix97EGH9jyjBxmXMmRU1lh5pAKWG0/JBuRsa7udBWwO0VbhP5N8OGPbZWNN2D+bdNm 0puChOy9J6EwyICFFYQ7MyHW8sTFd904JLvcaFtfco/+uTLZr0ATQZuT3GxvvtWDT+P1 p42mTK02vagQxKmjx5Em3nPyBnD9RfVvIFU4tD0M8nsupsBmF/xi/NKkwOrFOfZv3qm/ S23H8NAlcKbIGn1xYHa5+iAbNwuaZZrefd5HMkWR26HKZ8G01CMRTGuMJ8eoFge1qPWt oPAwYwTb7bdHSgbP8H7Nofuzvm2VjEKtN0dIUI+BnGtiy0yTsRYEvZ++MZNyN0/1Lh+1 uYLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=CSvG2YyaMHMG6Bf8nIREcxjkTf+6feWL615E4d6wJs4=; b=erIiTR4iwon/lkH/h/6WIgTM5vAyVplY+jlsFJwy2rCXe6DZsHJ352KfJzbKgmB4GS rF0XkKPzK6Ut0bUqoLfzhJpYCBygYjQSts4L+puf5YmWk9v5toPT3mDIwGK9v8XHoEY1 vZzHOyGynQAJLt0RwaxgSftnpSkelEO9nimiRA+Tyc1Yanat0/k1i7xYpso63TF5zcJf cPTzz5O4oQPzoZLZXhhGlCorLhZXhnaZEgUjt9i/GXBPORdA6Gzcu/I7jd5zq6OcKN55 +K6TyxGumtpDVw2yPaHoujH/an/QYw1XThflxFR48zjT/bXF64UoF92HmKV4N5bBHBPA EhUA== X-Gm-Message-State: AOAM532cwV5Ai9XBoXkSLJUh1LUaRqLY6D4BeSdqDwrKiQR+4wbj3Ts9 zUA5Y8CI6igk6lrywT8XqQj0OP0TACvi3w== X-Google-Smtp-Source: ABdhPJxllLDbtQkE2JWZh9ZzdM8QVZhjxzs9+33unNIawVZ2dwUDdfH/pSJhCY0N444MC/rjPXjX7Q== X-Received: by 2002:a5d:6446:: with SMTP id d6mr10438926wrw.328.1614965745811; Fri, 05 Mar 2021 09:35:45 -0800 (PST) Received: from localhost (host86-134-238-232.range86-134.btcentralplus.com. [86.134.238.232]) by smtp.gmail.com with ESMTPSA id v7sm5221992wme.47.2021.03.05.09.35.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Mar 2021 09:35:45 -0800 (PST) Date: Fri, 5 Mar 2021 17:35:44 +0000 From: Andrew Burgess To: gdb-patches@sourceware.org, binutils@sourceware.org Cc: Fredrik Hederstierna Subject: Re: [PATCHv3 0/9] Bare-metal core dumps for RISC-V Message-ID: <20210305173544.GF1720904@embecosm.com> References: <20210301103241.GM265215@embecosm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210301103241.GM265215@embecosm.com> X-Operating-System: Linux/5.8.13-100.fc31.x86_64 (x86_64) X-Uptime: 17:33:58 up 86 days, 22:18, X-Editor: GNU Emacs [ http://www.gnu.org/software/emacs ] X-Spam-Status: No, score=-5.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 Mar 2021 17:35:57 -0000 I have now pushed patches 1 to 8 of this series. I have not merged the ARM bare metal core dumping patch. Fredrik, Are you able to run any tests on the ARM patch and confirm that it still does everything your original patch did? Are you happy with my variant? Thanks, Andrew * Andrew Burgess [2021-03-01 10:32:41 +0000]: > Ping! > > I'm planning to start merging this series later this week. The code > was all reviewed in the v2 series. The v3 mostly moves stuff around > to avoid adding dependencies on ELF support. > > I still wonder if there's a better solution than the #ifdef block > added in patches 5 and 9, but these are pretty self-contained. If > someone suggests a better approach later on then I'm happy to refactor > this code. > > Thanks, > Andrew > > > * Andrew Burgess [2021-02-15 17:29:03 +0000]: > > > After I pushed patch #1 from the v2 series it was pointed out that > > this broke any build of GDB for non-ELF targets. I then reverted > > patch #1. Now I'm back with an updated series. > > > > For testing the build I have been using 'x86_64-apple-darwin20.3.0' as > > a non-ELF target. I haven't done any actual functional testing on > > this target other than "it builds", but that's more than I did before > > (for non-ELF targets). > > > > Between v2 and v3 then the changes are basically around the idea of > > not calling ELF specific functions from any generic code. As far as > > possible I wanted to avoid just blocking code out with #ifdef, though > > I did use this trick in a limited way in patches #5 and #9, hopefully > > this is acceptable, though I'm open to suggestions for better ways to > > structure the code in these patches. > > > > Here's a summary of which patches have changed: > > > > (1) - Changed, common code from Linux and FreeBSD targets is now split > > between gcore.c (for non-ELF code) and a new file gcore-elf.c > > (for ELF specific code). Changes to configure.ac ensure the ELF > > specific file is only pulled in when needed. This probably > > needs a new review. > > > > (2) - Minor updates to address Jim's review feedback. Reviews are > > welcome, but I'm considering this patch approved. > > > > (3) - Code to add the target description note is moved to gcore-elf.c, > > and each target must call this code (if the target is creating > > an ELF based core file). I don't like this as much as the > > previous code where the target description note was added in one > > place, but I can't see a good way to do this without adding a > > #ifdef block to gcore.c. This probably needs a new review. > > > > (4) - Minor updates to address Jim's review feedback. Reviews are > > welcome, but I'm considering this patch approved. > > > > (5) - The common bare metal core dump code is now in elf-none-tdep.c. > > This is then called from the riscv-none-tdep.c code ONLY if we > > have ELF support. This is the use of '#ifdef HAVE_ELF' which is > > a little yuck, but I can't see a better solution. This probably > > needs a new review. > > > > (6) - Minor updates to address Jim's review feedback. Reviews are > > welcome, but I'm considering this patch approved. > > > > (7) - No changes. Reviews are welcome, but I'm considering this patch > > approved. > > > > (8) - No changes. Reviews are welcome, but I'm considering this patch > > approved. > > > > (9) - No significant changes. Like patch #5 it now includes a '#ifdef > > HAVE_ELF' block in order to guard the call from arm-none-tdep.c > > to elf-none-tdep.c. I'd prefer reviews of this approach be > > addressed to patch #5, I'll apply any feedback I get there to > > this patch too. > > > > --- > > > > Andrew Burgess (9): > > gdb: unify parts of the Linux and FreeBSD core dumping code > > bfd/binutils: support for gdb target descriptions in the core file > > gdb: write target description into core file > > bfd/riscv: prepare to handle bare metal core dump creation > > gdb/riscv: introduce bare metal core dump support > > bfd/binutils: add support for RISC-V CSRs in core files > > gdb/riscv: make riscv target description names global > > gdb/riscv: write CSRs into baremetal core dumps > > gdb/arm: add support for bare-metal core dumps > > > > bfd/ChangeLog | 27 ++++++ > > bfd/elf-bfd.h | 4 + > > bfd/elf.c | 70 ++++++++++++++ > > bfd/elfnn-riscv.c | 84 ++++++++++++++++- > > binutils/ChangeLog | 10 ++ > > binutils/readelf.c | 4 + > > gdb/ChangeLog | 88 +++++++++++++++++ > > gdb/Makefile.in | 8 ++ > > gdb/arm-none-tdep.c | 213 ++++++++++++++++++++++++++++++++++++++++++ > > gdb/configure | 3 +- > > gdb/configure.ac | 3 +- > > gdb/configure.tgt | 5 +- > > gdb/corelow.c | 24 +++++ > > gdb/elf-none-tdep.c | 126 +++++++++++++++++++++++++ > > gdb/elf-none-tdep.h | 30 ++++++ > > gdb/fbsd-tdep.c | 137 ++------------------------- > > gdb/gcore-elf.c | 166 ++++++++++++++++++++++++++++++++ > > gdb/gcore-elf.h | 47 ++++++++++ > > gdb/gcore.c | 21 +++++ > > gdb/gcore.h | 9 ++ > > gdb/linux-tdep.c | 146 +++-------------------------- > > gdb/riscv-none-tdep.c | 173 ++++++++++++++++++++++++++++++++++ > > gdb/riscv-tdep.c | 14 ++- > > gdb/riscv-tdep.h | 3 + > > include/ChangeLog | 10 ++ > > include/elf/common.h | 6 ++ > > 26 files changed, 1159 insertions(+), 272 deletions(-) > > create mode 100644 gdb/arm-none-tdep.c > > create mode 100644 gdb/elf-none-tdep.c > > create mode 100644 gdb/elf-none-tdep.h > > create mode 100644 gdb/gcore-elf.c > > create mode 100644 gdb/gcore-elf.h > > create mode 100644 gdb/riscv-none-tdep.c > > > > -- > > 2.25.4 > >