-
Merge pull request #1140 from iovisor/llvm_alloca_irbuilder_fix
frontend/b: fixes for LLVM 4.0 API change
4ast committed on GitHubApr 28, 2017
-
frontend/b: fixes for LLVM 4.0 API change
Upstream LLVM added a new parameter to the AllocaInst constructor, which breaks compilation. Fix it by using the IRBuilder method. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Merge pull request #1129 from palmtenor/nowarning
Add default -Wno-address-of-packed-membe to Clang loader
drzaeus77 committed on GitHubApr 27, 2017 -
-
Merge pull request #1135 from palmtenor/unsigned_addr
Use uintptr_t for addresses in C++ API
4ast committed on GitHubApr 27, 2017 -
-
Merge pull request #1104 from mauriciovasquezbernal/bpf_table_string
[RFC]: Extend table API with string support
drzaeus77 committed on GitHubApr 26, 2017 -
allow accesing table using strings
This commit exposes functions to convert between key and value from/to strings, additionally it implements the BPFTable class that allows accessing tables using strings. Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
-
test_clang: initialize format string arg on stack
With local LLVM (4.0ish), inline strings in this test case would segfault. Fix the crash by constructing explicitly on the stack. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Reduce the sslsniff data size slightly to pass verifier
Possibly due to local LLVM differences, this change was needed for sslsniff code to pass the verifier. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Fix for verifier failure in wakeuptime
On my system, the manually unrolled stack walker fails the verifier, due to what seems to me like an incorrect return statement. Setting bp = 0 has no effect, seems that the intent was to return 0 instead. Not sure why others haven't hit this, but the fix contained here seems reasonable. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Merge pull request #656 from iovisor/non-static-functions
Disable non-static function calls
4ast committed on GitHubApr 20, 2017 -
Disable non-static function calls
Compiled BPF programs must consist of a single contiguous code block, meaning trying to call other function entry points (besides the kernel-defined helpers) is not possible. The bcc frontend didn't explicitly prohibit this, even though the program would fail to compile/load. Add an explicit check and error message. Fixes: #653 Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Sync snapcraft yaml with tools and ensure list is sorted alphabetically
Minor sorting of the yaml tool list and sync it to the latest updates in tools Signed-off-by: Colin Ian King <colin.king@canonical.com>
-
db*: Print the BPF program prior to loading it (in -v mode)
Printing the BPF program after loading it means that if there is a load error, the program isn't printed, which sort of defeats the purpose of the whole thing.
goldshtn committedMar 31, 2017 -
db*: Use uapi/linux/ptrace.h instead of linux/ptrace.h
goldshtn committedMar 31, 2017
-
Execsnoop cli args matching (#1115)
* adding args matching option * fixing typos * fixing merge artefacts * [execsnoop]: adding documentation on -l in man * [execsnoop][man]: fixing typo in commands name
-
docs: add generic XDP to XDP compatible list (#1118)
Add a link to the proposed generic XDP feature to the list of XDP features.
-
Merge pull request #1121 from shodoco/normalinlining
Use normal inlining in clang loader
4ast committed on GitHubApr 19, 2017 -
-
runqlat: add --pidnss option (#1117)
Display pid namespace in summary histogram using a new `--pidnss` option.
-
used the CheckCXXCompilerFlag module of Cmake to check the compiler w…
…hether or not supporting c++11. (#1116)
-
Merge pull request #1114 from shodoco/inline
bcc: add __attribute__((always_inline)) to helper functions
4ast committed on GitHubApr 16, 2017
-
Added the option(USINGISYSTEM) of Cmake for controling whether using …
…-isystem. (#1064) When using Clang 3.9(compiled by GCC 6.x), bcc will used -isystem, because the GCC_VERSION(get the version of the Clang) is less 6.0. And then the compiler will compile failed.
-
Fix delitem operation for PROG_ARRAYs (#1113)
In bcc, ProgArray.__delitem__ defaults to ArrayBase.__delitem__ which uses the bpf_update_elem helper to clear the item (override with a null value). However, eBPF doesn't offer a bpf_update_elem helper for prog arrays. This pull request overrides __delitem__ in ProgArray to use the bpf_delete_item helper.
-
cc: Prefer external debuginfo files to the binary itself (#1111)
On some distributions, the debuglink section in the binary will not have a .debug file extension. As a result, we will try to look for the debuginfo file in the binary itself, immediately find it, and abort looking for any other alternatives. This is not good, because the binary might contain stripped or partial symbols, which precludes certain tools from realizing their full potential. Fix by checking that the debuginfo file we're trying to use is not the same as the binary file. In any case, if external debuginfo can't be found, we will fall back to the symbols in the original binary file, if present, so this should not regress any existing scenario.
goldshtn committed on GitHubApr 13, 2017
-
Merge pull request #1107 from Eichhoernchen/patch-1
Fixed SEGFAULT due to perf buffer overflow if lost_cb unset
4ast committed on GitHubApr 12, 2017 -
Fixes SEGFAUL in libbcc when actually setting a lost_cb
When setting a lost_cb, the reference to the ctypes function is not retained like the regular callback, this leads to a SEGFAULT if the gc kills the lost_fn if a lost event occurs afterwards
-
Fixed SEGFAULT due to perf buffer overflow if lost_cb unset
This fixes a SEGFAULT in the underlying libbcc when no lost_cb is set. This occurs when the perf buffer is full and the lost_cb is called. libbcc expects a NULL pointer as lost_cb to trigger its internal lost message. This fixes the bug by providing an appropriate NULL pointer when lost_cb is unset.
-
softirqs: Migrate to kernel tracepoints instead of kprobes (#1091)
This commit migrates softirqs to use kernel tracepoints instead of kprobes. Because tracepoints only provide the vector number and not the function name, we use a conversion table, which is borrowed from kernel/softirq.c, to translate the vector number to a display name. This table is expected to be fairly stable. Notably, new names have not been added since approximately 2009, and the last rename (without adding or removing a name) was in 2014. Resolves #1031.
goldshtn committed on GitHubApr 8, 2017 -
Merge pull request #1102 from palmtenor/fixwarning
Fix compiler warning on redefined Macro
4ast committed on GitHubApr 8, 2017 -