platform/upstream/bcc.git
8 years agobcc-lua: Build as a C executable
Vicent Marti [Sat, 30 Apr 2016 11:37:09 +0000 (13:37 +0200)]
bcc-lua: Build as a C executable

8 years agolua: Make all probes executable
Vicent Marti [Sat, 30 Apr 2016 11:22:42 +0000 (13:22 +0200)]
lua: Make all probes executable

8 years agolua: build as a standalone tool with static libbcc
Vicent Marti [Sat, 30 Apr 2016 11:14:28 +0000 (13:14 +0200)]
lua: build as a standalone tool with static libbcc

8 years agoMerge pull request #514 from mcaleavya/master
Brendan Gregg [Fri, 29 Apr 2016 17:57:45 +0000 (10:57 -0700)]
Merge pull request #514 from mcaleavya/master

updated opensnoop to use bpf_perf_output

8 years agoupdated opensnoop to use bpf_perf_output
mcaleavya [Fri, 29 Apr 2016 12:38:51 +0000 (13:38 +0100)]
updated opensnoop to use bpf_perf_output

8 years agoMerge pull request #498 from vmg/vmg/usdt
4ast [Thu, 28 Apr 2016 21:14:41 +0000 (14:14 -0700)]
Merge pull request #498 from vmg/vmg/usdt

[WIP] Native implementation for USDT probes

8 years agocc: Finish USDT implementation
Vicent Marti [Thu, 28 Apr 2016 17:42:55 +0000 (19:42 +0200)]
cc: Finish USDT implementation

8 years agocc: Implement symbol resolution for USDT
Vicent Marti [Thu, 28 Apr 2016 10:24:05 +0000 (12:24 +0200)]
cc: Implement symbol resolution for USDT

8 years agocc: Split bcc_syms.cc into a C++ header file
Vicent Marti [Thu, 28 Apr 2016 10:22:22 +0000 (12:22 +0200)]
cc: Split bcc_syms.cc into a C++ header file

8 years agocc: Allow callback cancellation on bcc_procutils
Vicent Marti [Thu, 28 Apr 2016 10:20:57 +0000 (12:20 +0200)]
cc: Allow callback cancellation on bcc_procutils

8 years agocc: Add missing include
Vicent Marti [Thu, 28 Apr 2016 10:19:30 +0000 (12:19 +0200)]
cc: Add missing include

8 years agousdt: Implement probe resolution [WIP]
Vicent Marti [Wed, 27 Apr 2016 14:57:58 +0000 (16:57 +0200)]
usdt: Implement probe resolution [WIP]

8 years agousdt: Implement `assign_to_local`
Vicent Marti [Wed, 27 Apr 2016 10:36:26 +0000 (12:36 +0200)]
usdt: Implement `assign_to_local`

8 years agoAdd missing license headers
Vicent Marti [Wed, 27 Apr 2016 09:45:10 +0000 (11:45 +0200)]
Add missing license headers

8 years agousdt: Use `optional` to properly handle missing args
Vicent Marti [Wed, 27 Apr 2016 09:41:54 +0000 (11:41 +0200)]
usdt: Use `optional` to properly handle missing args

8 years agoMove implementation of USDT::Argument into cc file
Brenden Blanco [Sun, 24 Apr 2016 03:02:45 +0000 (20:02 -0700)]
Move implementation of USDT::Argument into cc file

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.

8 years agocc: Implement USDT argument parsing in C++
Vicent Marti [Wed, 20 Apr 2016 23:19:48 +0000 (01:19 +0200)]
cc: Implement USDT argument parsing in C++

8 years agotests: Port the C API suite to C++/Catch
Vicent Marti [Wed, 20 Apr 2016 23:18:40 +0000 (01:18 +0200)]
tests: Port the C API suite to C++/Catch

