platform/upstream/bcc.git
8 years agofix llvm 3.9 build
Brenden Blanco [Thu, 5 May 2016 06:13:01 +0000 (23:13 -0700)]
fix llvm 3.9 build

Signed-off-by: Brenden Blanco <bblanco@plumgrid.com>
8 years agoMerge pull request #524 from iovisor/luajit_header
4ast [Thu, 5 May 2016 00:19:49 +0000 (17:19 -0700)]
Merge pull request #524 from iovisor/luajit_header

Force lua main.c to include luajit headers

8 years agoForce lua main.c to include luajit headers
Brenden Blanco [Wed, 4 May 2016 06:49:37 +0000 (23:49 -0700)]
Force lua main.c to include luajit headers

On my system, when both lua and luajit are installed, multiple headers
exist in /usr/include. However, my lua installation is 5.3, which has
some api-breaking changes, which means that the standard lua.h must not
be included.

Simply force lua.h to come from luajit-2.0 directory.

8 years agoMerge pull request #523 from iovisor/bblanco_dev
4ast [Tue, 3 May 2016 16:49:57 +0000 (09:49 -0700)]
Merge pull request #523 from iovisor/bblanco_dev

Make style-check test non-blocking

8 years agoMake style-check test non-blocking
Brenden Blanco [Tue, 3 May 2016 16:39:54 +0000 (09:39 -0700)]
Make style-check test non-blocking

Since the codebase is as of yet inconsistent, disable per-commit style
check enforcement.

This should be turned back on once the codebase style is consistent.

8 years agoMerge pull request #521 from iovisor/bblanco_dev
Brendan Gregg [Tue, 3 May 2016 16:18:23 +0000 (09:18 -0700)]
Merge pull request #521 from iovisor/bblanco_dev

Adjust pid filtering/display in runqlat

8 years agoAdjust pid filtering/display in runqlat
Brenden Blanco [Tue, 3 May 2016 06:32:44 +0000 (23:32 -0700)]
Adjust pid filtering/display in runqlat

The filtering and display of pids in the runqlat tool was not correct.
Internally, the kernel keeps pid and tgid, which correspond to thread-id
and user process-id, respectively. The runqlat tool was filtering and
displaying pid instead of tgid.

Change -P and -p options to filter by tgid, and add a new option to give
a breakdown by pid (thread-id).

Update the docs with the -L option.

8 years agoMerge pull request #519 from iovisor/bblanco_dev
4ast [Mon, 2 May 2016 15:46:58 +0000 (08:46 -0700)]
Merge pull request #519 from iovisor/bblanco_dev

Fixes for clang frontend bugs and misc

8 years agoMerge branch 'master' into bblanco_dev
Brenden Blanco [Mon, 2 May 2016 15:34:47 +0000 (08:34 -0700)]
Merge branch 'master' into bblanco_dev

8 years agoMerge pull request #520 from rnav/powerpc-support-v2
4ast [Mon, 2 May 2016 15:34:15 +0000 (08:34 -0700)]
Merge pull request #520 from rnav/powerpc-support-v2

Powerpc support v2

8 years agotests: fix a few tests to use the right register on powerpc
Naveen N. Rao [Fri, 29 Apr 2016 11:16:05 +0000 (16:46 +0530)]
tests: fix a few tests to use the right register on powerpc

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
8 years agotests: only test arch-specific symbols
Naveen N. Rao [Fri, 29 Apr 2016 11:14:41 +0000 (16:44 +0530)]
tests: only test arch-specific symbols

__per_cpu_start has a different address on each architecture. Instead,
use a arch-unique symbol for the test.

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
8 years agocc: add powerpc support
Naveen N. Rao [Fri, 29 Apr 2016 11:12:58 +0000 (16:42 +0530)]
cc: add powerpc support

Basic support for building on powerpc. Tested on ppc64le.

Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
8 years agoFix errors on python3
Brenden Blanco [Mon, 2 May 2016 05:42:04 +0000 (22:42 -0700)]
Fix errors on python3

8 years agoUse local key/leaf definition instead of bpf_tunnel_key
Brenden Blanco [Mon, 2 May 2016 04:31:16 +0000 (21:31 -0700)]
Use local key/leaf definition instead of bpf_tunnel_key

Even after fixing the nested union issue in the preceding commits, this
example was failing. The reason was that the kernel was filling in all
bits of the bpf_tunnel_key, which in recent kernels includes non-zero
fields such as ttl. That non-zero field would break the lookup in the
tunkey2if table, which was populated assuming all extra bytes would be
zero.

Fix it by defining a simpler key structure, and copy the required fields
out from the local variable.

Fixes: #510

8 years agoAdd clang support for nested struct/union as key field
Brenden Blanco [Mon, 2 May 2016 04:29:08 +0000 (21:29 -0700)]
Add clang support for nested struct/union as key field

Clang was up until now not able to parse nested structs or unions as a
field in the table key or leaf. Add support in the library side, as well
as python support for the exported json description.

8 years agoAdd a test for broken nested union clang parsing
Brenden Blanco [Mon, 2 May 2016 04:27:19 +0000 (21:27 -0700)]
Add a test for broken nested union clang parsing

8 years agoAvoid a warning in bpf_module.cc
Brenden Blanco [Mon, 2 May 2016 04:26:04 +0000 (21:26 -0700)]
Avoid a warning in bpf_module.cc

The variable inside the if statement was unused, unliked the blocks
above and below it. Use the isa<> check instead.

8 years agoskip include of kernel bpf.h in test, forward declare instead
Brenden Blanco [Mon, 2 May 2016 04:24:29 +0000 (21:24 -0700)]
skip include of kernel bpf.h in test, forward declare instead

8 years agoMerge pull request #517 from vmg/vmg/clang-diag
4ast [Sat, 30 Apr 2016 23:04:00 +0000 (16:04 -0700)]
Merge pull request #517 from vmg/vmg/clang-diag

cc/clang: Use positional arguments for diagnostic messages

8 years agoMerge pull request #515 from vmg/vmg/static-lua
4ast [Sat, 30 Apr 2016 15:11:31 +0000 (08:11 -0700)]
Merge pull request #515 from vmg/vmg/static-lua

Lua tooling improvements

8 years agocc/clang: Use positional arguments for diagnostic messages
Vicent Marti [Sat, 30 Apr 2016 12:57:52 +0000 (14:57 +0200)]
cc/clang: Use positional arguments for diagnostic messages

8 years agolua: Proper style for main.c
Vicent Marti [Sat, 30 Apr 2016 12:35:47 +0000 (14:35 +0200)]
lua: Proper style for main.c

8 years agolua: Do not try to detach buffers as kprobes
Vicent Marti [Sat, 30 Apr 2016 12:13:26 +0000 (14:13 +0200)]
lua: Do not try to detach buffers as kprobes

8 years agotable.py: Call `__delitem__ when deleting an item :)
Vicent Marti [Sat, 30 Apr 2016 12:00:11 +0000 (14:00 +0200)]
table.py: Call `__delitem__ when deleting an item :)

8 years agolua: Fix regeneration of `bcc.lua`
Vicent Marti [Sat, 30 Apr 2016 11:50:48 +0000 (13:50 +0200)]
lua: Fix regeneration of `bcc.lua`

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