* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.