8 years agoMerge pull request #511 from vmg/vmg/find-library
Brenden Blanco [Thu, 28 Apr 2016 13:30:56 +0000 (06:30 -0700)]
Merge pull request #511 from vmg/vmg/find-library

bpf: Wrap `bcc_procutils_which_so` as `BPF.find_library`

8 years agobpf: Wrap `bcc_procutils_which_so` as `BPF.find_library`
Vicent Marti [Thu, 28 Apr 2016 08:26:26 +0000 (10:26 +0200)]
bpf: Wrap `bcc_procutils_which_so` as `BPF.find_library`

This class method was being used outside of the BPF class in the
`tracer` and `usdt` tools.

8 years agoMerge pull request #507 from vmg/vmg/elf-so
Brenden Blanco [Wed, 27 Apr 2016 03:26:54 +0000 (20:26 -0700)]
Merge pull request #507 from vmg/vmg/elf-so

Explicitly list the libelf runtime dependency

8 years agopackaging: Add `libelf.so` as a runtime dependency
Vicent Marti [Tue, 26 Apr 2016 14:34:11 +0000 (16:34 +0200)]
packaging: Add `libelf.so` as a runtime dependency

8 years agolua: Only build if LuaJIT is available
Vicent Marti [Tue, 26 Apr 2016 14:33:55 +0000 (16:33 +0200)]
lua: Only build if LuaJIT is available

8 years agoMerge pull request #502 from sublimino/patch-1
4ast [Sat, 23 Apr 2016 15:51:08 +0000 (08:51 -0700)]
Merge pull request #502 from sublimino/patch-1

Add libelf-dev to Ubuntu build deps

8 years agoAdd libelf-dev to Ubuntu build deps
Andrew Martin [Sat, 23 Apr 2016 14:10:55 +0000 (15:10 +0100)]
Add libelf-dev to Ubuntu build deps

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?

8 years agoMerge pull request #495 from vmg/vmg/elf-2
4ast [Wed, 20 Apr 2016 15:11:10 +0000 (08:11 -0700)]
Merge pull request #495 from vmg/vmg/elf-2

[RFC] Remove all dependencies on external binaries

8 years agocc: Clang format
Vicent Marti [Wed, 20 Apr 2016 11:37:55 +0000 (13:37 +0200)]
cc: Clang format

8 years agocc: Add tests for the C API
Vicent Marti [Wed, 20 Apr 2016 11:24:55 +0000 (13:24 +0200)]
cc: Add tests for the C API

8 years agocc: Looser heuristic to detect .so modules
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Looser heuristic to detect .so modules

8 years agocc: Only try to list ksyms if we're root
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Only try to list ksyms if we're root

8 years agocc: Move `bcc_resolve_symname` to its proper header
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Move `bcc_resolve_symname` to its proper header

8 years agocc: Add missing license headers
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Add missing license headers

8 years agocc: Format C and C++ code according to Google's styleguide
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Format C and C++ code according to Google's styleguide

8 years agodeps: Add `libelf` to the build requirements
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
deps: Add `libelf` to the build requirements

8 years agopython: Use the native Symbol resolution APIs
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
python: Use the native Symbol resolution APIs

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.

8 years agopython: Wrap the new native symbol APIs
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
python: Wrap the new native symbol APIs

8 years agolua: Remove unused files
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
lua: Remove unused files

The `sym` module no longer needs to be exported. The `LD` module is no
longer used anywhere.

8 years agolua: Use the new native Symbol resolver
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
lua: Use the new native Symbol resolver

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.

8 years agolua: Wrap the new native APIs
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
lua: Wrap the new native APIs

8 years agocc: Add a native Symbol Resolver cache
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Add a native Symbol Resolver cache

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.

8 years agocc: Add a set of process utils written in C/C++
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Add a set of process utils written in C/C++

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`

8 years agocc: Add a set of ELF-related APIs based on libelf
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cc: Add a set of ELF-related APIs based on libelf

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

8 years agocmake: Add dependency to LibELF
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cmake: Add dependency to LibELF

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`.

