From patchwork Wed Dec 13 22:38:27 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Burgess X-Patchwork-Id: 82098 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 E3DFD385C6F5 for ; Wed, 13 Dec 2023 22:39:21 +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 2AA583857024 for ; Wed, 13 Dec 2023 22:38:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2AA583857024 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 2AA583857024 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=1702507132; cv=none; b=oK1NlEsdao9+SUXo5BQ92sujz2Ri0fzMlwsUPUL9rocdZ9liKUZE4yDGO526WCluicND2ETwOnarZgOqKtbZrNNP0OsgnGC+qAODjEccItvDnynOGEd3+Nq/Du8CBQB3WS1ferV025pPVhoifJDDcmwcEiB7JhCUgYW64JoCZHw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702507132; c=relaxed/simple; bh=mMiES3OkaRLQ53VEbTmZXij6WLDVyI15J76NmaZAJQw=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=mnq4/KI72uMJKy5VLhDAnElkj6WtzgUCszV3QV4R60LVNC3X0Z/OaEkldfCwZ5w3sz/kzPViPTmDciX4tsysncEPTqdzkbknCCm44iAaIzCOUIfOH7DQy2f9MSVpr2hntCprm4fk1ot3su9tH4fIFKllceyHJPnwVgMTkDzVNw4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1702507128; 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=H0vB5JWvkRoforFTHMpQoWZ0BMtYnxpXMESaPeFjzD8=; b=FvG9mcrXagIey1pMUCUrxZnVZUdA6VHS27oDY6BGVclKQ9bFz02JCZpaD4Xac7YBp5u+Z8 Thkq+OZtyEEzBD4+v/067GCYIHuOE9rZ3MSzBvcYMJE0COc9mED+msnfWYFy6AeFgIyN2M v2F2JzMe3Ht5VHVYyazrjtXPUwjP9ow= Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-553-zqTuT38MOOiE_dFjEFoupQ-1; Wed, 13 Dec 2023 17:38:45 -0500 X-MC-Unique: zqTuT38MOOiE_dFjEFoupQ-1 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-40c42205ed0so30630675e9.2 for ; Wed, 13 Dec 2023 14:38:45 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702507123; x=1703111923; 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=H0vB5JWvkRoforFTHMpQoWZ0BMtYnxpXMESaPeFjzD8=; b=FkhgtJ6coenhUHrgivgalp06LUg97KpCXEzNgKlco5yb30u0KE/Kr0YnOkyNk+V2IL oXaigm9qnS6N0CSWTw0nvOwdTGKwLLF2pQH4cWITpR5TcaQTk0KIPFTiLdAXN++ozZt5 qP2Mba2IzSE2a+vYlCrqbVJdK0THQrOEvEPm3VHoKGaFqT6ArnCWz/k2iXnJIoIvzeUl aQiQajrkq0aRKQW0fZ/jBKEIYhmT7rsZb4xr1sq4JEHa7RvngjK3w7ltW90eL3jtVphY 0wedHTZPpH03J3le9HkGV2aSInXQw8UQjfMjOD+RzjVB0U7JjmwV7UiCMoGqlZwcTzqt TPqw== X-Gm-Message-State: AOJu0YyCXBSgvSsnU/PVRdLTSi6jtxelmImIeoJ9q6YRYjqMc6zmWzkl +tSk2p8mUMWTHZsoiEURLBDtyHnNueBb5YD1IDI2Fia5hRjFGMafkGme8tX/R9YE4FOI7lKuYHl adyFr1/9jK35CcdrY29PhwP03FC3UYXp5yigtR7fU1KoCzhT1gWJKnZtVTJ6eMSmNbmT+9dgV61 4FE2RsOg== X-Received: by 2002:a7b:cc95:0:b0:405:3455:e1a3 with SMTP id p21-20020a7bcc95000000b004053455e1a3mr4560283wma.17.1702507123483; Wed, 13 Dec 2023 14:38:43 -0800 (PST) X-Google-Smtp-Source: AGHT+IHf9sG7SQC03kswswSgFvt0otHBg2pnpBG9CpsHK0e/YrqnrF6N1QDOXxS36VgEJKgi9vHq0w== X-Received: by 2002:a7b:cc95:0:b0:405:3455:e1a3 with SMTP id p21-20020a7bcc95000000b004053455e1a3mr4560277wma.17.1702507123186; Wed, 13 Dec 2023 14:38:43 -0800 (PST) Received: from localhost (105.226.159.143.dyn.plus.net. [143.159.226.105]) by smtp.gmail.com with ESMTPSA id d12-20020a05600c3acc00b0040b5377cf03sm24265257wms.1.2023.12.13.14.38.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Dec 2023 14:38:42 -0800 (PST) From: Andrew Burgess To: gdb-patches@sourceware.org Cc: Andrew Burgess Subject: [PATCHv7 03/11] gdb: change 'if' to gdb_assert in update_dprintf_command_list Date: Wed, 13 Dec 2023 22:38:27 +0000 Message-Id: <318f2278b9ec238df1052905b37412d00b2c340f.1702507015.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=-11.7 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, 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 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 I noticed in update_dprintf_command_list that we handle the case where the bp_dprintf style breakpoint doesn't have a format and args string. However, I don't believe such a situation is possible. The obvious approach certainly already catches this case: (gdb) dprintf main Format string required If it is possible to create a dprintf breakpoint without a format and args string then I think we should be catching this case and handling it at creation time, rather than having GDB just ignore the situation later on. And so, I propose that we change the 'if' that ignores the case where the format/args string is empty, and instead assert that we do always have a format/args string. The original code, that handled an empty format/args string has existed since commit e7e0cddfb0d4, which is when dprintf support was added to GDB. If I'm correct and this situation can't ever happen then there should be no user visible changes after this commit. --- gdb/breakpoint.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 5cc74e828b6..31abf3e34ca 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -8538,8 +8538,9 @@ update_dprintf_command_list (struct breakpoint *b) const char *dprintf_args = b->extra_string.get (); gdb::unique_xmalloc_ptr printf_line = nullptr; - if (!dprintf_args) - return; + /* Trying to create a dprintf breakpoint without a format and args + string should be detected at creation time. */ + gdb_assert (dprintf_args != nullptr); dprintf_args = skip_spaces (dprintf_args);