- 17 Jan, 2017 4 commits
-
-
Sasha Goldshtein authored
-
Sasha Goldshtein authored
Oftentimes we want to use the STRCMP helper to compare strings that are not null-terminated, e.g. in USDT probes this often happens. Ignore the null terminator (i.e. loop until the last character excluding the null terminator).
-
Sasha Goldshtein authored
The `trace` and `argdist` tools expect location and argument indices to start at 1 -- the first argument is arg1, and so on. The `tplist` tool now prints UDST argument indices (and location indices, for consistency) as 1-based as well.
-
4ast authored
Use targeted process to resolve library names
-
- 16 Jan, 2017 3 commits
-
-
4ast authored
fix iteration over CPUs
-
Andreas Gerstmayr authored
Since kernel version 4.9.0 BPF stopped working in a KVM guest. The problem are calls to perf_event_open with CPU identifiers which do not exist (ENODEV). The root cause for this is that the current code assumes ascending numbered CPUs. However, this is not always the case (e.g. CPU hotplugging). This patch introduces the get_online_cpus() and get_possible_cpus() helper functions and uses the appropriate function for iterations over CPUs. The BPF_MAP_TYPE_PERF_EVENT_ARRAY map contains now an entry for each possible CPU instead of for each online CPU. Fixes: #893 Signed-off-by: Andreas Gerstmayr <andreas.gerstmayr@catalysts.cc>
-
Brendan Gregg authored
argdist, trace: Support non-C identifier names
-
- 15 Jan, 2017 3 commits
-
-
Paul Chaignon authored
-
Paul Chaignon authored
We need the PID when detaching uprobes to resolve library names to the same path as when attaching
-
Paul Chaignon authored
To resolve library names, bcc_procutils_which_so leverages mapped libraries of the targeted process, if one is given. Uses the kernel's /proc/$pid/maps
-
- 14 Jan, 2017 1 commit
-
-
Sasha Goldshtein authored
When argdist or trace face a function that has characters in its name that are not valid in C identifier, they now replace these characters with an underscore (`_`) when generating function names and structure names to include in the BPF program. As a result, it is now possible to trace functions that have these identifiers in their names, such as Golang functions like `fmt.Println`.
-
- 13 Jan, 2017 2 commits
-
-
4ast authored
add some error hints
-
Brendan Gregg authored
-
- 11 Jan, 2017 10 commits
-
-
4ast authored
profile: increase unique stack default to 10k
-
4ast authored
trace: allow tracing of functions containing a dot (golang)
-
4ast authored
statsnoop: refactor
-
Brendan Gregg authored
-
Brendan Gregg authored
-
4ast authored
gethostlatency: remove unused code
-
Brendan Gregg authored
-
Brendan Gregg authored
-
4ast authored
add a few funccount examples
-
Brendan Gregg authored
-
- 09 Jan, 2017 4 commits
-
-
4ast authored
snapcraft: add cpuunclaimed to snapcraft wrapper rules
-
4ast authored
Add missing helper prototypes
-
4ast authored
Fixes bio{snoop,top} on 4.10
-
Mauricio Vasquez B authored
Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
-
- 08 Jan, 2017 1 commit
-
-
Ryan Leary authored
This commit fixes #888. The 2 scripts run the same check, and now run basically the same code to do it. Tested on 4.10-rc2.
-
- 07 Jan, 2017 2 commits
-
-
Brenden Blanco authored
Add -fno-stack-protector to CFLAGS
-
Rolf Neugebauer authored
When compiling ebpf programs on Alpine Linux the compiler throws the following error: LLVM ERROR: Cannot select: 0x56049b79dcb0: ch,glue = BPFISD::CALL 0x56049a93ad60, TargetExternalSymbol:i64'__stack_chk_fail' 0x56049b391500: i64 = TargetExternalSymbol'__stack_chk_fail' In function: waker Disabling the stack protector explicitly with '-fno-stack-protector' fixes this error. clang version 3.8.1 (tags/RELEASE_381/final) Target: x86_64-alpine-linux-musl Thread model: posix InstalledDir: /usr/bin Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
-
- 05 Jan, 2017 6 commits
-
-
Brenden Blanco authored
add missing inclusion guards in bcc/proto.h
-
Brenden Blanco authored
-
4ast authored
Fixes for LLVM 4.0 and python3
-
Brenden Blanco authored
Avoid conflicting [no]inline attributes in function annotation. This was probably always there but now 4.0 is treating this as an error. Also, explicitly inline several functions in helpers.h. Turn off unwind tables in the flags passed to clang. This was generating calls to the elf relocator, which doesn't work for the BPF target. It is unclear which change in LLVM 4.0 altered this behavior. On python3, handle byte strings in the usual way for supporting backwards compatibility. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Colin Ian King authored
fix stupid typo in wrapper: ttysnop -> ttysnoop Signed-off-by: Colin Ian King <colin.king@canonical.com>
-
Colin Ian King authored
Signed-off-by: Colin Ian King <colin.king@canonical.com>
-
- 03 Jan, 2017 1 commit
-
-
Brenden Blanco authored
Update [virtual_]bpf.h to 4.10
-
- 02 Jan, 2017 1 commit
-
-
Mauricio Vasquez B authored
Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
-
- 29 Dec, 2016 2 commits
-
-
Brenden Blanco authored
Only the virtual_bpf.h should point to the installed kernel headers. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Brenden Blanco authored
As is occassionally necessary, we need to update the compat header files for new kernels. This picks up the bpf.h from 4.10rc1. Fixes: #877 Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-