Re: [PATCH] crypto: x86/sha256: Add parentheses around macros' single arguments

From: Jan Beulich
Date: Wed Aug 14 2024 - 02:15:53 EST


On 14.08.2024 06:48, Fangrui Song wrote:
> The macros FOUR_ROUNDS_AND_SCHED and DO_4ROUNDS rely on an
> unexpected/undocumented behavior of the GNU assembler, which might
> change in the future
> (https://sourceware.org/bugzilla/show_bug.cgi?id=32073).
>
> M (1) (2) // 1 arg !? Future: 2 args
> M 1 + 2 // 1 arg !? Future: 3 args
>
> M 1 2 // 2 args
>
> Add parentheses around the single arguments to support future GNU
> assembler and LLVM integrated assembler (when the IsOperator hack from
> the following link is dropped).
>
> Link: https://github.com/llvm/llvm-project/commit/055006475e22014b28a070db1bff41ca15f322f0
> Signed-off-by: Fangrui Song <maskray@xxxxxxxxxx>

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>

Thank you for taking care of one of the many instances! That said,
upstream (binutils) plans now appear to be to continue to support
usages like the ones here, no matter that I'm not really happy about
that. Hence I'm uncertain whether that Clang hack you refer to can
actually be dropped any time soon.

Jan