Re: [PATCH v1 02/15] perf report: output trace file name in raw trace dump

From: Alexey Budankov
Date: Tue Oct 13 2020 - 17:23:17 EST


Hi,

On 13.10.2020 22:54, Jiri Olsa wrote:
> On Mon, Oct 12, 2020 at 11:54:24AM +0300, Alexey Budankov wrote:
>>
>> Output path of a trace file into raw dump (-D) <file_offset>@<path/file>.
>> Print offset of PERF_RECORD_COMPRESSED record instead of zero for
>> decompressed records:
>> 0x2226a@xxxxxxxxx [0x30]: event: 9
>> or
>> 0x15cc36@xxxxxxxxx/data.7 [0x30]: event: 9
>>
>> Signed-off-by: Alexey Budankov <alexey.budankov@xxxxxxxxxxxxxxx>
>
> hi,
> I'm getting:
>
> CC builtin-inject.o
> builtin-inject.c: In function ‘cmd_inject’:
> builtin-inject.c:850:18: error: initialization of ‘int (*)(struct perf_session *, union perf_event *, u64, const char *)’ {aka ‘int (*)(struct perf_session *, union perf_event *, long unsigned int, const char *)’} from incompatible pointer type ‘int (*)(struct perf_session *, union perf_event *, u64)’ {aka ‘int (*)(struct perf_session *, union perf_event *, long unsigned int)’} [-Werror=incompatible-pointer-types]
> 850 | .compressed = perf_event__repipe_op4_synth,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> builtin-inject.c:850:18: note: (near initialization for ‘inject.tool.compressed’)
>
> it's probably recent build id changes

Looks like that's it. Fix is in v2 and follows:

diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
index f3f965157d69..35c005b8da7f 100644
--- a/tools/perf/builtin-inject.c
+++ b/tools/perf/builtin-inject.c
@@ -106,7 +106,8 @@ static int perf_event__repipe_op2_synth(struct perf_session *session,

static int perf_event__repipe_op4_synth(struct perf_session *session,
union perf_event *event,
- u64 data __maybe_unused)
+ u64 data __maybe_unused,
+ const char *str __maybe_unused)
{
return perf_event__repipe_synth(session->tool, event);
}

Thanks!
Alexei