8 years agocmake: Properly use library detection modules
Vicent Marti [Wed, 20 Apr 2016 11:24:54 +0000 (13:24 +0200)]
cmake: Properly use library detection modules

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.

8 years agoMerge pull request #496 from iovisor/bblanco_dev
4ast [Tue, 19 Apr 2016 21:58:58 +0000 (14:58 -0700)]
Merge pull request #496 from iovisor/bblanco_dev

Add infra and ctest for code style formatting

8 years agoAdd clang-format file, tweak style-check.sh
Brenden Blanco [Tue, 19 Apr 2016 21:14:42 +0000 (14:14 -0700)]
Add clang-format file, tweak style-check.sh

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.

8 years agoAdd ctest for style, using clang-format
Brenden Blanco [Tue, 19 Apr 2016 18:42:49 +0000 (11:42 -0700)]
Add ctest for style, using clang-format

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.

8 years agoRemove git-clang-format output when no files are modified
Brenden Blanco [Tue, 19 Apr 2016 18:15:05 +0000 (11:15 -0700)]
Remove git-clang-format output when no files are modified

8 years agoAdd git-clang-format to be used for testing source style
Brenden Blanco [Tue, 19 Apr 2016 18:13:40 +0000 (11:13 -0700)]
Add git-clang-format to be used for testing source style

8 years agoMerge pull request #494 from iovisor/install-md
4ast [Tue, 19 Apr 2016 01:16:10 +0000 (18:16 -0700)]
Merge pull request #494 from iovisor/install-md

Update INSTALL.md with Xenial instructions

8 years agoUpdate INSTALL.md with Xenial instructions
Brenden Blanco [Tue, 19 Apr 2016 01:12:03 +0000 (03:12 +0200)]
Update INSTALL.md with Xenial instructions

The buildbot is now building nightly ubuntu 16.04 packages. Include the steps to install.

8 years agoMerge pull request #493 from iovisor/bblanco_dev
4ast [Mon, 18 Apr 2016 19:04:12 +0000 (12:04 -0700)]
Merge pull request #493 from iovisor/bblanco_dev

Let bcc debian build depend on 3.7|3.8

8 years agoLet bcc debian build depend on 3.7|3.8
Brenden Blanco [Mon, 18 Apr 2016 18:37:10 +0000 (11:37 -0700)]
Let bcc debian build depend on 3.7|3.8

In Xenial, llvm 3.8 will be available upstream without manual apt steps.
Add those packages as a possible dependency in our build.

8 years agoMerge pull request #489 from aaronpuchert/permissive_regex
Brenden Blanco [Sun, 17 Apr 2016 20:43:27 +0000 (13:43 -0700)]
Merge pull request #489 from aaronpuchert/permissive_regex

Don't require "OS ABI" specification in libraries

8 years agoMerge pull request #490 from vmg/vmg/lua64
4ast [Sun, 17 Apr 2016 15:55:49 +0000 (08:55 -0700)]
Merge pull request #490 from vmg/vmg/lua64

lua: Properly support high-range 64 addresses

8 years agoMerge pull request #487 from bobrik/ubuntu-install
Brenden Blanco [Sun, 17 Apr 2016 15:52:52 +0000 (08:52 -0700)]
Merge pull request #487 from bobrik/ubuntu-install

Install all required packages on ubuntu

8 years agoDon't require "OS ABI" specification in libraries
Aaron Puchert [Sat, 16 Apr 2016 22:06:13 +0000 (00:06 +0200)]
Don't require "OS ABI" specification in libraries

The most important system libraries are listed like this by ldconfig:

libc.so.6 (libc6,x86-64, OS ABI: Linux 3.0.0) => /lib64/libc.so.6

But most user-level libraries don't have the "OS ABI" and will not be
found by the regular expression.

