On Tue, Nov 17, 2020 at 08:36:21PM +0100, Salvatore Bonaccorso wrote:
> Hi Guenter,
> 
> On Sat, Nov 14, 2020 at 05:27:41AM -0800, Guenter Roeck wrote:
> > On 11/14/20 12:35 AM, Salvatore Bonaccorso wrote:
> > > Hi Guenter,
> > > 
> > > On Sat, Oct 31, 2020 at 07:31:32AM -0700, Guenter Roeck wrote:
> > >> On 10/31/20 2:45 AM, Salvatore Bonaccorso wrote:
> > >>> Hi Greg,
> > >>>
> > >>> On Wed, Oct 28, 2020 at 12:56:19PM -0700, Guenter Roeck wrote:
> > >>>> Retry.
> > >>>>
> > >>>> On Wed, Oct 28, 2020 at 10:10:35AM -0700, Guenter Roeck wrote:
> > >>>>> On Tue, Oct 27, 2020 at 02:50:58PM +0100, Greg Kroah-Hartman wrote:
> > >>>>>> This is the start of the stable review cycle for the 4.19.153 
> > >>>>>> release.
> > >>>>>> There are 264 patches in this series, all will be posted as a 
> > >>>>>> response
> > >>>>>> to this one.  If anyone has any issues with these being applied, 
> > >>>>>> please
> > >>>>>> let me know.
> > >>>>>>
> > >>>>>> Responses should be made by Thu, 29 Oct 2020 13:53:47 +0000.
> > >>>>>> Anything received after that time might be too late.
> > >>>>>>
> > >>>>>
> > >>>>> Build results:
> > >>>>>       total: 155 pass: 152 fail: 3
> > >>>>> Failed builds:
> > >>>>>       i386:tools/perf
> > >>>>>       powerpc:ppc6xx_defconfig
> > >>>>>       x86_64:tools/perf
> > >>>>> Qemu test results:
> > >>>>>       total: 417 pass: 417 fail: 0
> > >>>>>
> > >>>>> perf failures are as usual. powerpc:
> > >>>
> > >>> Regarding the perf failures, do you plan to revert b801d568c7d8 ("perf
> > >>> cs-etm: Move definition of 'traceid_list' global variable from header
> > >>> file") included in 4.19.152 or is a bugfix underway?
> > >>>
> > >>
> > >> The problem is:
> > >>
> > >> In file included from util/evlist.h:15:0,
> > >>                  from util/evsel.c:30:
> > >> util/evsel.c: In function ‘perf_evsel__exit’:
> > >> util/util.h:25:28: error: passing argument 1 of ‘free’ discards ‘const’ 
> > >> qualifier from pointer target type
> > >> /usr/include/stdlib.h:563:13: note: expected ‘void *’ but argument is of 
> > >> type ‘const char *’
> > >>  extern void free (void *__ptr) __THROW;
> > >>
> > >> This is seen with older versions of gcc (6.5.0 in my case). I have no 
> > >> idea why
> > >> newer versions of gcc/glibc accept this (afaics free() still expects a 
> > >> char *,
> > >> not a const char *). The underlying problem is that pmu_name should not 
> > >> be
> > >> declared const char *, but char *, since it is allocated. The upstream 
> > >> version
> > >> of perf no longer uses the same definition of zfree(). It was changed 
> > >> from
> > >>  #define zfree(ptr) ({ free(*ptr); *ptr = NULL; })
> > >> to
> > >>  #define zfree(ptr) __zfree((void **)(ptr))
> > >> which does the necessary typecast. The fix would be to either change the 
> > >> definition
> > >> of zfree to add the typecast, or to change the definition of pmu_name to 
> > >> drop the const.
> > >> Both would only apply to v4.19.y. I don't know if either would be 
> > >> acceptable.
> > >>
> > >> Either case, reverting b801d568c7d8 won't solve that problem.
> > > 
> > > Are we talking about the same problem though? With v4.19.157 and
> > > building with "gcc (Debian 8.3.0-6) 8.3.0", with an unpatched source:
> > > 
> > > $ LC_ALL=C.UTF-8 ARCH=x86 make perf
> > > mkdir -p  .
> > > make --no-print-directory -C perf O= subdir=
> > >   BUILD:   Doing 'make -j2' parallel build
> > > Warning: Kernel ABI header at 'tools/include/uapi/drm/i915_drm.h' differs 
> > > from latest version at 'include/uapi/drm/i915_drm.h'
> > > diff -u tools/include/uapi/drm/i915_drm.h include/uapi/drm/i915_drm.h
> > > Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs 
> > > from latest version at 'include/uapi/linux/kvm.h'
> > > diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h
> > > Warning: Kernel ABI header at 'tools/include/uapi/linux/perf_event.h' 
> > > differs from latest version at 'include/uapi/linux/perf_event.h'
> > > diff -u tools/include/uapi/linux/perf_event.h 
> > > include/uapi/linux/perf_event.h
> > > Warning: Kernel ABI header at 'tools/arch/x86/include/asm/cpufeatures.h' 
> > > differs from latest version at 'arch/x86/include/asm/cpufeatures.h'
> > > diff -u tools/arch/x86/include/asm/cpufeatures.h 
> > > arch/x86/include/asm/cpufeatures.h
> > > Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' 
> > > differs from latest version at 'arch/x86/include/uapi/asm/kvm.h'
> > > diff -u tools/arch/x86/include/uapi/asm/kvm.h 
> > > arch/x86/include/uapi/asm/kvm.h
> > > Warning: Kernel ABI header at 'tools/arch/x86/lib/memcpy_64.S' differs 
> > > from latest version at 'arch/x86/lib/memcpy_64.S'
> > > diff -u tools/arch/x86/lib/memcpy_64.S arch/x86/lib/memcpy_64.S
> > > Warning: Kernel ABI header at 'tools/include/uapi/linux/mman.h' differs 
> > > from latest version at 'include/uapi/linux/mman.h'
> > > diff -u tools/include/uapi/linux/mman.h include/uapi/linux/mman.h
> > > 
> > > Auto-detecting system features:
> > > ...                         dwarf: [ on  ]
> > > ...            dwarf_getlocations: [ on  ]
> > > ...                         glibc: [ on  ]
> > > ...                          gtk2: [ OFF ]
> > > ...                      libaudit: [ on  ]
> > > ...                        libbfd: [ OFF ]
> > > ...                        libelf: [ on  ]
> > > ...                       libnuma: [ on  ]
> > > ...        numa_num_possible_cpus: [ on  ]
> > > ...                       libperl: [ on  ]
> > > ...                     libpython: [ on  ]
> > > ...                      libslang: [ on  ]
> > > ...                     libcrypto: [ on  ]
> > > ...                     libunwind: [ on  ]
> > > ...            libdw-dwarf-unwind: [ on  ]
> > > ...                          zlib: [ on  ]
> > > ...                          lzma: [ on  ]
> > > ...                     get_cpuid: [ on  ]
> > > ...                           bpf: [ on  ]
> > > 
> > > Makefile.config:456: No sys/sdt.h found, no SDT events are defined, 
> > > please install systemtap-sdt-devel or systemtap-sdt-dev
> > > Makefile.config:623: GTK2 not found, disables GTK2 support. Please 
> > > install gtk2-devel or libgtk2.0-dev
> > > Makefile.config:682: No 'python-config' tool was found: disables Python 
> > > support - please install python-devel/python-dev
> > > Makefile.config:853: No alternatives command found, you need to set JDIR= 
> > > to point to the root of your Java directory
> > > Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs 
> > > from latest version at 'include/uapi/linux/bpf.h'
> > >   CC       util/cs-etm-decoder/cs-etm-decoder.o
> > >   CC       util/intel-pt.o
> > > util/cs-etm-decoder/cs-etm-decoder.c: In function 
> > > 'cs_etm_decoder__buffer_packet':
> > > util/cs-etm-decoder/cs-etm-decoder.c:287:24: error: 'traceid_list' 
> > > undeclared (first use in this function); did you mean 'trace_event'?
> > >   inode = intlist__find(traceid_list, trace_chan_id);
> > >                         ^~~~~~~~~~~~
> > >                         trace_event
> > > util/cs-etm-decoder/cs-etm-decoder.c:287:24: note: each undeclared 
> > > identifier is reported only once for each function it appears in
> > > make[6]: *** [/build/linux-stable/tools/build/Makefile.build:97: 
> > > util/cs-etm-decoder/cs-etm-decoder.o] Error 1
> > > make[5]: *** [/build/linux-stable/tools/build/Makefile.build:139: 
> > > cs-etm-decoder] Error 2
> > > make[5]: *** Waiting for unfinished jobs....
> > > make[4]: *** [/build/linux-stable/tools/build/Makefile.build:139: util] 
> > > Error 2
> > > make[3]: *** [Makefile.perf:633: libperf-in.o] Error 2
> > > make[2]: *** [Makefile.perf:206: sub-make] Error 2
> > > make[1]: *** [Makefile:70: all] Error 2
> > > make: *** [Makefile:77: perf] Error 2
> > > 
> > > Reverting b801d568c7d8 would still fix the issue for me.
> > > 
> > 
> > You are correct, that is a different issue, and b801d568c7d8 will need to 
> > be reverted
> > to fix it. I just can't figure out how to convince perf to compile this 
> > file for me.
> 
> Thanks for confirming/acking.
> 
> So how to move from here, Greg do you need an explicit patch with the
> revert or can it be taken from here?

An explicit patch is always best, as I can't test this because I have
the same build problems that Guenter has for this.

thanks,

greg k-h

Reply via email to