- 18 May, 2017 5 commits
-
-
Teng Qin authored
This commit adds bpf_get_first_key helper, which gets the first key of the map. It automatically tries to use the new Kernel functionality and falls back to old Kernel behavior. This helps us unify the logic to walk a map across different APIs (Python, C++, etc.)
-
Brenden Blanco authored
Workaround for possible race in pyroute2.ipdb
-
Brenden Blanco authored
In simulation.py, add a call to initdb() to force-refresh the netlink socket and the interface list. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
4ast authored
remove trailing white spaces from source code files
-
Mauricio Vasquez B authored
Trailing white spaces cause problems with git. Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
-
- 17 May, 2017 2 commits
-
-
4ast authored
Enable recursive scanf support for char[] as string
-
Brenden Blanco authored
Improve the internal documentation for the reader and writer generated functions in the case that u8[]=>"" is used. Change one `+=` to `=`. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
- 16 May, 2017 1 commit
-
-
Teng Qin authored
-
- 15 May, 2017 1 commit
-
-
Brenden Blanco authored
When a bpf table contains i8[] in one of its keys/leaves, use "" to enclose the value, rather than [ %i %i %i ... ] format. This simplifies the code that is generated for cases such as #1154, and brings it back under ~200ms code generation, instead of >30s. This change of format is not particularly robust (it doesn't handle escaping the doublequote character itself), but it should make more sense for the common case, such as tracing files and pathnames. The test case included tests both the functionality of the format string handling as well as the compile time, since test_clang already has an implicit 10second timeout limit. Fixes: #1154 Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
- 12 May, 2017 1 commit
-
-
Brenden Blanco authored
Fix bug when finding symbols for shared libraries
-
- 11 May, 2017 3 commits
-
-
Teng Qin authored
-
4ast authored
llvm5.0: use input kind helper to avoid breakage
-
Brenden Blanco authored
Move FileDesc to separated header file and install
-
- 10 May, 2017 8 commits
-
-
Teng Qin authored
-
Brenden Blanco authored
Upstream llvm renamed an enum, so use a helper function that is available in all versions to fix compatibility. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
4ast authored
Use late-binding to finalize snprintf/sscanf
-
Brenden Blanco authored
Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Brenden Blanco authored
Fedora compile
-
Brenden Blanco authored
The api should return 0, not the number of bytes successfully written (which is what snprintf directly returns). Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Brenden Blanco authored
Not all users require the snprintf/sscanf helpers, and in some types the finalization can take a long time. Defer the finalization until the first use. Wrap the invocation with a bound function such that the BPFTable and other users don't need to keep an explicit BPFModule reference. Use-after-free will be avoided by resetting the function to an error-returning stub when/if the BPFModule is freed. Signed-off-by: Brenden Blanco <bblanco@gmail.com>
-
Brenden Blanco authored
Update compat header files and add bpf_probe_read_str
-
- 09 May, 2017 8 commits
-
-
Teng Qin authored
Also use it in the RecordMySQLQuery example and updated documentation
-
Teng Qin authored
This commit updates the compat header files to 4.12-rc1
-
4ast authored
RFC: Improve mount namespace handling
-
Teng Qin authored
This commit adds helper method in C API using `ProcMountNSGuard` to enter and exit mount namespace, and use it in `libbpf.h`
-
Teng Qin authored
This commit adds `ProcMountNS` and `ProcMountNSGuard`, that automatically opens and closes FDs, and enters and exists mount namespace on construction and destruction.
-
Teng Qin authored
-
Teng Qin authored
-
4ast authored
Improve perf map parsing logic
-
- 05 May, 2017 3 commits
-
-
Teng Qin authored
-
4ast authored
docs: update feature list for 4.12
-
Tobias Klauser authored
All of the features listed to be incluude in 4.12 landed in Linus' tree. Update the table accordingly.
-
- 04 May, 2017 5 commits
-
-
Ulrich Drepper authored
Fix computation of LUAJIT_INCLUDE_DIR
-
drepper@gmail.com authored
I don't think the current way cmake uses to locate the correct lua.h works. Entries like "include/foo.h" cause cmake to look for a file like "/usr/include/include/foo.h". I.e., the include/ prefix for all the entries is wrong as is adding "include" at the end. This patch removes the prefix. With it bcc finally compiles on Fedora. If this change causes a problem there is something seriously wrong with cmake.
-
Brenden Blanco authored
Add documentation to guide future scripts to be Python3-ready
-
Ulrich Drepper authored
I cannot say that I understand the purpose behind the match_so_flags function. Is it supposed to be an exhaustive check? Just a quick check? Is it always required to find the DSO which would be used by the current process? Should there be an overwrite? In any case, the current way seems to be wholly inadequate. It somehow assumes a specific order of the DSO in the list read from the ld.so cache. That's fragile at best. In the case of one of my machines, I run a x86-64 process and try to find a symbol in libc. The first DSO returned in the cache matching "libc.so" is /libx32/libc.so.6 (i.e., the x32 version of libc). Using the file works but the DSO is not used. I assume the idea behind the short form "c" for the module name is to use the DSO of the same type as the running process. As is all platforms not matching the listed 64-bit platforms are blindly accepted. I suggest at the very least to check for the case of the non-64-bit DSO in the cache to check that the running program is also 32-bit. This patch does this. In the longer run a more robust check should be implemented which compares the current process' ELF header with that of the found DSO. If this is the desired direction let me know and I'll come up with a patch.
-
Ulrich Drepper authored
Some Linux distributions (at least Fedora and RHEL) do not provide libluajit as an archive and instead only as a DSO. Using the DSO does not have any negative impact but the cmake script does not check for the DSO files and instead fails to find luajit. This simple change causes cmake to find the file as named in the above distributions. Maybe more change or a generalized method are needed in future. The prefered way to detect the DSO for Fedora/RHEL would be to use pkgconfig but I don't propose to use it at this time.
-
- 03 May, 2017 3 commits