Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'perf-tools-fixes-for-v5.15-2021-10-31' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux

Pull perf tools fixes from Arnaldo Carvalho de Melo:

- Fix compilation of callchain related code on powerpc with gcc11+

- Fix PERF_SAMPLE_WEIGHT_STRUCT support in 'perf script'

- Check session->header.env.arch before using it, fixing a segmentation
fault

- Suppress 'rm dlfilter' build messages

* tag 'perf-tools-fixes-for-v5.15-2021-10-31' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
perf script: Fix PERF_SAMPLE_WEIGHT_STRUCT support
perf callchain: Fix compilation on powerpc with gcc11+
perf script: Check session->header.env.arch before using it
perf build: Suppress 'rm dlfilter' build message

+12 -6
+2
tools/perf/Makefile.perf
··· 787 787 $(Q)$(MKDIR) -p $(OUTPUT)dlfilters 788 788 $(QUIET_CC)$(CC) -c -Iinclude $(EXTRA_CFLAGS) -o $@ -fpic $< 789 789 790 + .SECONDARY: $(DLFILTERS:.so=.o) 791 + 790 792 $(OUTPUT)dlfilters/%.so: $(OUTPUT)dlfilters/%.o 791 793 $(QUIET_LINK)$(CC) $(EXTRA_CFLAGS) -shared -o $@ $< 792 794
+1 -1
tools/perf/arch/powerpc/util/skip-callchain-idx.c
··· 45 45 */ 46 46 static int check_return_reg(int ra_regno, Dwarf_Frame *frame) 47 47 { 48 - Dwarf_Op ops_mem[2]; 48 + Dwarf_Op ops_mem[3]; 49 49 Dwarf_Op dummy; 50 50 Dwarf_Op *ops = &dummy; 51 51 size_t nops;
+9 -5
tools/perf/builtin-script.c
··· 459 459 return -EINVAL; 460 460 461 461 if (PRINT_FIELD(WEIGHT) && 462 - evsel__check_stype(evsel, PERF_SAMPLE_WEIGHT, "WEIGHT", PERF_OUTPUT_WEIGHT)) 462 + evsel__check_stype(evsel, PERF_SAMPLE_WEIGHT_TYPE, "WEIGHT", PERF_OUTPUT_WEIGHT)) 463 463 return -EINVAL; 464 464 465 465 if (PRINT_FIELD(SYM) && ··· 4039 4039 goto out_delete; 4040 4040 4041 4041 uname(&uts); 4042 - if (data.is_pipe || /* assume pipe_mode indicates native_arch */ 4043 - !strcmp(uts.machine, session->header.env.arch) || 4044 - (!strcmp(uts.machine, "x86_64") && 4045 - !strcmp(session->header.env.arch, "i386"))) 4042 + if (data.is_pipe) { /* Assume pipe_mode indicates native_arch */ 4046 4043 native_arch = true; 4044 + } else if (session->header.env.arch) { 4045 + if (!strcmp(uts.machine, session->header.env.arch)) 4046 + native_arch = true; 4047 + else if (!strcmp(uts.machine, "x86_64") && 4048 + !strcmp(session->header.env.arch, "i386")) 4049 + native_arch = true; 4050 + } 4047 4051 4048 4052 script.session = session; 4049 4053 script__setup_sample_type(&script);