Thread (13 messages) 13 messages, 3 authors, 2021-03-02

Re: [PATCH v2 0/3] Add some perf support for mips

From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2021-02-25 13:13:44
Also in: lkml

Em Thu, Feb 25, 2021 at 10:10:12AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Thu, Feb 25, 2021 at 09:49:56AM -0300, Arnaldo Carvalho de Melo escreveu:
quoted
Em Wed, Feb 24, 2021 at 10:16:55AM -0300, Arnaldo Carvalho de Melo escreveu:
quoted
Em Mon, Feb 22, 2021 at 02:43:39PM +0800, Tiezhu Yang escreveu:
quoted
On 02/04/2021 11:35 AM, Tiezhu Yang wrote:
quoted
v2: add R26 and R27 to the enum perf_event_mips_regs in patch #1

Tiezhu Yang (3):
   MIPS: kernel: Support extracting off-line stack traces from user-space
     with perf
   perf tools: Support mips unwinding and dwarf-regs
   perf tools: Generate mips syscalls_n64.c syscall table
Hi Arnaldo,

The kernel part patch #1 has been merged.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1ddc96bd42da

Could the perf tool patches #2 and #3 have a chance to be merged before
5.12-rc1?
If yes, we can use this feature in 5.12-rc1.
Thanks, applied, should make it into 5.12-rc1.
First we'll have to fix this problem:

  28    12.45 debian:experimental-x-mips64  : FAIL gcc version 10.2.1 20201224 (Debian 10.2.1-3)
                     from builtin-diff.c:12:
    /git/linux/tools/perf/arch/mips/include/perf_regs.h:7:10: fatal error: asm/perf_regs.h: No such file or directory
        7 | #include <asm/perf_regs.h>
          |          ^~~~~~~~~~~~~~~~~
    compilation terminated.
    In file included from util/perf_regs.h:30,
                     from util/event.h:15,
                     from util/branch.h:15,
                     from util/callchain.h:8,
                     from builtin-record.c:16:
    /git/linux/tools/perf/arch/mips/include/perf_regs.h:7:10: fatal error: asm/perf_regs.h: No such file or directory
I'm not finding it in the debian cross build packages:

root@d77a78c0aa1c:/# apt-file find perf_regs.h | grep cross
linux-libc-dev-amd64-cross: /usr/x86_64-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-arm64-cross: /usr/aarch64-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-armel-cross: /usr/arm-linux-gnueabi/include/asm/perf_regs.h
linux-libc-dev-armhf-cross: /usr/arm-linux-gnueabihf/include/asm/perf_regs.h
linux-libc-dev-i386-cross: /usr/i686-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-powerpc-cross: /usr/powerpc-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-ppc64-cross: /usr/powerpc64-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-ppc64el-cross: /usr/powerpc64le-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-riscv64-cross: /usr/riscv64-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-s390x-cross: /usr/s390x-linux-gnu/include/asm/perf_regs.h
linux-libc-dev-x32-cross: /usr/x86_64-linux-gnux32/include/asm/perf_regs.h
root@d77a78c0aa1c:/#

Ideas?
Trying with:

[perfbuilder@five x-mips]$ db
acmel/linux-perf-tools-build-ubuntu:19.10-x-mips
STEP 1: FROM ubuntu:21.04
STEP 2: MAINTAINER Arnaldo Carvalho de Melo [off-list ref]
STEP 3: ENV ARCH mips
STEP 4: ENV TARGET mips-linux-gnu
STEP 5: ENV CROSS_COMPILE=${TARGET}-
STEP 6: RUN apt-get -y update &&     apt-get -y install make gcc-${TARGET} g++-${TARGET} flex bison git python3 &&     apt-get -y install curl wget bzip2 xz-utils file &&     export ELFUTILS_VER=0.173 &&     export ZLIB_VER=1.2.11 &&     export INSTALLDIR=/usr/${TARGET} &&     export PATH=$INSTALLDIR/bin:$PATH &&     export TARGETMACH=${TARGET} &&     export CROSS=${TARGET}- &&     export CC=${CROSS}gcc &&     export LD=${CROSS}ld &&     export AS=${CROSS}as &&     wget -q http://zlib.net/zlib-${ZLIB_VER}.tar.gz &&     wget -q https://fedorahosted.org/releases/e/l/elfutils/${ELFUTILS_VER}/elfutils-${ELFUTILS_VER}.tar.bz2 &&     tar xf zlib-${ZLIB_VER}.tar.gz &&     cd zlib-${ZLIB_VER} &&     ./configure --prefix=${INSTALLDIR} &&     make &&     make install &&     cd .. &&     rm -rf zlib-${ZLIB_VER} &&     rm -f zlib-${ZLIB_VER}.tar.gz &&     tar xf elfutils-${ELFUTILS_VER}.tar.bz2 &&     cd elfutils-${ELFUTILS_VER} &&     ./configure --host=${TARGET} --prefix=${INSTALLDIR} &&     make &&     make install &&     cd .. &&     rm -rf elfutils-${ELFUTILS_VER}* &&     git clone https://github.com/Linaro/OpenCSD.git &&     make -C OpenCSD/decoder/build/linux/ CROSS_COMPILE=${CROSS} install &&     rm -rf OpenCSD &&     apt-get -y remove wget bzip2 &&     apt-get -y clean &&     unset TARGET INSTALLDIR TARGETMACH CROSS CC LD AS &&     mkdir -m 777 -p /git /tmp/build/perf /tmp/build/objtool /tmp/build/linux &&     groupadd -r perfbuilder &&     useradd -m -r -g perfbuilder perfbuilder &&     chown -R perfbuilder.perfbuilder /tmp/build/ /git/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help