[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8894bb31-ec2b-7324-9c7f-6820d12d951e@loongson.cn>
Date: Fri, 26 Feb 2021 09:11:17 +0800
From: Tiezhu Yang <yangtiezhu@...ngson.cn>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
Cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Peter Zijlstra <peterz@...radead.org>,
Ingo Molnar <mingo@...hat.com>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...hat.com>,
Namhyung Kim <namhyung@...nel.org>, linux-mips@...r.kernel.org,
linux-kernel@...r.kernel.org, Xuefeng Li <lixuefeng@...ngson.cn>,
Juxin Gao <gaojuxin@...ngson.cn>
Subject: Re: [PATCH v2 0/3] Add some perf support for mips
On 02/25/2021 09:12 PM, Arnaldo Carvalho de Melo wrote:
> 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:
>>> Em Wed, Feb 24, 2021 at 10:16:55AM -0300, Arnaldo Carvalho de Melo escreveu:
>>>> Em Mon, Feb 22, 2021 at 02:43:39PM +0800, Tiezhu Yang escreveu:
>>>>> On 02/04/2021 11:35 AM, Tiezhu Yang wrote:
>>>>>> 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
Sorry for the late reply. I asked for a leave yesterday.
asm/perf_regs.h is a new added file in the patch #1,
the patch link is:
https://lore.kernel.org/patchwork/patch/1375477/
the commit is:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/perf_regs.h?id=1ddc96bd42da
So we should build patch #2 based on patch #1.
Thanks,
Tiezhu
>> I'm not finding it in the debian cross build packages:
>>
>> root@...a78c0aa1c:/# 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@...a78c0aa1c:/#
>>
>> Ideas?
> Trying with:
>
> [perfbuilder@...e 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 <acme@...nel.org>
> 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/
Powered by blists - more mailing lists