# 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. If you wish to clone the Linux source tree, and if
you're not going to work on it, you might consider passing `--depth=1` to `git
clone`, in order not to download the history, to keep the download light.
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
