linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tools/perf: Fix compiler error when using gcc-14.
@ 2024-01-06  9:41 Yanteng Si
  2024-01-08 22:09 ` Namhyung Kim
  2024-01-30 13:56 ` Arnaldo Carvalho de Melo
  0 siblings, 2 replies; 3+ messages in thread
From: Yanteng Si @ 2024-01-06  9:41 UTC (permalink / raw)
  To: peterz, mingo, acme, linux-perf-users
  Cc: mark.rutland, alexander.shishkin, jolsa, namhyung, irogers,
	adrian.hunter, Sun Haiyong, Yanteng Si

From: Sun Haiyong <sunhaiyong@loongson.cn>

the definition of calloc is as follows:
    void *calloc(size_t nmemb, size_t size);
number of members is in the first parameter and the size is in the second
parameter.

fixed error message on the gcc 14 20240102:
error: 'calloc' sizes specified with 'sizeof' in the earlier argument and
not in the later argument [-Werror=calloc-transposed-args]

Signed-off-by: Sun Haiyong <sunhaiyong@loongson.cn>
Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 tools/perf/builtin-record.c        | 4 ++--
 tools/perf/util/hist.c             | 4 ++--
 tools/perf/util/metricgroup.c      | 2 +-
 tools/perf/util/synthetic-events.c | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 91e6828c38cc..86c910125172 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -4080,8 +4080,8 @@ int cmd_record(int argc, const char **argv)
 	}
 
 	if (rec->switch_output.num_files) {
-		rec->switch_output.filenames = calloc(sizeof(char *),
-						      rec->switch_output.num_files);
+		rec->switch_output.filenames = calloc(rec->switch_output.num_files,
+						      sizeof(char *));
 		if (!rec->switch_output.filenames) {
 			err = -EINVAL;
 			goto out_opts;
diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
index 0888b7163b7c..fa359180ebf8 100644
--- a/tools/perf/util/hist.c
+++ b/tools/perf/util/hist.c
@@ -491,8 +491,8 @@ static int hist_entry__init(struct hist_entry *he,
 	}
 
 	if (symbol_conf.res_sample) {
-		he->res_samples = calloc(sizeof(struct res_sample),
-					symbol_conf.res_sample);
+		he->res_samples = calloc(symbol_conf.res_sample,
+					sizeof(struct res_sample));
 		if (!he->res_samples)
 			goto err_srcline;
 	}
diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
index ca3e0404f187..966cca5a3e88 100644
--- a/tools/perf/util/metricgroup.c
+++ b/tools/perf/util/metricgroup.c
@@ -286,7 +286,7 @@ static int setup_metric_events(const char *pmu, struct hashmap *ids,
 	*out_metric_events = NULL;
 	ids_size = hashmap__size(ids);
 
-	metric_events = calloc(sizeof(void *), ids_size + 1);
+	metric_events = calloc(ids_size + 1, sizeof(void *));
 	if (!metric_events)
 		return -ENOMEM;
 
diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
index 3712186353fb..2a0289c14959 100644
--- a/tools/perf/util/synthetic-events.c
+++ b/tools/perf/util/synthetic-events.c
@@ -1055,11 +1055,11 @@ int perf_event__synthesize_threads(struct perf_tool *tool,
 	if (thread_nr > n)
 		thread_nr = n;
 
-	synthesize_threads = calloc(sizeof(pthread_t), thread_nr);
+	synthesize_threads = calloc(thread_nr, sizeof(pthread_t));
 	if (synthesize_threads == NULL)
 		goto free_dirent;
 
-	args = calloc(sizeof(*args), thread_nr);
+	args = calloc(thread_nr, sizeof(*args));
 	if (args == NULL)
 		goto free_threads;
 
-- 
2.31.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] tools/perf: Fix compiler error when using gcc-14.
  2024-01-06  9:41 [PATCH] tools/perf: Fix compiler error when using gcc-14 Yanteng Si
@ 2024-01-08 22:09 ` Namhyung Kim
  2024-01-30 13:56 ` Arnaldo Carvalho de Melo
  1 sibling, 0 replies; 3+ messages in thread
From: Namhyung Kim @ 2024-01-08 22:09 UTC (permalink / raw)
  To: Yanteng Si
  Cc: peterz, mingo, acme, linux-perf-users, mark.rutland,
	alexander.shishkin, jolsa, irogers, adrian.hunter, Sun Haiyong

Hello,

On Sat, Jan 6, 2024 at 1:41 AM Yanteng Si <siyanteng@loongson.cn> wrote:
>
> From: Sun Haiyong <sunhaiyong@loongson.cn>
>
> the definition of calloc is as follows:
>     void *calloc(size_t nmemb, size_t size);
> number of members is in the first parameter and the size is in the second
> parameter.
>
> fixed error message on the gcc 14 20240102:
> error: 'calloc' sizes specified with 'sizeof' in the earlier argument and
> not in the later argument [-Werror=calloc-transposed-args]
>
> Signed-off-by: Sun Haiyong <sunhaiyong@loongson.cn>
> Signed-off-by: Yanteng Si <siyanteng@loongson.cn>

Acked-by: Namhyung Kim <namhyung@kernel.org>

Thanks,
Namhyung

> ---
>  tools/perf/builtin-record.c        | 4 ++--
>  tools/perf/util/hist.c             | 4 ++--
>  tools/perf/util/metricgroup.c      | 2 +-
>  tools/perf/util/synthetic-events.c | 4 ++--
>  4 files changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 91e6828c38cc..86c910125172 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -4080,8 +4080,8 @@ int cmd_record(int argc, const char **argv)
>         }
>
>         if (rec->switch_output.num_files) {
> -               rec->switch_output.filenames = calloc(sizeof(char *),
> -                                                     rec->switch_output.num_files);
> +               rec->switch_output.filenames = calloc(rec->switch_output.num_files,
> +                                                     sizeof(char *));
>                 if (!rec->switch_output.filenames) {
>                         err = -EINVAL;
>                         goto out_opts;
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index 0888b7163b7c..fa359180ebf8 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -491,8 +491,8 @@ static int hist_entry__init(struct hist_entry *he,
>         }
>
>         if (symbol_conf.res_sample) {
> -               he->res_samples = calloc(sizeof(struct res_sample),
> -                                       symbol_conf.res_sample);
> +               he->res_samples = calloc(symbol_conf.res_sample,
> +                                       sizeof(struct res_sample));
>                 if (!he->res_samples)
>                         goto err_srcline;
>         }
> diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
> index ca3e0404f187..966cca5a3e88 100644
> --- a/tools/perf/util/metricgroup.c
> +++ b/tools/perf/util/metricgroup.c
> @@ -286,7 +286,7 @@ static int setup_metric_events(const char *pmu, struct hashmap *ids,
>         *out_metric_events = NULL;
>         ids_size = hashmap__size(ids);
>
> -       metric_events = calloc(sizeof(void *), ids_size + 1);
> +       metric_events = calloc(ids_size + 1, sizeof(void *));
>         if (!metric_events)
>                 return -ENOMEM;
>
> diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
> index 3712186353fb..2a0289c14959 100644
> --- a/tools/perf/util/synthetic-events.c
> +++ b/tools/perf/util/synthetic-events.c
> @@ -1055,11 +1055,11 @@ int perf_event__synthesize_threads(struct perf_tool *tool,
>         if (thread_nr > n)
>                 thread_nr = n;
>
> -       synthesize_threads = calloc(sizeof(pthread_t), thread_nr);
> +       synthesize_threads = calloc(thread_nr, sizeof(pthread_t));
>         if (synthesize_threads == NULL)
>                 goto free_dirent;
>
> -       args = calloc(sizeof(*args), thread_nr);
> +       args = calloc(thread_nr, sizeof(*args));
>         if (args == NULL)
>                 goto free_threads;
>
> --
> 2.31.4
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] tools/perf: Fix compiler error when using gcc-14.
  2024-01-06  9:41 [PATCH] tools/perf: Fix compiler error when using gcc-14 Yanteng Si
  2024-01-08 22:09 ` Namhyung Kim
@ 2024-01-30 13:56 ` Arnaldo Carvalho de Melo
  1 sibling, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-01-30 13:56 UTC (permalink / raw)
  To: Yanteng Si
  Cc: peterz, mingo, linux-perf-users, mark.rutland, alexander.shishkin,
	jolsa, namhyung, irogers, adrian.hunter, Sun Haiyong

Em Sat, Jan 06, 2024 at 05:41:29PM +0800, Yanteng Si escreveu:
> From: Sun Haiyong <sunhaiyong@loongson.cn>
> 
> the definition of calloc is as follows:
>     void *calloc(size_t nmemb, size_t size);
> number of members is in the first parameter and the size is in the second
> parameter.
> 
> fixed error message on the gcc 14 20240102:
> error: 'calloc' sizes specified with 'sizeof' in the earlier argument and
> not in the later argument [-Werror=calloc-transposed-args]

Just fyi I merged this into perf-tools.

- Arnaldo
 
> Signed-off-by: Sun Haiyong <sunhaiyong@loongson.cn>
> Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> ---
>  tools/perf/builtin-record.c        | 4 ++--
>  tools/perf/util/hist.c             | 4 ++--
>  tools/perf/util/metricgroup.c      | 2 +-
>  tools/perf/util/synthetic-events.c | 4 ++--
>  4 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 91e6828c38cc..86c910125172 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -4080,8 +4080,8 @@ int cmd_record(int argc, const char **argv)
>  	}
>  
>  	if (rec->switch_output.num_files) {
> -		rec->switch_output.filenames = calloc(sizeof(char *),
> -						      rec->switch_output.num_files);
> +		rec->switch_output.filenames = calloc(rec->switch_output.num_files,
> +						      sizeof(char *));
>  		if (!rec->switch_output.filenames) {
>  			err = -EINVAL;
>  			goto out_opts;
> diff --git a/tools/perf/util/hist.c b/tools/perf/util/hist.c
> index 0888b7163b7c..fa359180ebf8 100644
> --- a/tools/perf/util/hist.c
> +++ b/tools/perf/util/hist.c
> @@ -491,8 +491,8 @@ static int hist_entry__init(struct hist_entry *he,
>  	}
>  
>  	if (symbol_conf.res_sample) {
> -		he->res_samples = calloc(sizeof(struct res_sample),
> -					symbol_conf.res_sample);
> +		he->res_samples = calloc(symbol_conf.res_sample,
> +					sizeof(struct res_sample));
>  		if (!he->res_samples)
>  			goto err_srcline;
>  	}
> diff --git a/tools/perf/util/metricgroup.c b/tools/perf/util/metricgroup.c
> index ca3e0404f187..966cca5a3e88 100644
> --- a/tools/perf/util/metricgroup.c
> +++ b/tools/perf/util/metricgroup.c
> @@ -286,7 +286,7 @@ static int setup_metric_events(const char *pmu, struct hashmap *ids,
>  	*out_metric_events = NULL;
>  	ids_size = hashmap__size(ids);
>  
> -	metric_events = calloc(sizeof(void *), ids_size + 1);
> +	metric_events = calloc(ids_size + 1, sizeof(void *));
>  	if (!metric_events)
>  		return -ENOMEM;
>  
> diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
> index 3712186353fb..2a0289c14959 100644
> --- a/tools/perf/util/synthetic-events.c
> +++ b/tools/perf/util/synthetic-events.c
> @@ -1055,11 +1055,11 @@ int perf_event__synthesize_threads(struct perf_tool *tool,
>  	if (thread_nr > n)
>  		thread_nr = n;
>  
> -	synthesize_threads = calloc(sizeof(pthread_t), thread_nr);
> +	synthesize_threads = calloc(thread_nr, sizeof(pthread_t));
>  	if (synthesize_threads == NULL)
>  		goto free_dirent;
>  
> -	args = calloc(sizeof(*args), thread_nr);
> +	args = calloc(thread_nr, sizeof(*args));
>  	if (args == NULL)
>  		goto free_threads;
>  
> -- 
> 2.31.4
> 

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-01-30 13:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-06  9:41 [PATCH] tools/perf: Fix compiler error when using gcc-14 Yanteng Si
2024-01-08 22:09 ` Namhyung Kim
2024-01-30 13:56 ` Arnaldo Carvalho de Melo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).