libz.so (libc6,x86-64) => /usr/lib64/libz.so

This makes the regular expression more permissive, so that it finds
those libraries as well.

8 years agolua: Properly support high-range 64 addresses
Vicent Marti [Fri, 15 Apr 2016 23:03:28 +0000 (01:03 +0200)]
lua: Properly support high-range 64 addresses

Lua's native Number type is a 64-bit double with 52-bit precision, which
was causing rounding errors when storing and working with high-range
memory addresses (namely, addresses from the kernel, which are all in
the `0xffffffff........` range).

To work around this, we've made sure to never call `tonumber` on any
variables that represent memory addresses, and instead continue
operating on them with their native types: LuaJIT can work with the
underlying `uint64_t` type for these values and transparently perform
all kinds of numeric operations.

The only limitation of working with native 64-bit types in LuaJIT is
that they cannot be printed with the language's default `string.format`
API. To give better UX to probe writers, these APIs have been
monkeypatched so the `%p` format specifier will now properly handle
64-bit addresses and print them in an appropriate format.

8 years agoInstall all required packages on ubuntu
Ivan Babrou [Thu, 14 Apr 2016 13:20:50 +0000 (14:20 +0100)]
Install all required packages on ubuntu

8 years agoMerge pull request #482 from markdrayton/lua-outside-source-build
4ast [Mon, 11 Apr 2016 22:31:15 +0000 (15:31 -0700)]
Merge pull request #482 from markdrayton/lua-outside-source-build

bcc-lua: build bcc.lua and bcc.o in the build tree

8 years agoMerge pull request #483 from iovisor/bblanco_dev
4ast [Mon, 11 Apr 2016 02:11:08 +0000 (19:11 -0700)]
Merge pull request #483 from iovisor/bblanco_dev

miscellaneous cleanups to C++ and tools/trace

8 years agobcc-lua: build bcc.lua and bcc.o in the build tree
Mark Drayton [Sun, 10 Apr 2016 15:47:28 +0000 (08:47 -0700)]
bcc-lua: build bcc.lua and bcc.o in the build tree

8 years agoSimplify error prints in frontend_action
Brenden Blanco [Sun, 10 Apr 2016 01:41:42 +0000 (18:41 -0700)]
Simplify error prints in frontend_action

8 years agoFix compile error when perf headers are included early
Brenden Blanco [Fri, 8 Apr 2016 23:01:51 +0000 (16:01 -0700)]
Fix compile error when perf headers are included early

I didn't actually track this one down, but was getting some errors
coming out of kernel header files when perf_events.h was included first.
Move it after some std headers that mask the issue.

8 years agoUse lookup instead of delete in test_stackid
Brenden Blanco [Fri, 8 Apr 2016 23:00:03 +0000 (16:00 -0700)]
Use lookup instead of delete in test_stackid

BPF programs aren't allowed to attach to these functions since deadlocks
may occur, thus the test would fail since no stack is collected. Use
update_elem to test instead.

8 years agoFix python3 exception when ctrl-c tools/trace.py
Brenden Blanco [Fri, 8 Apr 2016 22:52:55 +0000 (15:52 -0700)]
Fix python3 exception when ctrl-c tools/trace.py

The way to do exception printing in python2/3 compatible way is using
sys.exc_info()[0/1].

8 years agoMerge pull request #481 from iovisor/ast_dev
4ast [Sat, 9 Apr 2016 00:44:04 +0000 (17:44 -0700)]
Merge pull request #481 from iovisor/ast_dev

bcc-lua: switch to quiet by default

8 years agobcc-lua: switch to quiet by default
Alexei Starovoitov [Sat, 9 Apr 2016 00:37:41 +0000 (17:37 -0700)]
bcc-lua: switch to quiet by default

use --verbose to turn verbose output

