- 28 Apr, 2016 11 commits
-
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Brenden Blanco authored
To avoid exposing the implementation of new/delete of the Argument class, move it out of the header file. This also requires making private the std::string members, so that they cannot be assigned to directly. Let the ArgumentParser assign to them as a friend, and expose const functions to access them as const only from the client. Also, convert non-const reference usages to pass-by-pointer.
-
Vicent Marti authored
-
Vicent Marti authored
-
Brenden Blanco authored
bpf: Wrap `bcc_procutils_which_so` as `BPF.find_library`
-
Vicent Marti authored
This class method was being used outside of the BPF class in the `tracer` and `usdt` tools.
-
- 27 Apr, 2016 1 commit
-
-
Brenden Blanco authored
Explicitly list the libelf runtime dependency
-
- 26 Apr, 2016 2 commits
-
-
Vicent Marti authored
-
Vicent Marti authored
-
- 23 Apr, 2016 2 commits
-
-
4ast authored
Add libelf-dev to Ubuntu build deps
-
Andrew Martin authored
This was required on a Debian system, but in lieu of instructions for that distribution, and as Debian users will follow Ubuntu, would you consider verifying it on Ubuntu and accepting this PR?
-
- 20 Apr, 2016 19 commits
-
-
4ast authored
[RFC] Remove all dependencies on external binaries
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
-
Vicent Marti authored
The native resolvers are used for the Kernel Symbol resolution in the `BPF` class, and for the ProcessSymbols class. A lot of redundant code has been removed.
-
Vicent Marti authored
-
Vicent Marti authored
The `sym` module no longer needs to be exported. The `LD` module is no longer used anywhere.
-
Vicent Marti authored
The static `BPF.SymbolCache` now uses a native symbol resolver instead of the Lua/binutils implementation. Likewise for the kernel symbol resolver, and the `check_path_symbol` API to find a probe's hook address.
-
Vicent Marti authored
-
Vicent Marti authored
This new set of C/C++ APIs is capable of performing symbol resolution for any given running process, using the native `libelf` APIs instead of shelling out to binutils tools. This is a reimplementation of the original ProcSyms Python/Lua code.
-
Vicent Marti authored
These APIs mimic behavior that was being performed using native tools. - bcc_procutils_which_so: resolves a short library name into a full path so a shared object. Equivalent to `ldconfig -p` - bcc_procutils_which: resolves a short name into a full path to a binary. Equivalent to a shell's builtin `which` - bcc_procutils_each_module: lists all the modules loaded in a process' memory space. Uses the kernel's `/proc/$pid/maps` - bcc_procutils_each_ksym: lists all symbols and addresses for the kernel. Uses the kernel's `/proc/kallsyms`
-
Vicent Marti authored
The following APIs have been implemented inside `libbcc`, which programatically replicate the previous usage of `binutils` tools like `objdump` and `elfdump`. - bcc_elf_foreach_usdt: finds all USDT probes inside a given binary - bcc_elf_loadadddr: find the load address for a shared object - bcc_elf_foreach_sym: lists all symbols in an ELF binary or SO - bcc_elf_shared_obj: returns whether a given path is an ELF shared object, a binary, or neither
-
Vicent Marti authored
Add a new a `FindLibElf.cmake` package, and use it to link the main `libbcc` library against the system's LibELF. This library will be used to re-implement functionality that was previously dependent on `binutils`.
-
Vicent Marti authored
Instead of importing the `Find*.cmake` modules directly, place them in the root `cmake/` folder and define it as a CMake Module path. This lets us use the `find_package` builtin to require any given packages.
-
- 19 Apr, 2016 5 commits
-
-
4ast authored
Add infra and ctest for code style formatting
-
Brenden Blanco authored
Add an initial .clang-format file, based on LLVM's style base. Inform the style-check wrapper to only consider h, c, and cc files when it runs, and print out the --verbose output upon failure.
-
Brenden Blanco authored
When user touches a file, that file will be fed to `git clang-format`, and if the tool reports a new diff it will consider the test failed. The files to check will be anything in the current workspace compared to origin/master.
-
Brenden Blanco authored
-
Brenden Blanco authored
-