From patchwork Tue May 17 07:57:31 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joel Stanley X-Patchwork-Id: 1632091 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=hLlL7h5y; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org (client-ip=112.213.38.117; helo=lists.ozlabs.org; envelope-from=pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org; receiver=) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4L2T4g017Mz9s0r for ; Tue, 17 May 2022 17:57:54 +1000 (AEST) Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4L2T4f12F6z3bqG for ; Tue, 17 May 2022 17:57:54 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=hLlL7h5y; dkim-atps=neutral X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com (client-ip=2607:f8b0:4864:20::102b; helo=mail-pj1-x102b.google.com; envelope-from=joel.stan@gmail.com; receiver=) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20210112 header.b=hLlL7h5y; dkim-atps=neutral Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4L2T4X1Q1Fz2xtp for ; Tue, 17 May 2022 17:57:47 +1000 (AEST) Received: by mail-pj1-x102b.google.com with SMTP id v5-20020a17090a7c0500b001df84fa82f8so1232729pjf.5 for ; Tue, 17 May 2022 00:57:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:subject:date:message-id:mime-version :content-transfer-encoding; bh=hYnc+NhabS86lnZYsH7yO2MKb2+ln1w0zAXz7ksutGM=; b=hLlL7h5yyWzAKOPk3KBBQTRtol+2aKAHM3ScIUrfiY0gDKFM7Um13DPuG9iNlfUzkR fWirYcnAZX9WU+BNvJQtcRWLeApnfR37yhT62hfyZt+rQfBP5Fyy/oHaGhWMDt8Xv2gP IdlZl4n55R5dBl8iOJfpK7dN1Dggf8UpMY9egFZeBVOVqKN8J35uHLykotPNrAEnBs8Z EQiXjW+izHJrEwAq9R/wTGF4MvJHW9sZZ5TD1tcNnyUG77HmCUvwmpOYgTw84IzM1xCR +2xpcFcf3Yb7yHPB48Pww/r/INSBNDy17bk8+NXoxJfV87qCgTW/8+GCFk+ylaJ4Vuie GiXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:subject:date:message-id :mime-version:content-transfer-encoding; bh=hYnc+NhabS86lnZYsH7yO2MKb2+ln1w0zAXz7ksutGM=; b=udjLoqnCFcZyE/cx94zbWUMjKdSGS/wakDk2BvN0zFO+lPnXX7EVpJmRJNK5dTA9dY p80yYszWe8uFT6wdgAxnuJwd3k7wUBT6Dx2Rxnrvg6mf2QcbI8Qw3c2QzSErcmeOxnOw mDnRfz3+rbH12LW3dzIMxj3/Te4WXJ/Mq9eYjEQ3IeBdBOlgxmRdXxKD8J4AocF/spYA TOaVHbCAL61Cxha7ML/9NpNnvN0vBX9uvK4KURm9UOhAWldpY9GLD5CzAmKpyI5zEM8q +g5Y/UEeJNk6YCMw74npzerYIVI3JnTWkNBs1FwSDbPS/AkcWwmUph94AYdky9FiPZCG yp2A== X-Gm-Message-State: AOAM533i3a6+9FkqwWs7zPULARcItTHARKYXccxvBsigE3t42jO9czQn /JtOJscRzTh0ifK7zUobqc/Wj3L2M4Y= X-Google-Smtp-Source: ABdhPJzrKAAaY06Gw1mjvWWDn1DSLoxpuO+MCTf1wjYAfE+LuvTa9U895JAWDImmTg/WTBK1htftnQ== X-Received: by 2002:a17:903:3011:b0:161:56bc:7379 with SMTP id o17-20020a170903301100b0016156bc7379mr13761757pla.82.1652774262239; Tue, 17 May 2022 00:57:42 -0700 (PDT) Received: from localhost.localdomain ([45.124.203.18]) by smtp.gmail.com with ESMTPSA id k4-20020a17090aef0400b001df4c5cab51sm1018241pjz.15.2022.05.17.00.57.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 May 2022 00:57:41 -0700 (PDT) From: Joel Stanley To: pdbg@lists.ozlabs.org Date: Tue, 17 May 2022 17:27:31 +0930 Message-Id: <20220517075731.318420-1-joel@jms.id.au> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Subject: [Pdbg] [PATCH] gdbserver: Implement basic target description X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Implement the target description packet so the user doesn't need to specify it. This allows a multiarch gdb to connect without specifying the target architecture: $ gdb-multiarch -ex "target remote rain101bmc.aus.stglabs.ibm.com:1234" -q Remote debugging using rain101bmc.aus.stglabs.ibm.com:1234 warning: No executable has been specified and target does not support determining executable automatically. Try using the "file" command. 0xc000000000040f18 in ?? () (gdb) Signed-off-by: Joel Stanley --- README.md | 1 - src/gdb_parser.rl | 5 +++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 778269a63533..f97b6824cc2b 100644 --- a/README.md +++ b/README.md @@ -555,7 +555,6 @@ of threads, especially over slow remote links. On your local machine: $ gdb -(gdb) set architecture powerpc:common64 (gdb) target remote palm5-bmc:44 Debugging info: diff --git a/src/gdb_parser.rl b/src/gdb_parser.rl index 44048332ccec..13d9d9791177 100644 --- a/src/gdb_parser.rl +++ b/src/gdb_parser.rl @@ -111,8 +111,9 @@ # TODO: We don't actually listen to what's supported q_attached = ('qAttached:' xdigit* @{rsp = "1";}); - q_supported = ('qSupported:' any* >{rsp = "multiprocess+;swbreak+;hwbreak-;qRelocInsn-;vContSupported+;QThreadEvents-;no-resumed-;QStartNoAckMode+"; ack_mode = true;}); + q_supported = ('qSupported:' any* >{rsp = "multiprocess+;swbreak+;hwbreak-;qRelocInsn-;vContSupported+;QThreadEvents-;no-resumed-;QStartNoAckMode+;qXfer:features:read+"; ack_mode = true;}); q_start_noack = ('QStartNoAckMode' @{rsp = "OK"; send_ack(priv); ack_mode = false;}); + q_target = ('qXfer:features:read:target.xml' any* >{rsp = "lpowerpc:common64";}); # thread info is_alive = ('T' ('p' xdigit+ '.')+ xdigit+ @{rsp = "OK";}); @@ -134,7 +135,7 @@ interrupt = (3 @{ if (command_callbacks) command_callbacks[INTERRUPT](stack, priv); PR_INFO("RAGEL:interrupt\n");}); commands = (get_gprs | get_spr | - q_attached | q_supported | q_start_noack | + q_attached | q_supported | q_start_noack | q_target | stop_reason | is_alive | get_thread | set_thread | v_contq | v_contc | v_conts | qf_threadinfo | qs_threadinfo |