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

Tiezhu Yang posted 1 patch 12 months ago
tools/testing/selftests/bpf/sdt.h | 2 ++
1 file changed, 2 insertions(+)
[PATCH bpf] selftests/bpf: Use asm constraint "m" for LoongArch
Posted by Tiezhu Yang 12 months ago
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@vger.kernel.org
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@loongson.cn>
Suggested-by: Li Chen <chenli@loongson.cn>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
---
 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
Re: [PATCH bpf] selftests/bpf: Use asm constraint "m" for LoongArch
Posted by Huacai Chen 12 months ago
Reviewed-by: Huacai Chen <chenhuacai@loongson.cn>

On Thu, Dec 19, 2024 at 7:15 PM Tiezhu Yang <yangtiezhu@loongson.cn> 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@vger.kernel.org
> 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@loongson.cn>
> Suggested-by: Li Chen <chenli@loongson.cn>
> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
> ---
>  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
>
>