From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id ADF9A3858002; Sun, 19 Sep 2021 16:45:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org ADF9A3858002 From: "wilson at gcc dot gnu.org" To: elfutils-devel@sourceware.org Subject: [Bug backends/27925] riscv backend only provides return value locations for code compiled for LP64D ABI Date: Sun, 19 Sep 2021 16:45:26 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: elfutils X-Bugzilla-Component: backends X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: wilson at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Elfutils-devel mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 19 Sep 2021 16:45:26 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D27925 --- Comment #3 from Jim Wilson --- I'm not aware of any supported lp64 linux systems, so I don't know why the patch is needed, and I am unable to test it. It does look mostly reasonable. The riscv_init.c change isn't quite correc= t as we have 3 64-bit ABIs. lp64d is 64-bit FP registers, lp64f is 32-bit FP registers, and lp64 is no FP registers. So we actually need a check for the lp64 ABI instead of assuming that !lp64d is lp64. Also the "lp64i" should = be "lp64" to be consistent with the ABI naming scheme. I would suspect other changes are required for full lp64 support.=20 riscv_abi_cfi references FP registers unconditionally. riscv_register_info references FP registers unconditionally. The lp64 and lp64f support is incomplete because I've never had access to a system where I can do the necessary work. Similarly, the ilp32, ilp32f, and ilp64d support is also incomplete as I don't have access to any system I can use to develop them. All RISC-V linux desktop distros are lp64d. I think = the linux kernel lacks support for ilp32f and lp64f so those may be impossible = to build at present. There are some embedded linux distros that use the 32-bit ABIs, and/or that use soft-float ABIs, but SiFive doesn't support those. So I'd have to build an entire linux distro from scratch and boot on qemu to s= et up an environment just to do an elfutils port, and I haven't been willing t= o do that. --=20 You are receiving this mail because: You are on the CC list for the bug.=