Signed-off-by: Alexei Starovoitov <ast@fb.com>
8 years agoMerge pull request #480 from larsx2/master
Brenden Blanco [Wed, 6 Apr 2016 21:49:22 +0000 (14:49 -0700)]
Merge pull request #480 from larsx2/master

Fixed tcpv4connect.py broken link on README

8 years agoFixed tcpv4connect.py broken link on README
Eduardo Urias [Wed, 6 Apr 2016 21:18:20 +0000 (17:18 -0400)]
Fixed tcpv4connect.py broken link on README

8 years agoMerge pull request #479 from LucaCanali/master
Brenden Blanco [Wed, 6 Apr 2016 18:58:31 +0000 (11:58 -0700)]
Merge pull request #479 from LucaCanali/master

Fix for find_symbol method, issue #478

8 years agoFix for find_symbol method, issue #478
Luca Canali [Wed, 6 Apr 2016 17:39:07 +0000 (19:39 +0200)]
Fix for find_symbol method, issue #478

8 years agoFix for find_symbol method, issue #478
Luca Canali [Wed, 6 Apr 2016 15:35:07 +0000 (17:35 +0200)]
Fix for find_symbol method, issue #478

8 years agoMerge pull request #477 from ragnard/nixos
Brenden Blanco [Wed, 6 Apr 2016 14:06:24 +0000 (07:06 -0700)]
Merge pull request #477 from ragnard/nixos

Add support for nixos

8 years agoIntroduce BCC_KERNEL_MODULES_DIR
Ragnar Dahlén [Tue, 5 Apr 2016 22:32:02 +0000 (23:32 +0100)]
Introduce BCC_KERNEL_MODULES_DIR

Add support for systems using a non-default ("/lib/modules") kernel lib
directory.

8 years agoadd missing include directory to calculated cflags
Ragnar Dahlén [Tue, 5 Apr 2016 22:21:45 +0000 (23:21 +0100)]
add missing include directory to calculated cflags

8 years agoMerge pull request #474 from mcaleavya/master
4ast [Tue, 5 Apr 2016 17:06:04 +0000 (10:06 -0700)]
Merge pull request #474 from mcaleavya/master

migrated gethostlatency to use bpf_perf_event

8 years agoMerge pull request #470 from vmg/vmg/lua-standalone
Brenden Blanco [Tue, 5 Apr 2016 05:50:39 +0000 (22:50 -0700)]
Merge pull request #470 from vmg/vmg/lua-standalone

Standalone Lua tracing tool

8 years agodebian: Add bcc-lua package to control
Vicent Marti [Mon, 4 Apr 2016 18:50:59 +0000 (20:50 +0200)]
debian: Add bcc-lua package to control

8 years agodebian: Add install rule for bcc-lua
Vicent Marti [Mon, 4 Apr 2016 17:21:29 +0000 (19:21 +0200)]
debian: Add install rule for bcc-lua

8 years agoSPECS: Add a spec for `bcc-lua`
Vicent Marti [Mon, 4 Apr 2016 17:19:49 +0000 (19:19 +0200)]
SPECS: Add a spec for `bcc-lua`

8 years agobcc-lua: Add Install target
Vicent Marti [Mon, 4 Apr 2016 16:57:10 +0000 (18:57 +0200)]
bcc-lua: Add Install target

8 years agomigrated gethostlatency to use bpf_perf_event
mcaleavya [Sat, 2 Apr 2016 17:22:37 +0000 (18:22 +0100)]
migrated gethostlatency to use bpf_perf_event

8 years agobpf.lua: Enable the `--llvm-debug` CLI flag
Vicent Marti [Fri, 1 Apr 2016 15:40:58 +0000 (17:40 +0200)]
bpf.lua: Enable the `--llvm-debug` CLI flag

8 years agobcc.lua: Print traceback on errors
Vicent Marti [Fri, 1 Apr 2016 15:38:43 +0000 (17:38 +0200)]
bcc.lua: Print traceback on errors

