From patchwork Mon Mar 25 18:27:59 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 87638 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 E3A19385842B for ; Mon, 25 Mar 2024 18:31:37 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id EF7F03858413 for ; Mon, 25 Mar 2024 18:30:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EF7F03858413 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org EF7F03858413 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711391418; cv=none; b=HlzxOimIQOYd0CBHjprG007nv7pKKiqg6MDU08SiBVpWUyv+XWZKANwOyVzfE6wwPdmSQmUIsYvfLDfOCFtrSAXmkhLetq0+Myte0JAOIWPj4j9AOAsgHmP7lrIQiX54L8qemve4n6H4riyrI/FLLFXLsQWsqG0mvs4aQvNKRgY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711391418; c=relaxed/simple; bh=eEsw845ejbX40Me7jpGu/Eu1FWKTrIGnrDsW1vazdJ0=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=c+/3EbYnbjJY4/KNpCyxjj/YXiAMOIaVLj+9si9wDM4clDlpEW45ZMS/2Kah16I67jZ503dH53WM/702MMyLfCWQPEejp80xX+M8Iak+MQYOHrPF/LGQ4kF43T1undGC1KA1h+9SECMN8+Wv74iDVqSKdu+gjz0SN1z/gzuPCu4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 3F6C91E0BB; Mon, 25 Mar 2024 14:30:14 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 1/2] gdb: mark addrmap classes `final` Date: Mon, 25 Mar 2024 14:27:59 -0400 Message-ID: <20240325183011.1037710-2-simon.marchi@efficios.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240325183011.1037710-1-simon.marchi@efficios.com> References: <20240325183011.1037710-1-simon.marchi@efficios.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3496.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_SOFTFAIL, 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 When building GDB with clang, I see: /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/unique_ptr.h:95:2: error: delete called on non-final 'addrmap_mutable' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non -abstract-non-virtual-dtor] 95 | delete __ptr; | ^ /usr/lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/bits/unique_ptr.h:396:4: note: in instantiation of member function 'std::default_delete::operator()' requested here 396 | get_deleter()(std::move(__ptr)); | ^ /home/smarchi/src/binutils-gdb/gdb/addrmap.c:422:14: note: in instantiation of member function 'std::unique_ptr::~unique_ptr' requested here 422 | auto map = std::make_unique (); | ^ Fix that by making `addrmap_mutable` final, and `addrmap_fixed` too while at it. Change-Id: I03aa0b0907c8d0e3390ddbedeb77d73b19b2b526 --- gdb/addrmap.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gdb/addrmap.h b/gdb/addrmap.h index 55dea36b8771..ed52e3cd990d 100644 --- a/gdb/addrmap.h +++ b/gdb/addrmap.h @@ -80,8 +80,8 @@ struct addrmap struct addrmap_mutable; /* Fixed address maps. */ -struct addrmap_fixed : public addrmap, - public allocate_on_obstack +struct addrmap_fixed final : public addrmap, + public allocate_on_obstack { public: @@ -116,7 +116,7 @@ struct addrmap_fixed : public addrmap, /* Mutable address maps. */ -struct addrmap_mutable : public addrmap +struct addrmap_mutable final : public addrmap { public: From patchwork Mon Mar 25 18:28:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 87637 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 3724E38582A5 for ; Mon, 25 Mar 2024 18:30:59 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 800EC3858C36 for ; Mon, 25 Mar 2024 18:30:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 800EC3858C36 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=efficios.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=efficios.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 800EC3858C36 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=158.69.221.121 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711391418; cv=none; b=U2uC9ScDijQOpnyF2W1LHqaK4MHCXYDh7fjiurOBsXC0aXuIOiO9nmbbS2TPlsEt+23L9as6ZFNXT3pzH6vY4PMfYrduvZ+BiK8emi6QeNDYwjVZmVAyOlSqOX5OvWgHQylF9+Hss/CwuhzDq6GhPZgCbhOGAzF8+I8kj+nvSDE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1711391418; c=relaxed/simple; bh=RLZ7LMocpikbJ6unzTDcxVasB3QKN1UD8B2gICfZAHk=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=jx2+eTWa4WTtrbzc8xLnSzvuo4eDK/r5cHXfkIW8net59x/IRIMjb25/oPu7/KTGhAAaW4ROlEAXHz36pK/ZMPo9hJK0vcbUu2/OCTyQPQe/q7f3uFKo2JvaRabdkc5+7ULJLg21Vs03yTHNlBCOSXGv7azdeaKytkvRZ2a8EN8= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 01F271E0C0; Mon, 25 Mar 2024 14:30:14 -0400 (EDT) From: Simon Marchi To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 2/2] gdbserver/Makefile.in: add missing `-x c++` Date: Mon, 25 Mar 2024 14:28:00 -0400 Message-ID: <20240325183011.1037710-3-simon.marchi@efficios.com> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240325183011.1037710-1-simon.marchi@efficios.com> References: <20240325183011.1037710-1-simon.marchi@efficios.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3496.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_SOFTFAIL, 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 When building with Clang, I get: CXX nat/x86-linux-tdesc-ipa.o clang++: error: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Werror,-Wdeprecated] Fix that by adding the missing `-x c++` in the rule building `gdb/nat/*.c` files for the in-process agent. Change-Id: Ie53e4b9a8b57bef9669397fdfaf21617107c7180 --- gdbserver/Makefile.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdbserver/Makefile.in b/gdbserver/Makefile.in index bd6f68e7f2cf..5506701106df 100644 --- a/gdbserver/Makefile.in +++ b/gdbserver/Makefile.in @@ -520,7 +520,7 @@ gdbsupport/%-ipa.o: ../gdbsupport/%.cc $(POSTCOMPILE) nat/%-ipa.o: ../gdb/nat/%.c - $(IPAGENT_COMPILE) $< + $(IPAGENT_COMPILE) -x c++ $< $(POSTCOMPILE) %-ipa.o: ../gdb/%.c