Re: [PATCH bpf] selftests/bpf: Use asm constraint "m" for LoongArch

From: Huacai Chen
Date: Thu Dec 19 2024 - 07:08:06 EST


Reviewed-by: Huacai Chen <chenhuacai@xxxxxxxxxxx>

On Thu, Dec 19, 2024 at 7:15 PM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote:
>
> Currently, LoongArch LLVM does not support the constraint "o" and no plan
> to support it, it only supports the similar constraint "m", so change the
> constraints from "nor" in the "else" case to arch-specific "nmr" to avoid
> the build error such as "unexpected asm memory constraint" for LoongArch.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 630301b0d59d ("selftests/bpf: Add basic USDT selftests")
> Link: https://llvm.org/docs/LangRef.html#supported-constraint-code-list
> Link: https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp#L172
> Suggested-by: Weining Lu <luweining@xxxxxxxxxxx>
> Suggested-by: Li Chen <chenli@xxxxxxxxxxx>
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> ---
> tools/testing/selftests/bpf/sdt.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/testing/selftests/bpf/sdt.h b/tools/testing/selftests/bpf/sdt.h
> index ca0162b4dc57..1fcfa5160231 100644
> --- a/tools/testing/selftests/bpf/sdt.h
> +++ b/tools/testing/selftests/bpf/sdt.h
> @@ -102,6 +102,8 @@
> # define STAP_SDT_ARG_CONSTRAINT nZr
> # elif defined __arm__
> # define STAP_SDT_ARG_CONSTRAINT g
> +# elif defined __loongarch__
> +# define STAP_SDT_ARG_CONSTRAINT nmr
> # else
> # define STAP_SDT_ARG_CONSTRAINT nor
> # endif
> --
> 2.42.0
>
>