From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd2e.google.com (mail-io1-xd2e.google.com [IPv6:2607:f8b0:4864:20::d2e]) by sourceware.org (Postfix) with ESMTPS id AD2463858D39 for ; Thu, 18 May 2023 20:18:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AD2463858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com Received: by mail-io1-xd2e.google.com with SMTP id ca18e2360f4ac-76c64ddee11so62618539f.2 for ; Thu, 18 May 2023 13:18:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1684441089; x=1687033089; h=to:content-transfer-encoding:mime-version:message-id:date:subject :from:from:to:cc:subject:date:message-id:reply-to; bh=xISxnA3BiseOemA/AIeYsQeqwz1k53JQE8lm1ZcQXcA=; b=i7uEdbD6t6vWydkLtweWgV0B2uoao6V4ExTkZbrSBcni8rn5KnDSz+Y92YP/VAgbTt Du6oibEpALvw8SViZb7AOodk+KmLknaqIVVo5QceRnEM6N1iUq7NX5xz0ZDsUCkdkzOc sq7yg/8P0S1azJ7b//xQ3LDDe0RtBIljFlJDv2G3hNKxzdZBaJWeJKC34+gzkhnXaF9G MRQOB8AhMaG0TmQ2U8cvVuVdFBd3tz3oiZee132gv1JhvKgefNEvth+T+DXGF4QcA8bZ Md/gu6RO3Lu3yi1Ai1bVueHHmGdoilD/fgKVx4ZfWpg2a3K8wEOfaIUDOp3od5zcWOqm oT9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684441089; x=1687033089; h=to:content-transfer-encoding:mime-version:message-id:date:subject :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xISxnA3BiseOemA/AIeYsQeqwz1k53JQE8lm1ZcQXcA=; b=Ve76grydnHLz1iUGE7rv7qQW/uYiC8f08GSSv4IL7DHue8OvD7hCwjuHSSw8mhtP7L rWu4fTxOQh5I01KWbD3Ls553T9w7e1VXIkM0rafvrpHQvrrmKktPsyeNT+7WMPiVGLe8 roM5L9A6Fe8NvIFBRoIYGt4vJ7f54Ha5pWL9rnhqb54IJK7diOwa+dgBoHgrzzOhznri dNooydFieeXt4LHQQ2uKqBSief4gJOgjc1Ebf7feFZ7jzecw++02a6g4lZdZOE9EoyHo wXh+PUe2ybKbPrEz/UIFEfr3bwtyd/WbURZ00bjxEL2Ft+3FftacIW66+bP2uDoWNbTZ XGHw== X-Gm-Message-State: AC+VfDz80lqV4Rqq/7vqHMB7tLN3VWOW4gLV6/O1fwq8u260y7KLKuBx nB8QbtIl8oev8CKAm4YPa9v7VoMbNTzgTI2ZXTSA9w== X-Google-Smtp-Source: ACHHUZ48ldtNyDW63ZDPBnRQwTuA2fKr/vXrHfWW/Tl4Tay4YbQXfzqyugqxZeBhJH0r046FCDjkrw== X-Received: by 2002:a5e:da44:0:b0:76c:6d82:c58c with SMTP id o4-20020a5eda44000000b0076c6d82c58cmr7141727iop.8.1684441088920; Thu, 18 May 2023 13:18:08 -0700 (PDT) Received: from localhost.localdomain (75-166-157-55.hlrn.qwest.net. [75.166.157.55]) by smtp.gmail.com with ESMTPSA id i9-20020a05663813c900b00418ba399842sm703087jaj.13.2023.05.18.13.18.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 May 2023 13:18:08 -0700 (PDT) From: Tom Tromey Subject: [PATCH v2 0/9] Implement the DAP "loadedSources" request Date: Thu, 18 May 2023 14:18:06 -0600 Message-Id: <20230404-dap-loaded-sources-v2-0-93f229095e03@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-B4-Tracking: v=1; b=H4sIAP6HZmQC/32NQQ6CMBBFr0K6dkwpBaIr72FYTNtRmgglM0g0h LtbOIDL939e3qqEOJKoa7EqpiVKTGMGcyqU73F8EsSQWRltKm21hYATvBIGCiDpzZ4E6qDLylR YGqtVFh0KgWMcfb+rA8pMvB8T0yN+jtq9y9xHmRN/j/hS7uvfzlKChrb27aVxobHW3TCgT0xnn wbVbdv2A2iO8ITPAAAA To: gdb-patches@sourceware.org X-Mailer: b4 0.12.2 X-Spam-Status: No, score=-5.0 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,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This series implements the DAP "loadedSources" request. However, it does so by exposing MI commands to Python, with MI output being converted to Python objects via a new ui_out implementation. Regression tested on x86-64 Fedora 36. --- Changes in v2: - MI commands must be prefixed with '-' - Link to v1: https://inbox.sourceware.org/gdb-patches/20230404-dap-loaded-sources-v1-0-75c796bd644b@adacore.com --- Tom Tromey (9): Use field_signed from Python MI commands Use member initializers in mi_parse Use accessor for mi_parse::args Change mi_parse_argv to a method Introduce "static constructor" for mi_parse Introduce mi_parse helper methods Add second mi_parse constructor Implement gdb.execute_mi Implement DAP loadedSources request gdb/Makefile.in | 1 + gdb/NEWS | 3 + gdb/data-directory/Makefile.in | 1 + gdb/doc/python.texi | 30 ++++ gdb/mi/mi-cmds.c | 6 +- gdb/mi/mi-cmds.h | 5 + gdb/mi/mi-main.c | 19 +- gdb/mi/mi-parse.c | 196 ++++++++++++++++----- gdb/mi/mi-parse.h | 81 ++++++--- gdb/python/lib/gdb/dap/__init__.py | 1 + gdb/python/lib/gdb/dap/sources.py | 40 +++++ gdb/python/py-mi.c | 298 ++++++++++++++++++++++++++++++++ gdb/python/py-micmd.c | 20 ++- gdb/python/python-internal.h | 5 + gdb/python/python.c | 5 + gdb/testsuite/gdb.dap/basic-dap.exp | 3 + gdb/testsuite/gdb.python/py-exec-mi.exp | 32 ++++ gdb/testsuite/gdb.python/py-mi-cmd.py | 27 +++ 18 files changed, 697 insertions(+), 76 deletions(-) --- base-commit: c96452ad168cf42ad42f0d57214dddb38d5fae88 change-id: 20230404-dap-loaded-sources-5d01323a1240 Best regards, -- Tom Tromey