Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 22 Jan 2020 09:46:20 -0500
From: Rich Felker <>
To: Luís Marques <>
Subject: Re: Re: [PATCH] Fix RISC-V a_cas inline asm operand sign

On Wed, Jan 22, 2020 at 02:31:25PM +0000, Luís Marques wrote:
> On Wed, Jan 15, 2020 at 1:33 PM Luís Marques <> wrote:
> > This patch adds an explicit cast to the int arguments passed to the inline asm
> > used in the RISC-V's implementation of `a_cas`, to ensure that they are properly
> > sign extended to 64 bits. They aren't automatically sign extended by Clang, and
> > GCC technically also doesn't guarantee that they will be sign extended.
> Does anyone have any feedback regarding this patch?
> If not, perhaps it could be merged?

Thanks for pinging this again. It's unfortunate that clang doesn't do
this right to begin with, but the patch is not terribly ugly and
probably okay.

Can you clarify why it's needed and why sign-extending is the right
thing to do, though? Does lr.w sign-extend the loaded value (vs
zero-extend or something else)?


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.