Evan Dandrea [Thu, 27 Apr 2017 15:20:39 +0000 (11:20 -0400)]
Add missing funcslower from the snap.
Evan Dandrea [Thu, 27 Apr 2017 15:16:01 +0000 (11:16 -0400)]
Add aliases for all commands in the snap (e.g. bcc.biotop -> biotop)
Evan Dandrea [Mon, 8 May 2017 13:04:00 +0000 (08:04 -0500)]
Require a more recent, auto-updating version of snapd for alises.
Taekho Nam [Mon, 5 Jun 2017 09:52:39 +0000 (09:52 +0000)]
Add libbcc-example package for Ubuntu Xenial
Yonghong Song [Tue, 30 May 2017 13:37:02 +0000 (06:37 -0700)]
Add a python test for usdt
o The sample application covers different aspects
of usdt rewriter code generation:
- const
- *(ctx + offset)
- use bpf_probe_read to get trace data
- the switch in ctx->ip if the same probe
is triggered in multiple .text locations.
o folly (https://github.com/facebook/folly/) tracing
header files are pulled into python test directory and
used to produce USDT probes.
Signed-off-by: Yonghong Song <yhs@fb.com>
Teng Qin [Thu, 25 May 2017 20:30:13 +0000 (13:30 -0700)]
Improve PerfEventArray clean up
4ast [Wed, 31 May 2017 21:08:57 +0000 (14:08 -0700)]
Merge pull request #1212 from iovisor/yhs_dev
Force udst ctx->#reg load to be volatile
4ast [Wed, 31 May 2017 16:08:43 +0000 (09:08 -0700)]
Merge pull request #1211 from iovisor/libbpf_c_includes
Add linux/sched.h to list of libbpf.c includes
Brenden Blanco [Wed, 31 May 2017 15:44:22 +0000 (08:44 -0700)]
Add linux/sched.h to list of libbpf.c includes
This should hopefully fix compile errors on some ubuntu systems.
Also, reorders the includes according to clang-format
Signed-off-by: Brenden Blanco <bblanco@gmail.com>
Brenden Blanco [Wed, 31 May 2017 00:35:53 +0000 (17:35 -0700)]
make libbpf standalone-ready
Break the c++ dependency in libbpf.c, and turn it into a separate lib
from cmake point of view.
Signed-off-by: Brenden Blanco <bblanco@gmail.com>
Brenden Blanco [Thu, 25 May 2017 20:24:15 +0000 (13:24 -0700)]
Move ProcMountNSGuard to separate file
This moves ProcMountNS[Guard] classes to a separate header file and
implementation. The goal will be to use these more directly in libbpf.c
without creating a circular dependency.
Removed the friend class statements and exposed a few public getters instead.
Slightly changed the implementation in ProcMountNS constructor to avoid
a few error cases and the use of snprintf.
Signed-off-by: Brenden Blanco <bblanco@gmail.com>
Christian Resell [Fri, 26 May 2017 19:44:07 +0000 (21:44 +0200)]
bcc_procutils_which: return if snprintf fails or would overflow
Christian Resell [Fri, 26 May 2017 14:50:52 +0000 (16:50 +0200)]
bcc_proc.c: fix stack overflow in bcc_procutils_which()
Yonghong Song [Tue, 30 May 2017 09:03:06 +0000 (02:03 -0700)]
Force udst ctx->#reg load to be volatile
This is related to issue #1133. Compiler sometimes
generates code patterns likes:
r1 = ctx + 96
goto next
here:
r1 = ctx + 48
next:
r3 = load (r1 + 0)
Verifier will fail for such cases as r1 is marked
as "unknown" at the time of load.
The previous workaround is to add volatile attribute
to the store like
*(volatile u64 *)&dest = ctx->bx
The hope is to force ctx related load in-place since
its value is needed for store.
Unfortunately, this does not always work and compiler
still has freedom to merge different ctx loads at the
same time honoring the volatile &dest. In USDT generated
code, different branches of &dest are the same.
This patch directly make ctx->bx itself as a volatile load:
*(volatile u64 *)&ctx->bx
This seems working as compiler stops playing around
the address pointing to a volatile data.
Signed-off-by: Yonghong Song <yhs@fb.com>
Tomaz Solc [Fri, 26 May 2017 11:52:30 +0000 (13:52 +0200)]
Mention that linux-headers deb must be installed.
Brenden Blanco [Thu, 25 May 2017 18:54:14 +0000 (11:54 -0700)]
Merge pull request #1201 from htbegin/master
funclatency/sslsniff: fix the TypeError when enabling pid filter on u…
4ast [Thu, 25 May 2017 05:14:11 +0000 (22:14 -0700)]
Merge pull request #1191 from GBuella/cmake_build_type_fix
Fix usage of CMAKE_BUILD_TYPE setting
4ast [Thu, 25 May 2017 05:13:44 +0000 (22:13 -0700)]
Merge pull request #1190 from palmtenor/cur_cpu
Use BPF_F_CURRENT_CPU in perf_submit when possible
Teng Qin [Tue, 23 May 2017 18:57:44 +0000 (11:57 -0700)]
Use BPF_F_CURRENT_CPU in perf_submit / perf_read when possible
4ast [Wed, 24 May 2017 20:08:26 +0000 (13:08 -0700)]
Merge pull request #1200 from palmtenor/perf_event_clean_up
Improve perf event clean up
Teng Qin [Wed, 24 May 2017 05:18:56 +0000 (22:18 -0700)]
Disable perf event FD before free
Teng Qin [Tue, 23 May 2017 23:35:11 +0000 (16:35 -0700)]
Add bpf_close_perf_event_fd
Add bpf_close_perf_event_fd helper that first disables, then closes a
perf event fd. Use it in Python and C++ API for detach perf event
4ast [Wed, 24 May 2017 16:53:51 +0000 (09:53 -0700)]
Merge pull request #1196 from palmtenor/cpp_sym_option
Support symbol option in C++ API stack table
htbegin [Wed, 24 May 2017 14:53:17 +0000 (22:53 +0800)]
funclatency/sslsniff: fix the TypeError when enabling pid filter on uprobe
attach_uprobe() and attach_uretprobe() expect the type of pid argument
is "int" instead of "str". Fix it by specifying the type of the "-p"/"--pid"
option as "int", and updating the format string of args.pid accordingly.
Fixes:
d73c58f0c8c754bd591264205ac2ddc83c1d2c7f
Brenden Blanco [Tue, 23 May 2017 18:56:59 +0000 (11:56 -0700)]
Merge pull request #1185 from gospo/master
Add support for generic XDP mode
Teng Qin [Tue, 23 May 2017 18:30:33 +0000 (11:30 -0700)]
Support symbol option in C++ API stack table
Andy Gospodarek [Wed, 17 May 2017 20:18:45 +0000 (16:18 -0400)]
Add support for generic XDP mode
Reused some of the code and command-line format from kernel XDP samples.
$ sudo ./xdp_drop_count.py -S enp1s0
Printing drops per IP protocol-number, hit CTRL+C to stop
17: 36616 pkt/s
17:
19720757 pkt/s
17:
19685768 pkt/s
17:
19643601 pkt/s
17:
19694537 pkt/s
[...]
$ sudo ./xdp_drop_count.py enp1s0
Printing drops per IP protocol-number, hit CTRL+C to stop
17: 7029 pkt/s
17:
29996706 pkt/s
17:
30048705 pkt/s
17:
30261417 pkt/s
17:
30291967 pkt/s
[...]
Throughput difference is expected since generic XDP takes more
instructions per packet than optimized XDP.
v2: switch __u32 to uint32_t in bpf_attach_xdp
Signed-off-by: Andy Gospodarek <gospo@broadcom.com>
4ast [Mon, 22 May 2017 16:31:24 +0000 (09:31 -0700)]
Merge pull request #1193 from palmtenor/cppleak
Fix bcc_resolve_symname memory leak in C++ API
4ast [Mon, 22 May 2017 14:56:10 +0000 (07:56 -0700)]
Merge pull request #1192 from palmtenor/perf_config
Unify Perf Event related Enums and checks
4ast [Mon, 22 May 2017 06:24:02 +0000 (23:24 -0700)]
Merge pull request #1194 from palmtenor/minor_fixes
Minor fixes for example and compiler warning
Teng Qin [Sun, 21 May 2017 05:46:00 +0000 (22:46 -0700)]
Fix compiler warning by cast int to pointer
Teng Qin [Sun, 21 May 2017 05:44:32 +0000 (22:44 -0700)]
Get correct PID in TCPSendStack example
Teng Qin [Sun, 21 May 2017 05:11:30 +0000 (22:11 -0700)]
Fix bcc_resolve_symname memory leak in C++ API
Teng Qin [Sat, 20 May 2017 02:10:09 +0000 (19:10 -0700)]
Unify perf event enums in Python API
Teng Qin [Sat, 20 May 2017 02:05:24 +0000 (19:05 -0700)]
Unify perf_event type and config check
Brenden Blanco [Sat, 20 May 2017 05:19:05 +0000 (22:19 -0700)]
Merge pull request #1164 from palmtenor/symboloptions
Add ability for users to control symboling behavior
Teng Qin [Wed, 10 May 2017 19:51:17 +0000 (12:51 -0700)]
Do not pass type flag to symbol callback
As the symbol type check now controled by the specified
`bcc_symbol_option` and handled in lower level, there is not need to
pass the type flag to the callback anymore.
Teng Qin [Wed, 10 May 2017 00:26:02 +0000 (17:26 -0700)]
Use bcc_symbol_option in ProcSyms
This commit makes `ProcSyms` constructor takes a `bcc_symbol_option`,
and pass it down to underlying calls to control symboling behavior.
If `nullptr` is passed, `ProcSyms` will use default setting, which is
to use debug file, verify debug file checksum, and only load function symbols.
This commit also makes `bcc_symcache_new` take a `bcc_symbol_option`
parameter and pass it to the underlying `ProcSyms` constructor.
Teng Qin [Tue, 9 May 2017 22:49:14 +0000 (15:49 -0700)]
Use bcc_symbol_option in bcc_resolve_symname
This commit makes `bcc_resolve_symname` to take an `bcc_symbol_option`
parameter, and pass it to underlying calls to control symboling behavior.
When `NULL` is passed, it will fallback to default which is current
behavior that uses debug file, verify debug file CRC, and check all
types of symbols.
This commit also removes the unneccesary intermediate
`bcc_find_symbol_addr`.
Added documentation for usage of the API, updated most call sites to use
default with `NULL`, and fixed some memory leaks at call sites.
Teng Qin [Tue, 9 May 2017 22:25:39 +0000 (15:25 -0700)]
Fix bcc_resolve_symname memory leak on error
`bcc_resolve_symname` should free `sym->module` on error. Also remove
unused `sym_search_t`
Teng Qin [Thu, 4 May 2017 07:21:20 +0000 (00:21 -0700)]
Use bcc_symbol_option in bcc_foreach_function_symbol
This commit changes `bcc_foreach_symbol` to use the new `bcc_symbol_option` to
control it only wants function symbols. Also renamed it to
bcc_foreach_function_symbol and added comments for better information.
This commit maintained current behavior of the function to prefer use
debug file and check debug file CRC. We could add option to configure
that behavior in the future if needed.
Teng Qin [Thu, 4 May 2017 07:09:20 +0000 (00:09 -0700)]
Add option to control bcc_elf_foreach_sym behavior
This commit adds a `bcc_symbol_option` to configure various symboling
behaviors. Currently added options for reading debug file, and what type
of symbols are wanted.
This commit also makes bcc_elf_foreach_sym take a `bcc_symbol_option`
parameter and repect the specified configurations.
Gabor Buella [Fri, 19 May 2017 13:33:08 +0000 (15:33 +0200)]
Fix usage of CMAKE_BUILD_TYPE setting
The build type was set to Release in the top level cmake file.
This was a rather confusing behaviour, as one would expect to
be able to easily debug the code after using `cmake -DCMAKE_BUILD_TYPE=Debug`.
Brenden Blanco [Fri, 19 May 2017 04:40:51 +0000 (21:40 -0700)]
Merge pull request #1183 from palmtenor/firstkey
Use new Kernel functionality to get first key of map
Teng Qin [Tue, 16 May 2017 22:49:22 +0000 (15:49 -0700)]
Use bpf_get_first_key in Python API
Teng Qin [Tue, 16 May 2017 20:00:48 +0000 (13:00 -0700)]
Use bpf_get_first_key in C++ API
Teng Qin [Tue, 16 May 2017 08:10:15 +0000 (01:10 -0700)]
Add bpf_get_first_key helper
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 [Thu, 18 May 2017 17:59:41 +0000 (10:59 -0700)]
Merge pull request #1189 from iovisor/fix_test_brb
Workaround for possible race in pyroute2.ipdb
Brenden Blanco [Thu, 18 May 2017 16:57:42 +0000 (09:57 -0700)]
Workaround for possible race in pyroute2.ipdb
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 [Thu, 18 May 2017 16:00:12 +0000 (09:00 -0700)]
Merge pull request #1187 from mauriciovasquezbernal/remove_trailing_spaces
remove trailing white spaces from source code files
Mauricio Vasquez B [Thu, 18 May 2017 01:26:47 +0000 (20:26 -0500)]
remove trailing white spaces from source code files
Trailing white spaces cause problems with git.
Signed-off-by: Mauricio Vasquez B <mauricio.vasquez@polito.it>
4ast [Wed, 17 May 2017 18:03:03 +0000 (11:03 -0700)]
Merge pull request #1180 from iovisor/scanf_string_support
Enable recursive scanf support for char[] as string
Brenden Blanco [Wed, 17 May 2017 17:37:05 +0000 (10:37 -0700)]
Add sscanf reader/writer code comments
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>
Teng Qin [Tue, 16 May 2017 08:13:06 +0000 (01:13 -0700)]
Fix bpf_perf_event_read helper signature
Brenden Blanco [Tue, 9 May 2017 20:52:42 +0000 (13:52 -0700)]
Enable recursive scanf support for char[] as string
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>
Brenden Blanco [Fri, 12 May 2017 00:44:05 +0000 (17:44 -0700)]
Merge pull request #1168 from palmtenor/fixso
Fix bug when finding symbols for shared libraries
Teng Qin [Wed, 10 May 2017 22:16:42 +0000 (15:16 -0700)]
Fix bug when finding symbols for shared libraries
4ast [Thu, 11 May 2017 15:46:08 +0000 (08:46 -0700)]
Merge pull request #1169 from iovisor/clang_inputkind
llvm5.0: use input kind helper to avoid breakage
Brenden Blanco [Thu, 11 May 2017 00:16:19 +0000 (17:16 -0700)]
Merge pull request #1170 from palmtenor/filedesc
Move FileDesc to separated header file and install
Teng Qin [Wed, 10 May 2017 23:01:05 +0000 (16:01 -0700)]
Move FileDesc to separated header file
Brenden Blanco [Wed, 10 May 2017 23:37:20 +0000 (16:37 -0700)]
llvm5.0: use input kind helper to avoid breakage
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 [Wed, 10 May 2017 21:05:06 +0000 (14:05 -0700)]
Merge pull request #1167 from iovisor/rw_finalize_defer
Use late-binding to finalize snprintf/sscanf
Brenden Blanco [Wed, 10 May 2017 18:32:54 +0000 (11:32 -0700)]
Move unimplemented fn reset before ctx cleanup
Signed-off-by: Brenden Blanco <bblanco@gmail.com>
Brenden Blanco [Wed, 10 May 2017 17:46:10 +0000 (10:46 -0700)]
Merge pull request #1157 from drepper/fedora-compile
Fedora compile
Brenden Blanco [Wed, 10 May 2017 17:35:30 +0000 (10:35 -0700)]
test fix: return 0 not num-of-bytes-written
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 [Wed, 10 May 2017 17:10:20 +0000 (10:10 -0700)]
Use late-binding to finalize snprintf/sscanf
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 [Wed, 10 May 2017 03:18:47 +0000 (20:18 -0700)]
Merge pull request #1163 from palmtenor/readstr
Update compat header files and add bpf_probe_read_str
Teng Qin [Tue, 9 May 2017 09:31:32 +0000 (02:31 -0700)]
Add bpf_probe_read_str helper
Also use it in the RecordMySQLQuery example and updated documentation
Teng Qin [Tue, 9 May 2017 09:28:04 +0000 (02:28 -0700)]
Update bpf.h and virtual_bpf.h to 4.12
This commit updates the compat header files to 4.12-rc1
4ast [Tue, 9 May 2017 20:55:06 +0000 (13:55 -0700)]
Merge pull request #1141 from palmtenor/mountns
RFC: Improve mount namespace handling
Teng Qin [Thu, 4 May 2017 19:09:24 +0000 (12:09 -0700)]
Use ProcMountNSGuard in C API
This commit adds helper method in C API using `ProcMountNSGuard` to enter
and exit mount namespace, and use it in `libbpf.h`
Teng Qin [Thu, 4 May 2017 19:09:19 +0000 (12:09 -0700)]
Use ProcMountNSGuard to manage mount namespace
This commit adds `ProcMountNS` and `ProcMountNSGuard`, that
automatically opens and closes FDs, and enters and exists mount
namespace on construction and destruction.
Teng Qin [Thu, 4 May 2017 19:09:14 +0000 (12:09 -0700)]
Add and unify helper for ELF type
Teng Qin [Thu, 4 May 2017 19:09:08 +0000 (12:09 -0700)]
Move FileDesc to common.h
4ast [Tue, 9 May 2017 01:20:01 +0000 (18:20 -0700)]
Merge pull request #1155 from palmtenor/perf_map_check
Improve perf map parsing logic
Teng Qin [Thu, 4 May 2017 07:58:51 +0000 (00:58 -0700)]
Improve perf map parsing logic
4ast [Fri, 5 May 2017 16:05:07 +0000 (09:05 -0700)]
Merge pull request #1158 from tklauser/patch-2
docs: update feature list for 4.12
Tobias Klauser [Fri, 5 May 2017 08:32:57 +0000 (10:32 +0200)]
docs: update feature list for 4.12
All of the features listed to be incluude in 4.12 landed in Linus' tree.
Update the table accordingly.
Ulrich Drepper [Thu, 4 May 2017 19:12:07 +0000 (21:12 +0200)]
Merge pull request #1 from drepper/fedora-compile-2
Fix computation of LUAJIT_INCLUDE_DIR
drepper@gmail.com [Thu, 4 May 2017 18:57:40 +0000 (20:57 +0200)]
Fix computation of LUAJIT_INCLUDE_DIR
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 [Thu, 4 May 2017 16:59:28 +0000 (09:59 -0700)]
Merge pull request #1152 from palmtenor/pyfuture
Add documentation to guide future scripts to be Python3-ready
Ulrich Drepper [Thu, 4 May 2017 15:09:51 +0000 (17:09 +0200)]
Make match_so_flags a bit mre robust
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 [Thu, 4 May 2017 15:06:01 +0000 (17:06 +0200)]
Accept luajit as DSO
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.
4ast [Wed, 3 May 2017 20:19:34 +0000 (13:19 -0700)]
Merge pull request #1149 from qmonnet/kernelfeatures
docs: update features list (ThunderX support for XDP)
Teng Qin [Wed, 3 May 2017 18:29:45 +0000 (11:29 -0700)]
Add documentation to guide future scripts Python3-ready
4ast [Wed, 3 May 2017 16:39:46 +0000 (09:39 -0700)]
Merge pull request #1151 from goldshtn/usdt-workaround
cc: Work around verifier error when reading USDT probe arguments
Teng Qin [Wed, 3 May 2017 09:16:21 +0000 (02:16 -0700)]
Avoid walking all symbols for unknown address
Arthur Gautier [Fri, 28 Apr 2017 21:39:58 +0000 (21:39 +0000)]
bfp, xdp: make type explicit
explicit the type of the nlattr
Signed-off-by: Arthur Gautier <baloo@gandi.net>
Sasha Goldshtein [Wed, 3 May 2017 11:07:23 +0000 (07:07 -0400)]
cc: Work around verifier error when reading USDT probe arguments
The code generated by the USDT helpers for reading probe arguments
occasionally caused a verifier error due to a construct similar to
the following:
```
switch (ctx->ip) {
case 0xaaaa: *dest = ctx->cx; break;
case 0xbbbb: *dest = ctx->dx; break;
}
```
This would generate an instruction sequence that attempts to access
ctx through an offset that is not statically known, which confuses
the verifier. This was reported in #751, #829, and #1133, and likely
seen by others as well.
The workaround, suggested by @yonghong-song, is to force memory
writes by using the volatile modifier, which precludes this specific
optimization.
Resolves #751, #829, #1133.
Quentin Monnet [Wed, 3 May 2017 07:35:37 +0000 (09:35 +0200)]
docs: update features list (ThunderX support for XDP)
4ast [Tue, 2 May 2017 14:43:00 +0000 (07:43 -0700)]
Merge pull request #1148 from qmonnet/kernelfeatures
docs: update features list
Quentin Monnet [Tue, 2 May 2017 12:12:06 +0000 (14:12 +0200)]
docs: update features list
Update of BPF features list, following the release of kernel 4.11.
New items include:
- Sparc eBPF JIT
- ixgbe support for XDP
- eBPF benchmarking facility
- new helpers `get_socket_*()`
4ast [Tue, 2 May 2017 05:08:49 +0000 (22:08 -0700)]
Merge pull request #1147 from palmtenor/moduleopt
Small improvements to symboling availiability
Teng Qin [Mon, 1 May 2017 18:26:05 +0000 (11:26 -0700)]
Don't refresh already gone PIDs
Currently we check if `ProcSyms` needs refresh for every symboling call.
However if the `ProcSyms` was loaded, but the Process terminated later,
we will see it as a "need refresh" and effectively clear the symbol
table and not able to resovle anything anymore.
This commit changes so that we only refresh when the PID still exists
(but differnt from what loaded).
Teng Qin [Mon, 1 May 2017 18:15:57 +0000 (11:15 -0700)]
Don't always reload empty Modules
Currently we think the Module's symbol table is not loaed as long as its
empty. But some times we were just not able to read the symbols from the
binary / perf map, or didn't get symbol from the read. This commit makes
so that we don't end up trying to do a read on each lookup.
Brenden Blanco [Mon, 1 May 2017 20:16:27 +0000 (13:16 -0700)]
Merge pull request #1145 from skottler/install-sudo-debian-container
Install sudo inside the debian build container
Sam Kottler [Sun, 30 Apr 2017 19:21:19 +0000 (15:21 -0400)]
Install sudo inside the debian build container
4ast [Fri, 28 Apr 2017 02:14:15 +0000 (19:14 -0700)]
Merge pull request #1140 from iovisor/llvm_alloca_irbuilder_fix
frontend/b: fixes for LLVM 4.0 API change
Brenden Blanco [Thu, 27 Apr 2017 21:44:48 +0000 (14:44 -0700)]
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>
Brenden Blanco [Thu, 27 Apr 2017 18:46:14 +0000 (11:46 -0700)]
Merge pull request #1129 from palmtenor/nowarning
Add default -Wno-address-of-packed-membe to Clang loader