diff mbox series

[RESEND] perf tools riscv: Add support for riscv lookup_binutils_path

Message ID 20230312130303.87954-1-p4ranlee@gmail.com (mailing list archive)
State Superseded
Headers show
Series [RESEND] perf tools riscv: Add support for riscv lookup_binutils_path | expand

Checks

Context Check Description
conchuod/cover_letter success Single patches do not need cover letters
conchuod/tree_selection success Guessed tree name to be for-next
conchuod/fixes_present success Fixes tag not required for -next series
conchuod/maintainers_pattern success MAINTAINERS pattern errors before the patch: 1 and now 1
conchuod/verify_signedoff success Signed-off-by tag matches author and committer
conchuod/kdoc success Errors and warnings before: 0 this patch: 0
conchuod/build_rv64_clang_allmodconfig success Errors and warnings before: 21 this patch: 21
conchuod/module_param success Was 0 now: 0
conchuod/build_rv64_gcc_allmodconfig success Errors and warnings before: 37 this patch: 37
conchuod/alphanumeric_selects success Out of order selects before the patch: 728 and now 728
conchuod/build_rv32_defconfig success Build OK
conchuod/dtb_warn_rv64 success Errors and warnings before: 3 this patch: 3
conchuod/header_inline success No static functions without inline keyword in header files
conchuod/checkpatch success total: 0 errors, 0 warnings, 0 checks, 30 lines checked
conchuod/source_inline success Was 0 now: 0
conchuod/build_rv64_nommu_k210_defconfig success Build OK
conchuod/verify_fixes success No Fixes tag
conchuod/build_rv64_nommu_virt_defconfig success Build OK

Commit Message

Paran Lee March 12, 2023, 1:03 p.m. UTC
Add to know RISC-V binutils path.

Signed-off-by: Paran Lee <p4ranlee@gmail.com>
---
 tools/perf/arch/common.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Conor Dooley March 12, 2023, 1:40 p.m. UTC | #1
On Sun, Mar 12, 2023 at 10:03:05PM +0900, Paran Lee wrote:
> Add to know RISC-V binutils path.
> 
> Signed-off-by: Paran Lee <p4ranlee@gmail.com>
> ---
>  tools/perf/arch/common.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
> index 59dd875fd5e4..6ac7a22244c0 100644
> --- a/tools/perf/arch/common.c
> +++ b/tools/perf/arch/common.c
> @@ -43,6 +43,20 @@ const char *const powerpc_triplets[] = {
>  	NULL
>  };
>  
> +const char *const riscv32_triplets[] = {
> +	"riscv32-unknown-linux-gnu-",
> +	"riscv32-linux-android-",
> +	"riscv32-linux-gnu-",
> +	NULL
> +};
> +
> +const char *const riscv64_triplets[] = {
> +	"riscv64-unknown-linux-gnu-",
> +	"riscv64-linux-android-",
> +	"riscv64-linux-gnu-",

I don't know anything about perf, so I could be asking a really silly
question here, but how come riscvN-linux- has been omitted here?
The kernel.org toolchains [1] are prefixed that way, although I noticed
in your v1 that you'd seemingly duplicated the arm64 patterns, so I am
curious as to whether the omission is intentional.

Cheers,
Conor.

[1] https://mirrors.edge.kernel.org/pub/tools/crosstool/

> +	NULL
> +};
> +
>  const char *const s390_triplets[] = {
>  	"s390-ibm-linux-",
>  	"s390x-linux-gnu-",
> @@ -168,6 +182,10 @@ static int perf_env__lookup_binutils_path(struct perf_env *env,
>  		path_list = powerpc_triplets;
>  	else if (!strcmp(arch, "sh"))
>  		path_list = sh_triplets;
> +	else if (!strcmp(arch, "riscv32"))
> +		path_list = riscv32_triplets;
> +	else if (!strcmp(arch, "riscv64"))
> +		path_list = riscv64_triplets;
>  	else if (!strcmp(arch, "s390"))
>  		path_list = s390_triplets;
>  	else if (!strcmp(arch, "sparc"))
> -- 
> 2.34.1
>
diff mbox series

Patch

diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
index 59dd875fd5e4..6ac7a22244c0 100644
--- a/tools/perf/arch/common.c
+++ b/tools/perf/arch/common.c
@@ -43,6 +43,20 @@  const char *const powerpc_triplets[] = {
 	NULL
 };
 
+const char *const riscv32_triplets[] = {
+	"riscv32-unknown-linux-gnu-",
+	"riscv32-linux-android-",
+	"riscv32-linux-gnu-",
+	NULL
+};
+
+const char *const riscv64_triplets[] = {
+	"riscv64-unknown-linux-gnu-",
+	"riscv64-linux-android-",
+	"riscv64-linux-gnu-",
+	NULL
+};
+
 const char *const s390_triplets[] = {
 	"s390-ibm-linux-",
 	"s390x-linux-gnu-",
@@ -168,6 +182,10 @@  static int perf_env__lookup_binutils_path(struct perf_env *env,
 		path_list = powerpc_triplets;
 	else if (!strcmp(arch, "sh"))
 		path_list = sh_triplets;
+	else if (!strcmp(arch, "riscv32"))
+		path_list = riscv32_triplets;
+	else if (!strcmp(arch, "riscv64"))
+		path_list = riscv64_triplets;
 	else if (!strcmp(arch, "s390"))
 		path_list = s390_triplets;
 	else if (!strcmp(arch, "sparc"))