8 years agobcc: Move all `argv` parsing to Lua code
Vicent Marti [Fri, 1 Apr 2016 15:31:47 +0000 (17:31 +0200)]
bcc: Move all `argv` parsing to Lua code

8 years agobcc: Allow the runner to parse some arguments
Vicent Marti [Fri, 1 Apr 2016 15:14:49 +0000 (17:14 +0200)]
bcc: Allow the runner to parse some arguments

8 years agobcc-lua: Add test for standalone `bcc-lua`
Vicent Marti [Thu, 31 Mar 2016 06:22:45 +0000 (08:22 +0200)]
bcc-lua: Add test for standalone `bcc-lua`

8 years agolua: Add license to the C wrapper
Vicent Marti [Thu, 31 Mar 2016 03:39:07 +0000 (05:39 +0200)]
lua: Add license to the C wrapper

8 years agocmake: Build bcc-lua conditionally
Vicent Marti [Thu, 31 Mar 2016 00:58:49 +0000 (02:58 +0200)]
cmake: Build bcc-lua conditionally

8 years agolua: Setup compilation for the standalone tool
Vicent Marti [Thu, 31 Mar 2016 00:43:56 +0000 (02:43 +0200)]
lua: Setup compilation for the standalone tool

8 years agolua: Fix tests to work in strict mode
Vicent Marti [Wed, 30 Mar 2016 20:34:43 +0000 (22:34 +0200)]
lua: Fix tests to work in strict mode

8 years agolua: Prepare for standalone build
Vicent Marti [Wed, 30 Mar 2016 19:29:46 +0000 (21:29 +0200)]
lua: Prepare for standalone build

8 years agoMerge pull request #472 from iovisor/ast_dev
Brenden Blanco [Thu, 31 Mar 2016 20:49:15 +0000 (13:49 -0700)]
Merge pull request #472 from iovisor/ast_dev

get rid of version checks

8 years agoget rid of version checks
Alexei Starovoitov [Thu, 31 Mar 2016 20:37:04 +0000 (13:37 -0700)]
get rid of version checks

version checks don't work at all on kernels with backported bpf bits
they also fail when /usr/include/linux/bpf.h doesn't match loaded
kernel.
Fix these issues by embedding bpf.h into libbcc.so and force load it
in clang, so we can remove all version checks and rely on verifier
complaining on unknown function call.
Later patch can make verifier errors less cryptic by converting
'unknown call 12' to strings.

while at it update bpf.h to the latest.

Signed-off-by: Alexei Starovoitov <ast@fb.com>
8 years agoMerge pull request #469 from goldshtn/usdt-v3
4ast [Thu, 31 Mar 2016 16:38:56 +0000 (09:38 -0700)]
Merge pull request #469 from goldshtn/usdt-v3

Bug fix around USDT argument handling for constants

8 years agoBug fix around USDT argument handling for constants
Sasha Goldshtein [Thu, 31 Mar 2016 13:32:14 +0000 (06:32 -0700)]
Bug fix around USDT argument handling for constants

For USDT arguments of the form "-4@$-1", the parsing logic would fail
because it didn't expect the second number (the actual value of the
USDT argument as a constant) to be negative. This is now fixed.

8 years agoMerge pull request #454 from brendangregg/master
Brenden Blanco [Wed, 30 Mar 2016 23:02:10 +0000 (16:02 -0700)]
Merge pull request #454 from brendangregg/master

IPv6 strings with an inet6_ntoa

8 years agouse pack/unpack
Brendan Gregg [Wed, 30 Mar 2016 22:30:41 +0000 (15:30 -0700)]
use pack/unpack

8 years agoMerge pull request #468 from goldshtn/trace-which
Brendan Gregg [Wed, 30 Mar 2016 20:35:40 +0000 (13:35 -0700)]
Merge pull request #468 from goldshtn/trace-which

Replaced `which --skip-alias` with `ProcUtils.which`