From patchwork Mon Apr 15 14:19:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 88493 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 81F6E3858C50 for ; Mon, 15 Apr 2024 14:20:14 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id F04963858D34 for ; Mon, 15 Apr 2024 14:19:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F04963858D34 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org F04963858D34 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.129.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713190785; cv=none; b=eSSYgJ+X0YIHvWKOQEqyg7e0u9JX7ddeQV6ghKtWndFg+1tovovZl795cmJud9RIdY5AJQeucINcQIQkmhpHQ5k3CN8OkJAYzVQnoXfGOfoamUudS9U/P3v8bAapq4arH90owMzCRUY2MtKi1u9xHpgElBdAgez5+TAn3B1bTNw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713190785; c=relaxed/simple; bh=xZh+7Zpzo6DBetCSf2puwk5jlY5QDCgd/D60eL7bg34=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=Sb2kpZ9bQyV91bwC0fKnih8YLq3uDC8QolLt7io/owEhRwg/JHKmLN0L7+ZnJ9mItgfUnCVu/RMwS5r5dIqZtsQthK8G6Wf/sWdB9wk40Np9qSjtfsWaE7zpyCeXuGt4FMAkSzJFlIdnCxIhgVX6d8D73+gmWaQJXZ8R9Wp8muE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1713190778; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Qmrm/NDjmXB1O7ewTWqNB1ZCGSbfgNTP+oifzQf3Tkg=; b=iIVDgxnTvd2kms2Tbx96sXHq6L4SKKvdaJZYlNgp7nWBS0SepFZKYotvbL4HWZmhfNR0SI cY1dbk6RXT/YqlREPETpFs0fqXktpWhWj5Fg+sairdsFrgggge9zKQxi5F+knmm9Fmfh3q Jta2RkwsCtwUQPaOO6wVvpVwY0e4qM8= Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-517-BEn73pVOPxiG9mePtpbl0w-1; Mon, 15 Apr 2024 10:19:36 -0400 X-MC-Unique: BEn73pVOPxiG9mePtpbl0w-1 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4187293b96fso2984985e9.0 for ; Mon, 15 Apr 2024 07:19:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713190774; x=1713795574; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Qmrm/NDjmXB1O7ewTWqNB1ZCGSbfgNTP+oifzQf3Tkg=; b=P274d60mkLmuLMZQ76T9uoMc8evXizybnBrfYyL7NhXpxDVDIDSyfxNi9VKfErRUT2 P4wi35pIFOYykoYZa+drMOStQJpdEyGAOhm1xzqkPIyWJm0nx5MVkdXfGSNAlpeNNh0I m0ksqi1E4bWidB5zsTqQUuKlPXVNNkhLaGxl5eYtxEWNr3Z5RILMnkIWwXFbYTqjXpvX kWW2icxaCoHBY6o7qcNtwYfnF/I6/BQG7AGdGiu6tJ156zoi1zkGooc4/ZtWRWu9sfBY yYCMFfEZdBs6yJ5b17O4wLBqYXFwdKs9IJQuckGUx3vH3TicVpkohiTTMShix3v4yqYT gjPA== X-Gm-Message-State: AOJu0YwRWd9JWaMVOz1CpFFwg+nbZBoxtgIIgmY/jeD+17CXJyGw+zFF xqjmDj25/12UR/rZ33rw9EI9JPebauDdhxDLdXFo82a4kFcFP3Q+MDqFHp0PiTtD1/DRDUZK6bs D2mUJHG8IlblRvXuSbOgpQuISwHwA7CeQvfxie1wyn2Sw0Q2mnhhXZFqBGAM+lDN12mccA/S+M9 kwhlZKndnz2cnU9jtzkdMSiSzF6n5pgusmk4cAoxVMJtw= X-Received: by 2002:a05:600c:3d9b:b0:418:7c47:32c9 with SMTP id bi27-20020a05600c3d9b00b004187c4732c9mr749226wmb.29.1713190774190; Mon, 15 Apr 2024 07:19:34 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHAKYPWOBTiQzJyTMQKRrsZS8B0pDoaCfVogw4DYK91Z4PQeaG5J1a61RdQXiQ283dfcNUXRA== X-Received: by 2002:a05:600c:3d9b:b0:418:7c47:32c9 with SMTP id bi27-20020a05600c3d9b00b004187c4732c9mr749203wmb.29.1713190773597; Mon, 15 Apr 2024 07:19:33 -0700 (PDT) Received: from localhost (185.223.159.143.dyn.plus.net. [143.159.223.185]) by smtp.gmail.com with ESMTPSA id h6-20020a05600c350600b004163321790esm16354291wmq.19.2024.04.15.07.19.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Apr 2024 07:19:32 -0700 (PDT) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCH 2/3] gdb/record: add an assert in cmd_record_start Date: Mon, 15 Apr 2024 15:19:27 +0100 Message-Id: <483ec76476d7b95641fa486c65249ce62d8690ca.1713190701.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org The 'record' command is both a prefix command AND an alias for 'target record-full'. As it is a prefix command, if a user types: (gdb) record blah Then GDB will look for, and try to invoke the 'blah' sub-command. This will either succeed (if blah is found) or throw an error (if blah is not found). As such, the only way to invoke the 'record' command is like: (gdb) record It is impossible to pass arguments to the 'record' command. As we know this is true then we can assert this in cmd_record_start. I added this assert because initially I was going to try forwarding ARGS from cmd_record_start to the 'target record-full' command, but then I realised passing arguments to 'record' was impossible. There should be no user visible changes after this commit. --- gdb/record.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/record.c b/gdb/record.c index 25a4c1e71b6..5b1093dd12e 100644 --- a/gdb/record.c +++ b/gdb/record.c @@ -260,11 +260,16 @@ show_record_debug (struct ui_file *file, int from_tty, value); } -/* Alias for "target record". */ +/* Alias for "target record-full". */ static void cmd_record_start (const char *args, int from_tty) { + /* As 'record' is a prefix command then if the user types 'record blah' + GDB will search for the 'blah' sub-command and either run that instead + of calling this function, or throw an error if 'blah' doesn't exist. + As a result, we only get here if no args are given. */ + gdb_assert (args == nullptr); execute_command ("target record-full", from_tty); }