From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id /NgiKcYci2iWqgAAWB0awg (envelope-from ) for ; Thu, 31 Jul 2025 03:35:34 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=google header.b=aRZMgwQH; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 8FB101E102; Thu, 31 Jul 2025 03:35:34 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.1 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 ESMTPS id 92A241E089 for ; Thu, 31 Jul 2025 03:35:33 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1DBF63858C78 for ; Thu, 31 Jul 2025 07:35:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1DBF63858C78 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=suse.com header.i=@suse.com header.a=rsa-sha256 header.s=google header.b=aRZMgwQH Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) by sourceware.org (Postfix) with ESMTPS id 82B443858D1E for ; Thu, 31 Jul 2025 07:34:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 82B443858D1E Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=suse.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 82B443858D1E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::430 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1753947247; cv=none; b=q7rSokAP9AGMeaZPAFK3rZAzPl+bcfl7fBWfR6HukbqBzgHgqkB3hq87hbtui8U07U7JCxw3PN5ljBkx0mvZSk5drktzo1ubWKt2uSWx2NMqF6kEVYOjh/SRosSy0DRbAvZLpZR9epJN1mj0OEJ0oQhwTLj4CVRm4jIzapCzZME= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1753947247; c=relaxed/simple; bh=ycpemkBEbqrM9Vtq6ZVTdcIAzmBmFTv7cWupdjHyA5M=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=oWLcqE6RUqZAtWK13xgU+arFMud2NJ/m7/yB2dQFflAbNA/AJJA6L4ZYxt2b93dxjQZ8b2HulnLoPvWlZOmplpQ9GDLwO1dY458bKcdtLmks7qD5KCn94i2Q1+jzcrcgmQCOyi0IpM7LTPSiW9O1hDUrMl1sydtIK8AzBzPpn8s= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 82B443858D1E Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-3b77b8750acso287683f8f.0 for ; Thu, 31 Jul 2025 00:34:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1753947246; x=1754552046; darn=sourceware.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to; bh=0wgsk0E36xwx1kLgKzEXMKj6zD8xbi7dCfKEfeG5oXc=; b=aRZMgwQHzjvEDpuPqtxGoq61fLRX8OXpL2W0tbNQuo7sEOki63e1gFcDh7auDdxaeZ tXo5neI1fyTYxix/css8s3urYp4N2bNlFPsguwDGXhoSb1vVGxKJIwldojWl7P37/z83 86GIIosTa5iKcCs0wfUTawkxoWmRYORYg7GtSIuFwIt3VPJMyRIyaQnMQBp0nZ+jcyr/ Ngc8vBH43TiO48VneGgTw1af49LuLf56CkuIoj0boOWOLqXTLfLBLd0ss9V2eHoamXnn JbSOHuwvDgfTTT8dJ+eavmeR8LLp9SyGmpOZD7dnwtFAOVnGZ3EP8CK+EZGcn9F+6Pjq sjlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753947246; x=1754552046; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0wgsk0E36xwx1kLgKzEXMKj6zD8xbi7dCfKEfeG5oXc=; b=UXSd44L2BWDAahHQ33XbgYEfUwgcO+wzjmM6zzqev74W8cC+os5RK1zXx0Nm78z8fz sWdBieOtYCHYbdW7AH++KcsXZ8YWc0Ng3x+7njjotFun5l6syiingFnPW7742ASh7WSq tMq+2q6TuVvvrTrR/60X6qkdOz2aRMmltaXAQkmRLljCYWG4g1i7pQgzLVWPxCVlSAaA h5LJKLMZTr/nvbhwSeWUBDsPRqmuCJQFPVFzDd5xLbR88ZtPsWz/ugYFAF5fwqptuZ9H 2zXgR0e5ezCgDMWB5qqX0IX1//aHlRYCjKqVZyspxFuY7CpkaJr9pz4uc8PDk3IZgiGd pNUg== X-Forwarded-Encrypted: i=1; AJvYcCWgDibFVHA1n28bALj/Hm7izwuL4/F8fE+Ph9nAdLsB/MMVRXzJJ+LU9lOs4DlGacdfNQOBblob6ACsOA==@sourceware.org X-Gm-Message-State: AOJu0YwFITFLgCyu0CZo+S0gmoAs6j1yYDBZEJaqUZNCZxa34IM/OU3y +GBBBRjhzxm94PjbdFAvXNusyPaLr+phgo5sxug0FsbBPq5nVqkflaanmbfuhYsAfg== X-Gm-Gg: ASbGncuPnOVL63cJVfn4fvhW6rczSgj7UJc0xOSjZdFM3KYmYtBGW7HcEXm2lOS2QN1 gM7iUzQ79L9g0YAtSlWibuTOTJOUYqxjimPfRGE2qXUg24eFVp2N22iglkxEq0mh9icI+WnJ7+8 Ybffqojw7f37eRZFBuaekIyrJ9wq3TaEQA0UNX+2bLDQOAYt7Xo1V+Pu5r7gKgJ6w86o+Zrtjy4 1KnBV1+trJOXuAZx/O+O0GZhtZb0K1vpCHCZ6dg4M5roTpRnOORxCFIGcefNQQyYiXGE2mlHei2 CiOSH7gXdZwqY1ehIbI+D31Go7Bxml/M/19NzvfVII78aaEx0Yn9LZUJcWEGaRTguoMupninRi+ Rc6Oytydbs502N93HabqnUtiMlAarRJjfmQolo30KTLLkHaswJVtEsD9Mw1fpgndnSXuZRhHn9V pYN/0uMKI= X-Google-Smtp-Source: AGHT+IEp0+1U9cxVgfryo4vcynl1osgaWLeBnRU/Il5ygSV4k+HmZNIuQt8D9QUgq7ZxIY+q5O3i+Q== X-Received: by 2002:a05:6000:2484:b0:3b7:8f49:94e4 with SMTP id ffacd0b85a97d-3b79d43cd68mr817636f8f.7.1753947246080; Thu, 31 Jul 2025 00:34:06 -0700 (PDT) Received: from [10.156.60.236] (ip-037-024-206-209.um08.pools.vodafone-ip.de. [37.24.206.209]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b422dc7cfe9sm637470a12.17.2025.07.31.00.34.00 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 31 Jul 2025 00:34:05 -0700 (PDT) Message-ID: <33733871-dc78-4eba-91f2-ff552762ab5e@suse.com> Date: Thu, 31 Jul 2025 09:33:55 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] Set rv64gcv as default to enable vector extension for disassembly To: Charlie Jenkins Cc: Andreas Schwab , Andrew Burgess , Soham Gargote , gdb-patches@sourceware.org, binutils@sourceware.org, Sameer Natu , Nelson Chu References: <20250723104034.2324-2-sgargote@whileone.in> <87a54ldftg.fsf@redhat.com> Content-Language: en-US From: Jan Beulich Autocrypt: addr=jbeulich@suse.com; keydata= xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A nAuWpQkjM1ASeQwSHEeAWPgskBQL In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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~public-inbox=simark.ca@sourceware.org On 31.07.2025 09:21, Charlie Jenkins wrote: > On Thu, Jul 31, 2025 at 10:37:16AM +0800, Nelson Chu wrote: >> On Wed, Jul 30, 2025 at 9:09 PM Andreas Schwab wrote: >> >>> Why is that needed? AFAICT, objdump will happily decode any extension >>> without that change. >>> >> >> I guess maybe they are trying to dump an object which writes >> vector instructions by .insn directives, so the elf architecture attribute >> or mapping symbols won't have v. I will suggest two solutions here rather > > The goal here is to be able to use the disassembler from inside of > native riscv gdb to dump any instruction. Yet you won't achieve that by enabling just V. > Currently it seems like gdb > will only dump a subset of all instructions, even with the patch you > sent Nelson. Here is an example program: > > $ cat sample.c > // sample.c > volatile int num; > volatile int num2; > > int main() > { > asm("vsetvli t0, a0, e32"); > return num & ~num2; // zbb instruction andn > } > $ gcc -march=rv64gcv_zbb -O2 sample.c -o sample > $ readelf -A sample > Attribute Section: riscv > File Attributes > Tag_RISCV_stack_align: 16-bytes > Tag_RISCV_arch: "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_v1p0_zicsr2p0_zifencei2p0_zmmul1p0_zbb1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0" > $ objdump -d sample > ... > 0000000000000570
: > 570: 010572d7 vsetvli t0,a0,e32,m1,tu,mu > 574: 00002517 auipc a0,0x2 > 578: a9852503 lw a0,-1384(a0) # 200c > 57c: 00002797 auipc a5,0x2 > 580: a947a783 lw a5,-1388(a5) # 2010 > 584: 40a7f533 andn a0,a5,a0 > 588: 8082 ret > ... > $ gdb sample > (gdb) disassemble main > Dump of assembler code for function main: > 0x0000000000000570 <+0>: .insn 4, 0x010572d7 > 0x0000000000000574 <+4>: auipc a0,0x2 > 0x0000000000000578 <+8>: lw a0,-1384(a0) # 0x200c > 0x000000000000057c <+12>: auipc a5,0x2 > 0x0000000000000580 <+16>: lw a5,-1388(a5) # 0x2010 > 0x0000000000000584 <+20>: .insn 4, 0x40a7f533 > 0x0000000000000588 <+24>: .insn 2, 0x8082 > > The disassembled instructions are lacking, even though the attributes > contains the extensions. I had previously thought that this had to do > with the decode() function in gdb/riscv-tdep.c but that seems to only > handle gdb-specific decoding and not this disassembling. > > What is the way to have the disassembler dump all of the instructions of > supported extensions on native riscv gdb? Iirc there is a way to achieve ... >> than just modify the default_arch, >> 1. using -Mmax option ... the effect of this (objdump) option also in gdb, presumably via some "set" command. Whether it makes sense to make this (and not GCV) the default in gdb I don't know. The problem is that there are conflicting extensions. It may be better to set the default based on (target) host capabilities. Jan