From b01c02874bf2909d7a4fe2bd5bd47a01b51f2f7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Mon, 11 Jun 2018 18:14:53 +0200 Subject: [PATCH] Add dedicated README and borrow linux .gitignore --- .gitignore | 142 +++++++++++++++++++++++++++++++++++++++-------------- README.md | 23 +++++++++ 2 files changed, 129 insertions(+), 36 deletions(-) create mode 100644 README.md diff --git a/.gitignore b/.gitignore index 3e5135d..e0e3569 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,106 @@ -PERF-CFLAGS -PERF-GUI-VARS -PERF-VERSION-FILE -FEATURE-DUMP -perf -perf-read-vdso32 -perf-read-vdsox32 -perf-help -perf-record -perf-report -perf-stat -perf-top -perf*.1 -perf*.xml -perf*.html -common-cmds.h -perf.data -perf.data.old -output.svg -perf-archive -perf-with-kcore -tags -TAGS -cscope* -config.mak -config.mak.autogen -*-bison.* -*-flex.* -*.pyc -*.pyo -.config-detected -util/intel-pt-decoder/inat-tables.c -arch/*/include/generated/ -trace/beauty/generated/ -pmu-events/pmu-events.c -pmu-events/jevents +# +# NOTE! Don't add files that are generated in specific +# subdirectories here. Add them in the ".gitignore" file +# in that subdirectory instead. +# +# NOTE! Please use 'git ls-files -i --exclude-standard' +# command after changing this file, to see if there are +# any tracked files which get ignored after the change. +# +# Normal rules (sorted alphabetically) +# +.* +*.a +*.asn1.[ch] +*.bin +*.bz2 +*.c.[012]*.* +*.dtb +*.dtb.S +*.dwo +*.elf +*.gcno +*.gz +*.i +*.ko +*.lex.c +*.ll +*.lst +*.lz4 +*.lzma +*.lzo +*.mod.c +*.o +*.o.* +*.order +*.patch +*.s +*.so +*.so.dbg +*.su +*.symtypes +*.tab.[ch] +*.tar +*.xz +Module.symvers +modules.builtin + +# +# RPM spec file (make rpm-pkg) +# +/*.spec + +# +# git files that we don't want to ignore even if they are dot-files +# +!.gitignore +!.mailmap +!.cocciconfig +!.clang-format + +# +# Generated include files +# +include/config +include/generated +include/ksym +arch/*/include/generated + +# stgit generated dirs +patches-* + +# quilt's files +patches +series + +# cscope files +cscope.* +ncscope.* + +# gnu global files +GPATH +GRTAGS +GSYMS +GTAGS + +# id-utils files +ID + +*.orig +*~ +\#*# + +# +# Leavings from module signing +# +extra_certificates +signing_key.pem +signing_key.priv +signing_key.x509 +x509.genkey + +# Kconfig presets +all.config + +# Kdevelop4 +*.kdev4 diff --git a/README.md b/README.md new file mode 100644 index 0000000..ff95a42 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# Perf, `eh_elf` flavour + +This repository contains a fork of perf, the profiler from the Linux kernel +repository, modified in a way to interface it with `eh_elfs` and (hopefully) +speeding it up on complicated DWARF frames + +## Compiling + +Clone the +[Linux kernel repository](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git) +or get a tarball of its source tree, +then replace the `tools/perf` directory with a clone of this repo. +Then, `cd tools/perf` and `make`, without forgetting to give the compilation +tools the right version of `libunwind`, eg. by setting `LD_RUN_PATH` and +`LIBUNWIND_DIR`: + +```sh + export LD_RUN_PATH=$HOME/local/libunwind/lib + export LIBUNWIND_DIR=$HOME/local/libunwind + make +``` + +This works at least with the linux repository at v4.17-rc5