Re: [PATCH 11/18] perf metric: Add referenced metrics to hash data

From: John Garry
Date: Mon Jul 13 2020 - 12:29:45 EST


On 12/07/2020 14:26, Jiri Olsa wrote:
+int expr__add_ref(struct expr_parse_ctx *ctx, struct metric_ref *ref)
+{
+ struct expr_id_data *data_ptr = NULL, *old_data = NULL;
+ char *old_key = NULL;
+ char *name;
+ int ret;
+
+ data_ptr = zalloc(sizeof(*data_ptr));
+ if (!data_ptr)
+ return -ENOMEM;
+
+ name = strdup(ref->metric_name);
+ if (!name) {
+ free(data_ptr);
+ return -ENOMEM;
+ }

JFYI, this was not compiling for me:

util/expr.c: In function ‘expr__add_ref’:
util/expr.c:84:13: error: implicit declaration of function ‘zalloc’; did you mean ‘valloc’? [-Werror=implicit-function-declaration]
data_ptr = zalloc(sizeof(*data_ptr));
^~~~~~
valloc
util/expr.c:84:13: error: nested extern declaration of ‘zalloc’ [-Werror=nested-externs]
util/expr.c:84:11: error: assignment to ‘struct expr_id_data *’ from ‘int’ makes pointer from integer without a cast [-Werror=int-conversion]
data_ptr = zalloc(sizeof(*data_ptr));
^
LDutil/arm-spe-decoder/perf-in.o
cc1: all warnings being treated as errors

I think the zalloc.h include is missing.

Thanks,
john