<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.ghprb.GhprbCause'><shortDescription>GitHub pull request #2885 of commit ceb458d6a07a42d8d6d3c16a3b8e387b5131d610, has merge conflicts.</shortDescription></cause></action><action _class='org.jenkinsci.plugins.ghprb.GhprbParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>sha1</name><value>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommit</name><value>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommitAuthor</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommitAuthorEmail</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbAuthorRepoGitUrl</name><value>https://github.com/sabbene/bcc.git</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthor</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorEmail</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorLogin</name><value>yonghong-song</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorLoginMention</name><value>@yonghong-song</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullId</name><value>2885</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTargetBranch</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbSourceBranch</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GIT_BRANCH</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorEmail</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorLogin</name><value>sabbene</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorLoginMention</name><value>@sabbene</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullDescription</name><value>GitHub pull request #2885 of commit ceb458d6a07a42d8d6d3c16a3b8e387b5131d610, has merge conflicts.</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullTitle</name><value>add support for nfs version 3 to nfsdist.py</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullLink</name><value>https://github.com/iovisor/bcc/pull/2885</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullLongDescription</name><value>Adding an option to explicitly trace nfs version 3 or 4 operations.</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbCommentBody</name><value>[buildbot, test this please]</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbGhRepository</name><value>iovisor/bcc</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbCredentialsId</name><value>6d3daf13-69b8-48b1-9c8f-ec5353264113</value></parameter></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><detached _class='hudson.plugins.git.util.Build'><buildNumber>471</buildNumber><marked><SHA1>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</SHA1><branch><SHA1>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</SHA1><name>detached</name></branch></marked><revision><SHA1>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</SHA1><branch><SHA1>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</SHA1><name>detached</name></branch></revision></detached></buildsByBranchName><lastBuiltRevision><SHA1>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</SHA1><branch><SHA1>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</SHA1><name>detached</name></branch></lastBuiltRevision><remoteUrl>https://github.com/iovisor/bcc.git</remoteUrl><scmName></scmName></action><action _class='hudson.plugins.git.GitTagAction'></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><description>&lt;a title="add support for nfs version 3 to nfsdist.py" href="https://github.com/iovisor/bcc/pull/2885"&gt;PR #2885&lt;/a&gt;: add support for nfs version...</description><displayName>#471</displayName><duration>1606386</duration><estimatedDuration>7460664</estimatedDuration><fullDisplayName>bcc-pr #471</fullDisplayName><id>471</id><keepLog>false</keepLog><number>471</number><queueId>3776</queueId><result>SUCCESS</result><timestamp>1588729217933</timestamp><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/471/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/test_usdt_probes.cc</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><commitId>c6a3f0298ebf0ec1cb1c455320876da5b4a0b07b</commitId><timestamp>1579623538000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Remove namespace code from libbpf to fix USDT

This removes the namespace code from libbpf, as they are no longer necessary
since #2324 was merged, and have caused regressions on older Kernels that do
not use the new API for creating probes. This also deletes the dead code for
namespace handling in libbpf, as this was the last use of it.

This also introduces regression tests to ensure that processes in containers
can be USDT probed, by adding tests that unshare the mount and process
namespaces.
</comment><date>2020-01-21 08:18:58 -0800</date><id>c6a3f0298ebf0ec1cb1c455320876da5b4a0b07b</id><msg>Remove namespace code from libbpf to fix USDT</msg><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>tests/cc/test_usdt_probes.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/networking/simulation.py</affectedPath><commitId>dbfb18851866254a7b127146c8a9c2d76260ee78</commitId><timestamp>1579714917000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix a bug in networking/simulation.py

test test_brb.py failed on fc31 with the following error messages:
  Traceback (most recent call last):
    File "./test_brb.py", line 162, in test_brb
      disable_ipv6=True)
    File "/home/yhs/work/bcc/tests/python/simulation.py", line 94, in _create_ns
      disable_ipv6)
    File "/home/yhs/work/bcc/tests/python/simulation.py", line 68, in _ns_add_ifc
      ns_ipdb.interfaces.lo.up().commit()
    File "/usr/local/lib/python3.7/site-packages/pyroute2/ipdb/interfaces.py", line 1078, in commit
      raise error
    File "/usr/local/lib/python3.7/site-packages/pyroute2/ipdb/interfaces.py", line 859, in commit
    transaction.wait_all_targets()
    File "/usr/local/lib/python3.7/site-packages/pyroute2/ipdb/transactional.py", line 507, in wait_all_targets
      raise CommitException('target %s is not set' % key)
  pyroute2.ipdb.exceptions.CommitException: target state is not set

The reason is in networking/simulation.py, if the interface 'lo'
inside the namespace is already up and it is tried to commit
to 'up' state again, the pyroute2 library will cause an exception.

The fix is to avoid to 'up' interface 'lo' again if the interface
is already in 'up' state.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-01-22 09:41:57 -0800</date><id>dbfb18851866254a7b127146c8a9c2d76260ee78</id><msg>fix a bug in networking/simulation.py</msg><path><editType>edit</editType><file>examples/networking/simulation.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/profile.py</affectedPath><commitId>0cafe5571865d4dcab8ff2bd398b41dbc10b42f4</commitId><timestamp>1579752366000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix line TypeError

./profile.py -adf -p `pgrep -n main` 5
Traceback (most recent call last):
  File "./profile.py", line 342, in &lt;module&gt;
    print("%s %d" % (b";".join(line).decode('utf-8', 'replace'), v.value))
TypeError: sequence item 5: expected a bytes-like object, str found
</comment><date>2020-01-22 20:06:06 -0800</date><id>0cafe5571865d4dcab8ff2bd398b41dbc10b42f4</id><msg>fix line TypeError</msg><path><editType>edit</editType><file>tools/profile.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/cc/compat/linux/virtual_bpf.h</affectedPath><affectedPath>introspection/bps.c</affectedPath><affectedPath>docs/kernel-versions.md</affectedPath><commitId>83b67c2a05b107ffc27cb9b8cec0bec9f5c43a84</commitId><timestamp>1580166073000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync to latest libbpf repo

Sync to latest libbpf repo. New helper bpf_jiffies64
and new program type BPF_PROG_TYPE_EXT is added.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-01-27 15:01:13 -0800</date><id>83b67c2a05b107ffc27cb9b8cec0bec9f5c43a84</id><msg>sync to latest libbpf repo</msg><path><editType>edit</editType><file>src/cc/compat/linux/virtual_bpf.h</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>introspection/bps.c</file></path><path><editType>edit</editType><file>src/cc/libbpf</file></path><path><editType>edit</editType><file>docs/kernel-versions.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.gitignore</affectedPath><affectedPath>.github/workflows/bcc-test.yml</affectedPath><affectedPath>tests/wrapper.sh.in</affectedPath><affectedPath>tests/python/test_stackid.py</affectedPath><affectedPath>tests/python/test_debuginfo.py</affectedPath><affectedPath>tests/python/test_trace3.py</affectedPath><affectedPath>tests/python/test_tools_smoke.py</affectedPath><affectedPath>tests/python/utils.py</affectedPath><affectedPath>tests/cc/test_c_api.cc</affectedPath><affectedPath>tests/python/test_brb2.py</affectedPath><affectedPath>tests/python/test_usdt2.py</affectedPath><affectedPath>tests/python/test_usdt.py</affectedPath><affectedPath>tests/python/test_usdt3.py</affectedPath><affectedPath>examples/networking/simulation.py</affectedPath><affectedPath>Dockerfile.tests</affectedPath><affectedPath>tests/cc/test_usdt_probes.cc</affectedPath><commitId>a47c44fa0d570b64d8cb06449052db4f363e80a4</commitId><timestamp>1580314798000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Run BCC test suite with github actions

With this commit, pushes to branches can trigger tests directly on
Github Actions.

Here it will be able to test against kernel 4.14 and 5.0.0, which correspond
to the latest Ubuntu LTS kernel releases.

Tests are run for both Debug and Release modes.

Tests run inside docker, in an ubuntu 19.04 container base.

For the github workflow:

- The test_libbcc suite is run first, to potentially fail fast on these faster
unit tests.
- The Python test suite is run

Some of these tests are allowed to fail, but the failure is still reported:

- In catch2 tests, using the [!mayfail] tag, where this will be displayed in
the test summary
- In Python unittests, using the `@mayFail("Reason")` decorator, which is
introduce for consistency with catch2. These will report the reason for the
failure, and log this to an artifact of the test.
</comment><date>2020-01-29 08:19:58 -0800</date><id>a47c44fa0d570b64d8cb06449052db4f363e80a4</id><msg>Run BCC test suite with github actions</msg><path><editType>edit</editType><file>examples/networking/simulation.py</file></path><path><editType>edit</editType><file>tests/python/test_trace3.py</file></path><path><editType>add</editType><file>Dockerfile.tests</file></path><path><editType>edit</editType><file>tests/cc/test_usdt_probes.cc</file></path><path><editType>edit</editType><file>tests/wrapper.sh.in</file></path><path><editType>add</editType><file>.github/workflows/bcc-test.yml</file></path><path><editType>edit</editType><file>tests/cc/test_c_api.cc</file></path><path><editType>edit</editType><file>tests/python/utils.py</file></path><path><editType>edit</editType><file>tests/python/test_tools_smoke.py</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>edit</editType><file>tests/python/test_usdt2.py</file></path><path><editType>edit</editType><file>tests/python/test_debuginfo.py</file></path><path><editType>edit</editType><file>tests/python/test_usdt.py</file></path><path><editType>edit</editType><file>tests/python/test_brb2.py</file></path><path><editType>edit</editType><file>tests/python/test_usdt3.py</file></path><path><editType>edit</editType><file>tests/python/test_stackid.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/api/BPF.cc</affectedPath><affectedPath>tests/python/test_usdt3.py</affectedPath><affectedPath>tests/python/test_usdt.py</affectedPath><affectedPath>tests/python/test_usdt2.py</affectedPath><affectedPath>src/cc/usdt.h</affectedPath><affectedPath>src/cc/api/BPF.h</affectedPath><commitId>b090f5f9eee62796829184ec862e3378a3b7e425</commitId><timestamp>1580351171000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Make inode-only matching default, reverse USDT kludge
</comment><date>2020-01-29 18:26:11 -0800</date><id>b090f5f9eee62796829184ec862e3378a3b7e425</id><msg>Make inode-only matching default, reverse USDT kludge</msg><path><editType>edit</editType><file>src/cc/api/BPF.cc</file></path><path><editType>edit</editType><file>tests/python/test_usdt3.py</file></path><path><editType>edit</editType><file>tests/python/test_usdt.py</file></path><path><editType>edit</editType><file>tests/python/test_usdt2.py</file></path><path><editType>edit</editType><file>src/cc/usdt.h</file></path><path><editType>edit</editType><file>src/cc/api/BPF.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>README.md</affectedPath><commitId>215b7243a074afc454d5cc092e9e45350ee2a667</commitId><timestamp>1580425436000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>remove dead link

solves #2722
</comment><date>2020-01-30 15:03:56 -0800</date><id>215b7243a074afc454d5cc092e9e45350ee2a667</id><msg>remove dead link</msg><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/klockstat.py</affectedPath><commitId>90b2382b2068031930704d42205829b356f41ffb</commitId><timestamp>1580434301000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools/klockstat.py: Do not display symbol twice for stack

Currently we display the caller symbol in stack,
which ends up with output below when we enable stack:

                                  Caller   Avg Hold  Count   Max hold Total hold
                  b'flush_to_ldisc+0x22'      56112      2     103914     112225
                  b'flush_to_ldisc+0x22'
               b'process_one_work+0x1b0'
                   b'worker_thread+0x50'
                         b'kthread+0xfb'

Skipping one more symbol in stack to fix that:

                                  Caller   Avg Hold  Count   Max hold Total hold
                  b'flush_to_ldisc+0x22'       1893      2       2765       3787
               b'process_one_work+0x1b0'
                   b'worker_thread+0x50'
                         b'kthread+0xfb'

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-01-30 17:31:41 -0800</date><id>90b2382b2068031930704d42205829b356f41ffb</id><msg>tools/klockstat.py: Do not display symbol twice for stack</msg><path><editType>edit</editType><file>tools/klockstat.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>0e63c5c1ad267281f8d0b652eaf87dd494ddba04</commitId><timestamp>1580434349000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix compilation error due to latest llvm change

llvm 11.0 required explicit conversion from StringRef to std::string.
The patch is
  https://github.com/llvm/llvm-project/commit/777180a32b61070a10dd330b4f038bf24e916af1

This patch made a compatible change which works for old llvm
as well.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-01-30 17:32:29 -0800</date><id>0e63c5c1ad267281f8d0b652eaf87dd494ddba04</id><msg>fix compilation error due to latest llvm change</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>src/cc/api/BPFTable.h</affectedPath><affectedPath>docs/reference_guide.md</affectedPath><affectedPath>src/cc/api/BPF.cc</affectedPath><affectedPath>src/cc/api/BPF.h</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><affectedPath>src/python/bcc/table.py</affectedPath><affectedPath>src/cc/api/BPFTable.cc</affectedPath><commitId>46965c6b3790a51ba288093c68b16fab71914f88</commitId><timestamp>1580492211000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add XSKMAP support (#2730)

* add XSKMAP support
* enable lookup for XSKMAP available from kernel 5.3
* add section for XSKMAP in reference guide
</comment><date>2020-01-31 09:36:51 -0800</date><id>46965c6b3790a51ba288093c68b16fab71914f88</id><msg>Add XSKMAP support (#2730)</msg><path><editType>edit</editType><file>src/cc/api/BPFTable.cc</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path><path><editType>edit</editType><file>src/cc/api/BPF.h</file></path><path><editType>edit</editType><file>src/python/bcc/table.py</file></path><path><editType>edit</editType><file>src/cc/api/BPFTable.h</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>docs/reference_guide.md</file></path><path><editType>edit</editType><file>src/cc/api/BPF.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/__init__.py</affectedPath><commitId>f727a00fb4a388f30ab0f637b43f27345b0f6da7</commitId><timestamp>1580788905000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>bcc.BPF.cleanup(): Ensure self.funcs items get deleted during cleanup

Since commit 115b959d86
("Fix a file descriptor leak when module is deleted (#2530)"), we
observe the following exceptions during python exit:

  Error in atexit._run_exitfuncs:
  Traceback (most recent call last):
    File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
      func(*targs, **kargs)
    File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 1366, in cleanup
      os.close(fn.fd)
  OSError: [Errno 9] Bad file descriptor

which occurs for python programs issuing a call to 'cleanup()', or using
the 'with bcc.BPF(...)' code pattern.

BPF's 'cleanup' is registered to be invoked atexit. Alas, commit
115b959d86 introduced an 'os.close(fn.fd)' call for each func loaded (to
prevent accidental FD leakage).

Problem is, that the 'self.funcs' dict entries are NOT deleted, making
subsequent calls to 'cleanup' to attempt closing the same 'fn.fd' again
and again.

It is expected from 'cleanup' to operate correctly when called
repeatedly; Therefore, it should "nullify" references to closed
resources.

Fix, by deleting the reference to each unloaded function from the
'self.func' dictionary.

Fixes: 115b959d86 ("Fix a file descriptor leak when module is deleted (#2530)")
Reported-by: Dana Rubin &lt;drubin@metanetworks.com&gt;
Signed-off-by: Shmulik Ladkani &lt;shmulik.ladkani@gmail.com&gt;
</comment><date>2020-02-03 20:01:45 -0800</date><id>f727a00fb4a388f30ab0f637b43f27345b0f6da7</id><msg>bcc.BPF.cleanup(): Ensure self.funcs items get deleted during cleanup</msg><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>68789499f281c73d0ef9956dd88100c48558050e</commitId><timestamp>1580833707000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>define CC_USING_FENTRY if CONFIG_FUNCTION_TRACER is defined

Fix issue #2734.

In 4.18 and later, when CONFIG_FUNCTION_TRACER is defined, kernel Makefile adds
-DCC_USING_FENTRY. Let do the same for bpf programs.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-02-04 08:28:27 -0800</date><id>68789499f281c73d0ef9956dd88100c48558050e</id><msg>define CC_USING_FENTRY if CONFIG_FUNCTION_TRACER is defined</msg><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>snapcraft/bcc-wrapper</affectedPath><affectedPath>snap/README.md</affectedPath><affectedPath>snap/local/bcc-wrapper</affectedPath><affectedPath>src/python/setup.py.in</affectedPath><affectedPath>snap/snapcraft.yaml</affectedPath><affectedPath>snapcraft/README.md</affectedPath><affectedPath>snapcraft/Makefile</affectedPath><affectedPath>snapcraft/snapcraft.yaml</affectedPath><commitId>685ec23ecaa9c55409a21b5cd3c919fe1206fb20</commitId><timestamp>1581009398000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>snap: update and cleanup snapcraft.yaml

A couple of issues fixed:

- put snapcraft.yaml in the snap directory so it is
  picked up by snapcraft when run from the project root.
- use snap/local for local snapcraft assets.
- setup.py.in should not add root for sdist targets
- cleanup snap/README.md.
- re-arrange parts in snapcraft.yaml and move to python3.

Signed-off-by: Sergio Schvezov &lt;sergio.schvezov@canonical.com&gt;
</comment><date>2020-02-06 09:16:38 -0800</date><id>685ec23ecaa9c55409a21b5cd3c919fe1206fb20</id><msg>snap: update and cleanup snapcraft.yaml</msg><path><editType>delete</editType><file>snapcraft/README.md</file></path><path><editType>delete</editType><file>snapcraft/bcc-wrapper</file></path><path><editType>delete</editType><file>snapcraft/snapcraft.yaml</file></path><path><editType>delete</editType><file>snapcraft/Makefile</file></path><path><editType>add</editType><file>snap/snapcraft.yaml</file></path><path><editType>add</editType><file>snap/local/bcc-wrapper</file></path><path><editType>edit</editType><file>src/python/setup.py.in</file></path><path><editType>add</editType><file>snap/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>tools/tcptop.py</affectedPath><commitId>a4834a6cacd14f251e72695f08766a16216642b2</commitId><timestamp>1581020611000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>prevent rewriting for array element type

Fix issue #2352.
Corresponding llvm bug: https://bugs.llvm.org/show_bug.cgi?id=41918.

If the element type is array type, the rewriter may generate code like
  addr = ({ typeof(__u8 [16]) _val; __builtin_memset(&amp;_val, 0, sizeof(_val));
            bpf_probe_read(&amp;_val, sizeof(_val), (u64)&amp;daddr-&gt;s6_addr); _val; })
for something like
  addr = daddr-&gt;s6_addr;
where s6_addr is an array.

The above code has an issue then as addr is pointing to some data
which is out of scope, which meaning compiler is free to use the space.

Let us disable such transformation until we find a good solution.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-02-06 12:23:31 -0800</date><id>a4834a6cacd14f251e72695f08766a16216642b2</id><msg>prevent rewriting for array element type</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path><path><editType>edit</editType><file>tools/tcptop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><commitId>f149ca5d774aa81d8b78cfcd5be6f5cf58cbdab7</commitId><timestamp>1581023742000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Do not rewrite array subscripts if invalid sourceloc range

Fix #2739.

The issue exposed an issue that to rewrite
  CODE1: __u8 byte = daddr-&gt;s6_addr[4];
will segfault and to rewrite
  CODE2: __u8 byte = (daddr-&gt;s6_addr)[4];
will be okay.

For CODE1, the clang did not give enough information to find the text
which contains the left bracket "[", given base "daddr-&gt;s6_addr"
and subscript "4". For CODE2, the clang is able to get the information
successfuly.

I think if we really go inside the base "daddr-&gt;s6_addr" and gets to
its member field "s6_addr", we can find the needed information
for the text range containing "[". Let us fix the segfault first
and if really desirable, we can try to enhance later for CODE1 patterns.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-02-06 13:15:42 -0800</date><id>f149ca5d774aa81d8b78cfcd5be6f5cf58cbdab7</id><msg>Do not rewrite array subscripts if invalid sourceloc range</msg><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/offwaketime.py</affectedPath><commitId>0a7da74e2580150002131aebbe9eaa2d5e2c9b62</commitId><timestamp>1581092194000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix offwaketime regression introduced by #ac00ac5
</comment><date>2020-02-07 08:16:34 -0800</date><id>0a7da74e2580150002131aebbe9eaa2d5e2c9b62</id><msg>Fix offwaketime regression introduced by #ac00ac5</msg><path><editType>edit</editType><file>tools/offwaketime.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/api/BPFTable.h</affectedPath><affectedPath>tests/cc/CMakeLists.txt</affectedPath><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>src/cc/api/BPF.cc</affectedPath><affectedPath>src/cc/bpf_module.cc</affectedPath><affectedPath>src/cc/api/BPF.h</affectedPath><affectedPath>tests/cc/test_cg_storage.cc</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><affectedPath>src/cc/bpf_module.h</affectedPath><affectedPath>tests/cc/test_sock_table.cc</affectedPath><affectedPath>src/cc/api/BPFTable.cc</affectedPath><commitId>6cacc41462bae12b1c38aabc7a6b85f40783da9a</commitId><timestamp>1581181989000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>support sockmap/sockhash/cgroup_local_storage maps

This patch supports sockmap, sockhash and cgroup_local_storage
maps. Two C++ APIs, attach_func and detach_func are also
added to allow to attach program to cgroups. So this makes
using C++ APIs for cgroup based networking applications
easier to integrate with bpf programs.

The unit testing is rough as it needs some work to set up
cgroups and establish TCP connections to really test the
result of map operations. But still all supported map
operations in kernel and in C++ APIs are tested syntacically.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-02-08 09:13:09 -0800</date><id>6cacc41462bae12b1c38aabc7a6b85f40783da9a</id><msg>support sockmap/sockhash/cgroup_local_storage maps</msg><path><editType>edit</editType><file>src/cc/api/BPFTable.h</file></path><path><editType>edit</editType><file>tests/cc/CMakeLists.txt</file></path><path><editType>edit</editType><file>src/cc/api/BPFTable.cc</file></path><path><editType>add</editType><file>tests/cc/test_cg_storage.cc</file></path><path><editType>edit</editType><file>src/cc/bpf_module.h</file></path><path><editType>edit</editType><file>src/cc/api/BPF.cc</file></path><path><editType>edit</editType><file>src/cc/api/BPF.h</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path><path><editType>edit</editType><file>src/cc/bpf_module.cc</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>add</editType><file>tests/cc/test_sock_table.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>debian/control</affectedPath><commitId>397ff3708f6b0d17ae0a6e2d7edf13c7d0801d83</commitId><timestamp>1581233483000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbcc debian package is architecture-dependent
</comment><date>2020-02-08 23:31:23 -0800</date><id>397ff3708f6b0d17ae0a6e2d7edf13c7d0801d83</id><msg>libbcc debian package is architecture-dependent</msg><path><editType>edit</editType><file>debian/control</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>0f92c845a7deb60e97f49425f181d7b7e9daf56b</commitId><timestamp>1581268355000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>correctly describe installation situation for Ubuntu
</comment><date>2020-02-09 09:12:35 -0800</date><id>0f92c845a7deb60e97f49425f181d7b7e9daf56b</id><msg>correctly describe installation situation for Ubuntu</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>snap/snapcraft.yaml</affectedPath><commitId>c82aa514babba5d34e3794a76bf464fdd28ae423</commitId><timestamp>1581518920000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>snapcraft: add missing libfl-dev dependency

Also need libfl-dev to build on other non-x86 targets

Signed-off-by: Colin Ian King &lt;colin.king@canonical.com&gt;
</comment><date>2020-02-12 06:48:40 -0800</date><id>c82aa514babba5d34e3794a76bf464fdd28ae423</id><msg>snapcraft: add missing libfl-dev dependency</msg><path><editType>edit</editType><file>snap/snapcraft.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/bin/bpftool</affectedPath><commitId>4281c62f9f04962bed05a326f68102b6ee8a5464</commitId><timestamp>1581541170000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/andriin</absoluteUrl><fullName>andriin</fullName></author><authorEmail>andriin@fb.com</authorEmail><comment>libbpf tools: check in bpftool for use by libbpf-based tool build

Check in bpftool binary to be used for BPF skeleton generation for
libbpf-based tools.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-02-12 12:59:30 -0800</date><id>4281c62f9f04962bed05a326f68102b6ee8a5464</id><msg>libbpf tools: check in bpftool for use by libbpf-based tool build</msg><path><editType>add</editType><file>libbpf-tools/bin/bpftool</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/vmlinux.h</affectedPath><affectedPath>libbpf-tools/vmlinux_505.h</affectedPath><commitId>7fcb335b6c068dded2af10918753ead35ad87532</commitId><timestamp>1581541254000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/andriin</absoluteUrl><fullName>andriin</fullName></author><authorEmail>andriin@fb.com</authorEmail><comment>tools: add vmlinux.h header with all kernel types

Check in vmlinux.h generated from Linux 5.5 version with default config. This
is used from libbpf-based tools.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-02-12 13:00:54 -0800</date><id>7fcb335b6c068dded2af10918753ead35ad87532</id><msg>tools: add vmlinux.h header with all kernel types</msg><path><editType>add</editType><file>libbpf-tools/vmlinux.h</file></path><path><editType>add</editType><file>libbpf-tools/vmlinux_505.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CMakeLists.txt</affectedPath><commitId>2d099cd8c5cb1598d6e911c0b389132ebc7c101b</commitId><timestamp>1581554521000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Allow specifying clang base directory
</comment><date>2020-02-12 16:42:01 -0800</date><id>2d099cd8c5cb1598d6e911c0b389132ebc7c101b</id><msg>Allow specifying clang base directory</msg><path><editType>edit</editType><file>CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/runqslower.c</affectedPath><affectedPath>libbpf-tools/runqslower_example.txt</affectedPath><affectedPath>libbpf-tools/runqslower.bpf.c</affectedPath><affectedPath>libbpf-tools/README.md</affectedPath><affectedPath>man/man8/runqslower.8</affectedPath><affectedPath>libbpf-tools/runqslower.h</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>e1496e15a749fa700315f759dfca4ac79f3f6428</commitId><timestamp>1581570874000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/andriin</absoluteUrl><fullName>andriin</fullName></author><authorEmail>andriin@fb.com</authorEmail><comment>tools: add libbpf-based tools to BCC w/ runqslower as first converted tool

Add runqslower as a first tool converted from BCC to libbpf, utilizing BPF
CO-RE (Compile Once - Run Everywhere) approach and BPF skeleton for
interfacing with BPF programs. Current set up is Makefile based and is set up
in such a way as to enable easy addition for more tools, based on a simple and
convenient naming pattern. General build infrastructure takes case of BPF
skeleton generation, tracking dependencies, clean up, etc.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-02-12 21:14:34 -0800</date><id>e1496e15a749fa700315f759dfca4ac79f3f6428</id><msg>tools: add libbpf-based tools to BCC w/ runqslower as first converted tool</msg><path><editType>add</editType><file>libbpf-tools/README.md</file></path><path><editType>add</editType><file>libbpf-tools/runqslower_example.txt</file></path><path><editType>edit</editType><file>man/man8/runqslower.8</file></path><path><editType>add</editType><file>libbpf-tools/runqslower.c</file></path><path><editType>add</editType><file>libbpf-tools/runqslower.h</file></path><path><editType>add</editType><file>libbpf-tools/runqslower.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/.gitignore</file></path><path><editType>add</editType><file>libbpf-tools/Makefile</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/tcpconnlat.py</affectedPath><commitId>a28ad059edf6f74acc124fde4b4934a2fc410a35</commitId><timestamp>1581892852000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix pid filter bug

1. Wirte a simple go, just print pid and get some website.
func main() {
	 pid := os.Getpid()
         fmt.Println(pid)
         response, err := http.Get("http://www.baidu.com")
        ....
}

./main
3581

2. But when run `tcpconnlat`, we just go tid 3585, (not pid 3581)
#./tcpconnlat
PID    COMM         IP SADDR            DADDR            DPORT LAT(ms)
3585   main         4  10.0.2.15        180.101.49.11    80    60.68

3. So run `./tcpconnlat -p 3581` not work
I have tested this situation under kernel 3.10 and 5.0.9.
</comment><date>2020-02-16 14:40:52 -0800</date><id>a28ad059edf6f74acc124fde4b4934a2fc410a35</id><msg>fix pid filter bug</msg><path><editType>edit</editType><file>tools/tcpconnlat.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/stackcount.py</affectedPath><affectedPath>tools/stackcount_example.txt</affectedPath><commitId>9b6a0e357c30b52e115f803bb6babb3ffc4fdabf</commitId><timestamp>1582069705000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools/stackcount: Fix address resolution for user-space stack

This patch fixes issue #2748. The bug was that address-to-symbol resolution
didn't work for user-space stacks without the `-P` (per-pid) flag when tracing
single, isolated processes. The current documentation of the `-P` option
indicates that it's used to "display stacks separately for each process",
and this doesn't match with the intended usage.

This patch has two parts:

 - Fix `tools/stackcount.py` to explicitly set perpid to True if `-p &lt;pid&gt;`
   is used
 - Remove the `-P` option from the example of tracing single, isolated process
   in `tools/stackcount_example.txt`, since the usage of the option can
   be confusing (and unnecessary after the current change)
</comment><date>2020-02-18 15:48:25 -0800</date><id>9b6a0e357c30b52e115f803bb6babb3ffc4fdabf</id><msg>tools/stackcount: Fix address resolution for user-space stack</msg><path><editType>edit</editType><file>tools/stackcount.py</file></path><path><editType>edit</editType><file>tools/stackcount_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/tracing/dddos.py</affectedPath><commitId>1332e68676fe0f1365dccd5ebffc05259b67abc1</commitId><timestamp>1582084033000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Update dddos.py

Fix a few more typos
</comment><date>2020-02-18 19:47:13 -0800</date><id>1332e68676fe0f1365dccd5ebffc05259b67abc1</id><msg>Update dddos.py</msg><path><editType>edit</editType><file>examples/tracing/dddos.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/python/test_tools_smoke.py</affectedPath><affectedPath>tools/bindsnoop_example.txt</affectedPath><affectedPath>tools/bindsnoop.py</affectedPath><affectedPath>man/man8/bindsnoop.8</affectedPath><affectedPath>README.md</affectedPath><commitId>8dd4b5a521602d86a9331b5c6c6bdd53a8b4ed72</commitId><timestamp>1582084151000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>bindsnoop BCC tool (#2749)

bindsnoop BCC utility

bindsnoop tool traces the kernel function performing socket binding and
print socket options set before the system call invocation that might
impact bind behavior and bound interface
</comment><date>2020-02-18 19:49:11 -0800</date><id>8dd4b5a521602d86a9331b5c6c6bdd53a8b4ed72</id><msg>bindsnoop BCC tool (#2749)</msg><path><editType>edit</editType><file>tests/python/test_tools_smoke.py</file></path><path><editType>add</editType><file>man/man8/bindsnoop.8</file></path><path><editType>add</editType><file>tools/bindsnoop_example.txt</file></path><path><editType>add</editType><file>tools/bindsnoop.py</file></path><path><editType>edit</editType><file>README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><commitId>51be481a7957b8d84bd02487f66f819f79e94f4a</commitId><timestamp>1582087366000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync to latest libbpf

sync to latest libbpf (libbpf release v0.0.7) to
prepare bcc release.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-02-18 20:42:46 -0800</date><id>51be481a7957b8d84bd02487f66f819f79e94f4a</id><msg>sync to latest libbpf</msg><path><editType>edit</editType><file>src/cc/libbpf</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/profile.py</affectedPath><commitId>29aa61985c98456177d52a5f00cba092b572e778</commitId><timestamp>1582128592000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>tools/profile: fix kernel delimiter when folding (#2758)

retain delimiter with folding enabled
</comment><date>2020-02-19 08:09:52 -0800</date><id>29aa61985c98456177d52a5f00cba092b572e778</id><msg>tools/profile: fix kernel delimiter when folding (#2758)</msg><path><editType>edit</editType><file>tools/profile.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/execsnoop.py</affectedPath><commitId>b26b429cf38b0e1afe915ceee0a1f0172e803ea4</commitId><timestamp>1582132188000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: fix confusion between execsnoop and opensnoop

The execsnoop documentation mispelled 'execsnoop' as 'opensnoop'.

Bug introduced by https://github.com/iovisor/bcc/pull/2651
</comment><date>2020-02-19 09:09:48 -0800</date><id>b26b429cf38b0e1afe915ceee0a1f0172e803ea4</id><msg>tools: fix confusion between execsnoop and opensnoop</msg><path><editType>edit</editType><file>tools/execsnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>debian/changelog</affectedPath><commitId>942227484d3207f6a42103674001ef01fb5335a0</commitId><timestamp>1582174809000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>debian changelog for v0.13.0 tag

  * Support for kernel up to 5.5
  * bindsnoop tool to track tcp/udp bind information
  * added compile-once run-everywhere based libbpf-tools, currently
    only runqslower is implemented.
  * new map support: sockhash, sockmap, sk_storage, cgroup_storage
  * enable to run github actions on the diff
  * cgroupmap based cgroup filtering for opensnoop, execsnoop and bindsnoop.
  * lots of bug fixes.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-02-19 21:00:09 -0800</date><id>942227484d3207f6a42103674001ef01fb5335a0</id><msg>debian changelog for v0.13.0 tag</msg><path><editType>edit</editType><file>debian/changelog</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/filtering_by_cgroups.md</affectedPath><affectedPath>tools/tcpaccept.py</affectedPath><affectedPath>tools/tcptracer.py</affectedPath><affectedPath>tools/tcpconnect.py</affectedPath><affectedPath>tools/tcpaccept_example.txt</affectedPath><affectedPath>tools/tcpconnect_example.txt</affectedPath><affectedPath>tools/tcptracer_example.txt</affectedPath><commitId>1ce868fbb4b4cd45f9d3d043c6d697f45fc6268d</commitId><timestamp>1582247124000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: add option --cgroupmap to tcp tools

List of tcp tools updated: tcpaccept, tcpconnect, tcptracer
</comment><date>2020-02-20 17:05:24 -0800</date><id>1ce868fbb4b4cd45f9d3d043c6d697f45fc6268d</id><msg>tools: add option --cgroupmap to tcp tools</msg><path><editType>edit</editType><file>tools/tcpaccept_example.txt</file></path><path><editType>edit</editType><file>tools/tcpconnect.py</file></path><path><editType>edit</editType><file>tools/tcpaccept.py</file></path><path><editType>edit</editType><file>tools/tcpconnect_example.txt</file></path><path><editType>edit</editType><file>docs/filtering_by_cgroups.md</file></path><path><editType>edit</editType><file>tools/tcptracer.py</file></path><path><editType>edit</editType><file>tools/tcptracer_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/tcpaccept.8</affectedPath><affectedPath>man/man8/tcpconnect.8</affectedPath><affectedPath>man/man8/execsnoop.8</affectedPath><affectedPath>man/man8/tcptracer.8</affectedPath><affectedPath>man/man8/opensnoop.8</affectedPath><commitId>5e3f9e4915fab83effccf3d20d3fbee715d96f6c</commitId><timestamp>1582247124000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>man pages: add documentation about --cgroupmap
</comment><date>2020-02-20 17:05:24 -0800</date><id>5e3f9e4915fab83effccf3d20d3fbee715d96f6c</id><msg>man pages: add documentation about --cgroupmap</msg><path><editType>edit</editType><file>man/man8/opensnoop.8</file></path><path><editType>edit</editType><file>man/man8/execsnoop.8</file></path><path><editType>edit</editType><file>man/man8/tcptracer.8</file></path><path><editType>edit</editType><file>man/man8/tcpaccept.8</file></path><path><editType>edit</editType><file>man/man8/tcpconnect.8</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/api/BPF.cc</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/cc/api/BPF.h</affectedPath><affectedPath>src/cc/libbpf.h</affectedPath><commitId>5681ea9edb5763c6199c2e2e7956bdfa7c13ea36</commitId><timestamp>1582247758000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>c++ api: add wrapper for raw tracepoints
</comment><date>2020-02-20 17:15:58 -0800</date><id>5681ea9edb5763c6199c2e2e7956bdfa7c13ea36</id><msg>c++ api: add wrapper for raw tracepoints</msg><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/api/BPF.cc</file></path><path><editType>edit</editType><file>src/cc/api/BPF.h</file></path><path><editType>edit</editType><file>src/cc/libbpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/cpp/RandomRead.cc</affectedPath><commitId>2a2e7290b60fdc420baa93954c20af8338fa6fae</commitId><timestamp>1582247758000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>cpp examples: use a raw tracepoint for RandomRead
</comment><date>2020-02-20 17:15:58 -0800</date><id>2a2e7290b60fdc420baa93954c20af8338fa6fae</id><msg>cpp examples: use a raw tracepoint for RandomRead</msg><path><editType>edit</editType><file>examples/cpp/RandomRead.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/README.md</affectedPath><commitId>7ad17638acd9c1d82264451c9b0800ecf5ce4f59</commitId><timestamp>1582265941000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/andriin</absoluteUrl><fullName>andriin</fullName></author><authorEmail>andriin@fb.com</authorEmail><comment>libbpf-tools: add links to BPF CO-RE posts

Add links to BPF CO-RE blog posts, explainint what it is, how to use it, and
giving practical recommendations on how to convert BCC BPF program to
libbpf-based one.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-02-20 22:19:01 -0800</date><id>7ad17638acd9c1d82264451c9b0800ecf5ce4f59</id><msg>libbpf-tools: add links to BPF CO-RE posts</msg><path><editType>edit</editType><file>libbpf-tools/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/execsnoop.8</affectedPath><affectedPath>tools/execsnoop.py</affectedPath><affectedPath>tools/execsnoop_example.txt</affectedPath><commitId>c949f613315f19fce1fe5e6dacb1f0e5759c91c9</commitId><timestamp>1582302172000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: execsnoop add -U and -u flags

Add flags to display UID and filter by UID
</comment><date>2020-02-21 08:22:52 -0800</date><id>c949f613315f19fce1fe5e6dacb1f0e5759c91c9</id><msg>tools: execsnoop add -U and -u flags</msg><path><editType>edit</editType><file>tools/execsnoop.py</file></path><path><editType>edit</editType><file>tools/execsnoop_example.txt</file></path><path><editType>edit</editType><file>man/man8/execsnoop.8</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/oomkill.py</affectedPath><commitId>9edbae394f1827a2f5d549795848dc892c6531bf</commitId><timestamp>1582609928000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools/oomkill: output PID instead of thread ID (user's view)
</comment><date>2020-02-24 21:52:08 -0800</date><id>9edbae394f1827a2f5d549795848dc892c6531bf</id><msg>tools/oomkill: output PID instead of thread ID (user's view)</msg><path><editType>edit</editType><file>tools/oomkill.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/networking/http_filter/http-parse-complete.py</affectedPath><commitId>6f3c33b01ce72a44c89a6dcccd3f1cbd99fe1949</commitId><timestamp>1582610424000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix the python part of the http-parse-complete example

The example wasn't working on my machine, just like in issue #2169
</comment><date>2020-02-24 22:00:24 -0800</date><id>6f3c33b01ce72a44c89a6dcccd3f1cbd99fe1949</id><msg>Fix the python part of the http-parse-complete example</msg><path><editType>edit</editType><file>examples/networking/http_filter/http-parse-complete.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><commitId>08de253fbbc2603d59c19618a3e9f18f5bff7bff</commitId><timestamp>1582674495000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix a table of contents of maps

Signed-off-by: Masanori Misono &lt;m.misono760@gmail.com&gt;
</comment><date>2020-02-25 15:48:15 -0800</date><id>08de253fbbc2603d59c19618a3e9f18f5bff7bff</id><msg>Fix a table of contents of maps</msg><path><editType>edit</editType><file>docs/reference_guide.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/CMakeLists.txt</affectedPath><commitId>18da40cd186296d277e193fa92dec1791a888b8c</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Fix bpf linking if specified via LIBBPF_LIBRARIES variable

We need to use LIBBPF_LIBRARIES variable instead of just using bpf
for libbpf linking, so it user specified library gets linked in.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>18da40cd186296d277e193fa92dec1791a888b8c</id><msg>Fix bpf linking if specified via LIBBPF_LIBRARIES variable</msg><path><editType>edit</editType><file>tests/cc/CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/b_frontend_action.cc</affectedPath><affectedPath>src/cc/bpf_module.cc</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/cc/CMakeLists.txt</affectedPath><affectedPath>src/cc/bcc_btf.cc</affectedPath><affectedPath>src/cc/bcc_libbpf_inc.h</affectedPath><commitId>1e7862fdfd8b428e6b2e3ea23f63a1469c3fabf3</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Unite libbpf includes

Currently we include headers from local libbpf subpackage,
which does not work if user specify LIBBPF_INCLUDE_DIR.

Adding HAVE_EXTERNAL_LIBBPF macro, that gets defined when
user specifies libbpf header path. This macro is checked
in bcc_libbpf_inc.h and proper files are included.

Using bcc_libbpf_inc.h in place of libbpf includes.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>1e7862fdfd8b428e6b2e3ea23f63a1469c3fabf3</id><msg>Unite libbpf includes</msg><path><editType>edit</editType><file>src/cc/bcc_btf.cc</file></path><path><editType>edit</editType><file>src/cc/bpf_module.cc</file></path><path><editType>add</editType><file>src/cc/bcc_libbpf_inc.h</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/CMakeLists.txt</file></path><path><editType>edit</editType><file>src/cc/frontends/clang/b_frontend_action.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bpf_module.cc</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><commitId>550706a220da1636fafd322f0366cfde2a188d16</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Do not initialize kern_version for TRACING/EXT programs

The TRACING/EXT programs use attach_btf_id and attach_prog_fd
fields from struct bpf_load_program_attr.

The attach_prog_fd field shares space with kern_version,
so by setting kern_version unconditionally we also set
attach_prog_fd to bogus value and kernel fails the load
because it tries to look it up.

Setting kern_version only for programs other than TRACING/EXT
type.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>550706a220da1636fafd322f0366cfde2a188d16</id><msg>Do not initialize kern_version for TRACING/EXT programs</msg><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/bpf_module.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>src/python/bcc/__init__.py</affectedPath><affectedPath>src/cc/libbpf.h</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><commitId>572478b2083651f25c4e278f8c34ff3d16e3be6a</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Introduce {attach|detach}_kfunc API

Kernel added new probe called trampoline allowing to probe
almost any kernel function when BTF info is available in
the system.

Adding the interface to define trampoline function for given
kernel function via BPF_PROG macro, like:

  KFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode)
  {
    ...
  }

which defines trampoline function with the 'kfunc__do_sys_open'
name, that instruments do_sys_open kernel function before the
function is executed.

or:

  KRETFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode, int ret)
  {
    ...
  }

which defines trampoline function with the 'kfunc__do_sys_open'
name, that instruments do_sys_open kernel function after the
function is executed.

The main benefit is really lower overhead for trampolines (please
see following commit for klockstat.py with perf comparison).

Another benefit is the ability of kretfunc probe to access
function arguments, so some tools might need only one program
instead of entry/exit ones (please see following commit for
opensnoop.py changes).

Currently the interface does not allow to define function
of different name than:
  kfunc__&lt;function_name&gt; or kretfunc__&lt;function_name&gt;

which is sufficient by now, and can be easily changed in future
if needed.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>572478b2083651f25c4e278f8c34ff3d16e3be6a</id><msg>Introduce {attach|detach}_kfunc API</msg><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path><path><editType>edit</editType><file>docs/reference_guide.md</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>src/cc/libbpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/__init__.py</affectedPath><affectedPath>src/cc/libbpf.h</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><commitId>1ad2656a1d9ca1e451ebad5af1330863c66a4035</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add support_kfunc function to BPF object

Adding support_kfunc function to BPF object to return
state of kfunc trampolines support.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>1ad2656a1d9ca1e451ebad5af1330863c66a4035</id><msg>Add support_kfunc function to BPF object</msg><path><editType>edit</editType><file>src/python/bcc/__init__.py</file></path><path><editType>edit</editType><file>src/cc/libbpf.h</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/opensnoop.py</affectedPath><commitId>c347fe6c9f75d6740cf45f80312009daba275f76</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Support kfunc in opensnoop.py

Adding kfunc return trampoline probe if available instead of
kprobe/kretprobe probes.

The return trampoline has access to function entry arguments,
so we are good with just single eBPF program.

The kfunc trampolines are also faster - less intrusive.

Below are stats for compiling linux kernel while running
opensnoop.py on the background for kprobes and kfuncs.

Without opensnoop.py:

 Performance counter stats for 'system wide':

   849,741,782,765      cycles:k

     162.235646336 seconds time elapsed

With opensnoop.py using kprobes:

 Performance counter stats for 'system wide':

   941,615,199,769      cycles:k

     164.355032879 seconds time elapsed

With opensnoop.py using trampolines:

 Performance counter stats for 'system wide':

   913,437,005,488      cycles:k

     163.742914795 seconds time elapsed

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>c347fe6c9f75d6740cf45f80312009daba275f76</id><msg>Support kfunc in opensnoop.py</msg><path><editType>edit</editType><file>tools/opensnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/klockstat.py</affectedPath><commitId>da7cac733c931f06801cc3ce118140892fcb8066</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Support kfunc in klockstat.py

Adding kfunc return trampoline probe if available instead of
kprobe/kretprobe probes.

The kfunc trampolines are faster - less intrusive. The benchmark
without klockstat.py script on background:

	$ perf bench sched messaging -l 50000
	# Running 'sched/messaging' benchmark:
	# 20 sender and receiver processes per group
	# 10 groups == 400 processes run

	     Total time: 18.571 [sec]

With kprobe tracing:
	$ perf bench sched messaging -l 50000
	# Running 'sched/messaging' benchmark:
	# 20 sender and receiver processes per group
	# 10 groups == 400 processes run

	     Total time: 183.395 [sec]

With kfunc tracing:
	$ perf bench sched messaging -l 50000
	# Running 'sched/messaging' benchmark:
	# 20 sender and receiver processes per group
	# 10 groups == 400 processes run

	     Total time: 39.773 [sec]

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>da7cac733c931f06801cc3ce118140892fcb8066</id><msg>Support kfunc in klockstat.py</msg><path><editType>edit</editType><file>tools/klockstat.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/vfsstat.py</affectedPath><commitId>2fa54c0bd388898fdda58f30dcfe5a68d6715efc</commitId><timestamp>1582782477000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Support kfunc in vfsstat.py

Adding kfunc return trampoline probe if available instead of
kprobe/kretprobe probes.

The kfunc trampolines are faster - less intrusive.

Below are stats for running perf bench sched pipe benchamark while
running vfsstat.py on the background for kprobes and kfuncs.

With kprobes:
         Performance counter stats for './perf bench sched pipe -l 5000000' (3 runs):

           112,520,853,574      cycles:k

                    48.674 +- 0.672 seconds time elapsed  ( +-  1.38% )

With kfuncs:
         Performance counter stats for './perf bench sched pipe -l 5000000' (3 runs):

           106,304,165,424      cycles:k

                    46.820 +- 0.197 seconds time elapsed  ( +-  0.42% )

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-02-26 21:47:57 -0800</date><id>2fa54c0bd388898fdda58f30dcfe5a68d6715efc</id><msg>Support kfunc in vfsstat.py</msg><path><editType>edit</editType><file>tools/vfsstat.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bcc_exception.h</affectedPath><commitId>6de96c71f11ace5091651c6cdf645a2d3426214b</commitId><timestamp>1582783313000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Update StatusTuple to use enum Code
</comment><date>2020-02-26 22:01:53 -0800</date><id>6de96c71f11ace5091651c6cdf645a2d3426214b</id><msg>Update StatusTuple to use enum Code</msg><path><editType>edit</editType><file>src/cc/bcc_exception.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>440016f70b24e2913860e21eb2c2a6bbca970f0d</commitId><timestamp>1582784233000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>doc: add python3 doc to "Ubuntu - Source" section in INSTALL.md
</comment><date>2020-02-26 22:17:13 -0800</date><id>440016f70b24e2913860e21eb2c2a6bbca970f0d</id><msg>doc: add python3 doc to "Ubuntu - Source" section in INSTALL.md</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/usdt.py</affectedPath><commitId>c46c7b3d4203adbbc964c25451b918c0df5d94ff</commitId><timestamp>1583172362000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>usdt.py: improve error messags for enable_probe()
</comment><date>2020-03-02 10:06:02 -0800</date><id>c46c7b3d4203adbbc964c25451b918c0df5d94ff</id><msg>usdt.py: improve error messags for enable_probe()</msg><path><editType>edit</editType><file>src/python/bcc/usdt.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/bin/bpftool</affectedPath><commitId>17ff39223a4dd2ff28f63239cb82f785e47ba45c</commitId><timestamp>1583277540000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/andriin</absoluteUrl><fullName>andriin</fullName></author><authorEmail>andriin@fb.com</authorEmail><comment>libbpf-tools: update bpftool

Newer bpftool generates vmlinux.h with header guard `#define`, which plays
nicely with bpf_tracing.h header and PT_REGS_PARM macros.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-03 15:19:00 -0800</date><id>17ff39223a4dd2ff28f63239cb82f785e47ba45c</id><msg>libbpf-tools: update bpftool</msg><path><editType>edit</editType><file>libbpf-tools/bin/bpftool</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/drsnoop.c</affectedPath><affectedPath>libbpf-tools/drsnoop.bpf.c</affectedPath><affectedPath>snap/snapcraft.yaml</affectedPath><affectedPath>libbpf-tools/drsnoop_example.txt</affectedPath><affectedPath>libbpf-tools/trace_helpers.c</affectedPath><affectedPath>tools/drsnoop.py</affectedPath><affectedPath>man/man8/drsnoop.8</affectedPath><affectedPath>libbpf-tools/trace_helpers.h</affectedPath><affectedPath>libbpf-tools/drsnoop.h</affectedPath><affectedPath>man/man8/compactsnoop.8</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>c42197080dda3f565280b918b9bd5223f5e509d6</commitId><timestamp>1583353326000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: covert BCC drsnoop to BPF CO-RE version

Signed-off-by: Wenbo Zhang &lt;ethercflow@gmail.com&gt;
</comment><date>2020-03-04 12:22:06 -0800</date><id>c42197080dda3f565280b918b9bd5223f5e509d6</id><msg>libbpf-tools: covert BCC drsnoop to BPF CO-RE version</msg><path><editType>add</editType><file>libbpf-tools/drsnoop.h</file></path><path><editType>add</editType><file>libbpf-tools/drsnoop_example.txt</file></path><path><editType>add</editType><file>libbpf-tools/trace_helpers.h</file></path><path><editType>edit</editType><file>man/man8/compactsnoop.8</file></path><path><editType>edit</editType><file>tools/drsnoop.py</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>add</editType><file>libbpf-tools/drsnoop.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/drsnoop.c</file></path><path><editType>add</editType><file>libbpf-tools/trace_helpers.c</file></path><path><editType>edit</editType><file>man/man8/drsnoop.8</file></path><path><editType>edit</editType><file>snap/snapcraft.yaml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/usdt.py</affectedPath><commitId>aeea0e9fce7e868f27cac45f5d6ab4f67c383c62</commitId><timestamp>1583521117000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>usdt.py: print errors to stderr in enable_probe_or_bail()
</comment><date>2020-03-06 10:58:37 -0800</date><id>aeea0e9fce7e868f27cac45f5d6ab4f67c383c62</id><msg>usdt.py: print errors to stderr in enable_probe_or_bail()</msg><path><editType>edit</editType><file>src/python/bcc/usdt.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/usdt/usdt_args.cc</affectedPath><affectedPath>tests/cc/test_usdt_args.cc</affectedPath><affectedPath>src/cc/usdt.h</affectedPath><commitId>5011f992b3167c162b5a0ad57fd3fa23c9ea76b3</commitId><timestamp>1583625697000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>usdt: fix parsing sp register in arguments on AArch64

One of the USDT probes for OpenJDK on AArch64 has an argument as an
offset from the stack pointer register like "8@[sp, 112]". This causes
the argument parser to fail:

  Parse error:
      8@x22 8@x20 8@x23 8@x0 8@x26 8@x27 8@[sp, 112] 8@[sp, 120]
  ------------------------------------------^

The error message then repeats forever.

Changed ArgumentParser_aarch64::parse_register so it accepts either
"xNN" or "sp" and outputs the register name rather than the register
number. The stack pointer is in a separate field `sp` in `struct
pt_regs` rather than in the `regs[]` array [1].

Note that the parser currently accepts "x31" and converts that into a
reference to `regs[31]' but that array only has 31 elements. Made x31 an
alias for `sp` to avoid undefined behaviour from reading past the end of
the array.

[1]: https://elixir.bootlin.com/linux/latest/source/arch/arm64/include/asm/ptrace.h#L160

Change-Id: I88b6ff741914b5d06ad5798a55bd21ea03f69825
Signed-off-by: Nick Gasson &lt;nick.gasson@arm.com&gt;
</comment><date>2020-03-07 16:01:37 -0800</date><id>5011f992b3167c162b5a0ad57fd3fa23c9ea76b3</id><msg>usdt: fix parsing sp register in arguments on AArch64</msg><path><editType>edit</editType><file>tests/cc/test_usdt_args.cc</file></path><path><editType>edit</editType><file>src/cc/usdt.h</file></path><path><editType>edit</editType><file>src/cc/usdt/usdt_args.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/api/BPFTable.h</affectedPath><affectedPath>src/cc/api/BPF.cc</affectedPath><affectedPath>src/cc/bpf_module_rw_engine.cc</affectedPath><affectedPath>src/cc/frontends/b/type_check.cc</affectedPath><affectedPath>src/cc/frontends/b/printer.cc</affectedPath><affectedPath>src/cc/frontends/b/codegen_llvm.cc</affectedPath><affectedPath>src/cc/api/BPFTable.cc</affectedPath><commitId>e508059878525159ccff8c3672d36ecb03b27dac</commitId><timestamp>1583639107000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Replace StatusTuple(0) with StatusTuple::OK()

With the following shell command:
$ find src -type f -regex '.*\.\(h\|cc\)' -exec sed -i 's/StatusTuple(0)/StatusTuple::OK()/' {} \;
</comment><date>2020-03-07 19:45:07 -0800</date><id>e508059878525159ccff8c3672d36ecb03b27dac</id><msg>Replace StatusTuple(0) with StatusTuple::OK()</msg><path><editType>edit</editType><file>src/cc/api/BPF.cc</file></path><path><editType>edit</editType><file>src/cc/frontends/b/printer.cc</file></path><path><editType>edit</editType><file>src/cc/frontends/b/codegen_llvm.cc</file></path><path><editType>edit</editType><file>src/cc/bpf_module_rw_engine.cc</file></path><path><editType>edit</editType><file>src/cc/api/BPFTable.cc</file></path><path><editType>edit</editType><file>src/cc/frontends/b/type_check.cc</file></path><path><editType>edit</editType><file>src/cc/api/BPFTable.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/table.py</affectedPath><commitId>98c18b640117b10f923c8697be8bfff8ad39834b</commitId><timestamp>1583639793000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>print error messages to stderr and exit(1) instead of exit(0) for fatal errors
</comment><date>2020-03-07 19:56:33 -0800</date><id>98c18b640117b10f923c8697be8bfff8ad39834b</id><msg>print error messages to stderr and exit(1) instead of exit(0) for fatal errors</msg><path><editType>edit</editType><file>src/python/bcc/table.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>.github/workflows/bcc-test.yml</affectedPath><affectedPath>Dockerfile.ubuntu</affectedPath><commitId>cf20a499655583a985eb959f98fae9c2e7ecf189</commitId><timestamp>1583646711000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>GitHub Actions: optionally publish container image

This is optional: this GitHub Action will only attempt to publish the
container image if the GitHub repository has been configured with GitHub
secrets (e.g. https://github.com/iovisor/bcc/settings/secrets).

The GitHub secrets can be configured as follows:
- DOCKER_PUBLISH = 1
- DOCKER_IMAGE = docker.io/myorg/bcc
- DOCKER_USERNAME = username
- DOCKER_PASSWORD = password

This is intended to make it easy for anyone to fork iovisor/bcc on
GitHub and publish custom container images with bcc.
</comment><date>2020-03-07 21:51:51 -0800</date><id>cf20a499655583a985eb959f98fae9c2e7ecf189</id><msg>GitHub Actions: optionally publish container image</msg><path><editType>edit</editType><file>Dockerfile.ubuntu</file></path><path><editType>edit</editType><file>.github/workflows/bcc-test.yml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/trace_helpers.c</affectedPath><affectedPath>libbpf-tools/trace_helpers.h</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><commitId>b7541d0b9497e5bca4de28d894d18cc8578ccdc4</commitId><timestamp>1583646738000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: optimize ksyms cache

Re-implement internals of ksyms cache to minimize memory overhead and
allocations. Addr is also changed to be unsigned long.

fscanf() can be further optimized into manual parsing, but it's low enough
overhead right now that I felt like readibility is more important.

Benchmarking ksyms loading/parsing parts:

BEFORE:
$ /usr/bin/time ./test
0.03user 0.04system 0:00.08elapsed 98%CPU (0avgtext+0avgdata 6968maxresident)k
0inputs+0outputs (0major+1512minor)pagefaults 0swaps

AFTER:
$ /usr/bin/time ./test
0.02user 0.03system 0:00.06elapsed 100%CPU (0avgtext+0avgdata 9508maxresident)k
  0inputs+0outputs (0major+2106minor)pagefaults 0swaps

RSS goes down from 9.5MB to &lt;7MB, while CPU time went up about 20ms.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-07 21:52:18 -0800</date><id>b7541d0b9497e5bca4de28d894d18cc8578ccdc4</id><msg>libbpf-tools: optimize ksyms cache</msg><path><editType>edit</editType><file>libbpf-tools/trace_helpers.h</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>edit</editType><file>libbpf-tools/trace_helpers.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/python/bcc/usdt.py</affectedPath><affectedPath>src/python/bcc/libbcc.py</affectedPath><affectedPath>tests/python/test_usdt3.py</affectedPath><commitId>37cd183a71f19c25c08a2a93d271450b392bdca5</commitId><timestamp>1583731633000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>python binding: allow fully-specified probe names for enable_probe()
</comment><date>2020-03-08 22:27:13 -0700</date><id>37cd183a71f19c25c08a2a93d271450b392bdca5</id><msg>python binding: allow fully-specified probe names for enable_probe()</msg><path><editType>edit</editType><file>tests/python/test_usdt3.py</file></path><path><editType>edit</editType><file>src/python/bcc/usdt.py</file></path><path><editType>edit</editType><file>src/python/bcc/libbcc.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/trace.py</affectedPath><affectedPath>src/cc/usdt/usdt.cc</affectedPath><affectedPath>src/python/bcc/usdt.py</affectedPath><affectedPath>src/cc/bcc_usdt.h</affectedPath><affectedPath>src/python/bcc/libbcc.py</affectedPath><commitId>21625167988a5ed1e07046e8048b4de59e9fd023</commitId><timestamp>1583731633000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>trace.py: support an optional provider name for the probe spec
</comment><date>2020-03-08 22:27:13 -0700</date><id>21625167988a5ed1e07046e8048b4de59e9fd023</id><msg>trace.py: support an optional provider name for the probe spec</msg><path><editType>edit</editType><file>src/python/bcc/usdt.py</file></path><path><editType>edit</editType><file>src/cc/usdt/usdt.cc</file></path><path><editType>edit</editType><file>tools/trace.py</file></path><path><editType>edit</editType><file>src/cc/bcc_usdt.h</file></path><path><editType>edit</editType><file>src/python/bcc/libbcc.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/softirqs.py</affectedPath><commitId>9465f8cf2a19d28dcc8bce5845b5e8017ee9feb8</commitId><timestamp>1583734192000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/edwardwu</absoluteUrl><fullName>edwardwu</fullName></author><authorEmail>edwardwu@realtek.com</authorEmail><comment>softirqs: Combined CPU as part of the key is necessary to avoid amiss value.

In the environment of massive software interrupts.
&lt;idle&gt;-0     [003] ..s1   106.421020: softirq_entry: vec=6 [action=TASKLET]
&lt;idle&gt;-0     [000] ..s1   106.421063: softirq_entry: vec=3 [action=NET_RX]
&lt;idle&gt;-0     [003] ..s1   106.421083: softirq_exit: vec=6 [action=TASKLET]

Follow the above ftrace logs, we know the correct vec-6 start timestamp is replaced with incorrect vec-3.
Because PID is idle-0. It will produce the wrong result after calculating delta.
</comment><date>2020-03-09 14:09:52 +0800</date><id>9465f8cf2a19d28dcc8bce5845b5e8017ee9feb8</id><msg>softirqs: Combined CPU as part of the key is necessary to avoid amiss value.</msg><path><editType>edit</editType><file>tools/softirqs.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/capable.py</affectedPath><affectedPath>tools/capable_example.txt</affectedPath><affectedPath>man/man8/capable.8</affectedPath><commitId>15e998db6ea8617ae8798a09b9d8115ce5e95473</commitId><timestamp>1583734946000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: add option --cgroupmap to capable.py

Documentation (man page and example text) updated.
</comment><date>2020-03-08 23:22:26 -0700</date><id>15e998db6ea8617ae8798a09b9d8115ce5e95473</id><msg>tools: add option --cgroupmap to capable.py</msg><path><editType>edit</editType><file>man/man8/capable.8</file></path><path><editType>edit</editType><file>tools/capable.py</file></path><path><editType>edit</editType><file>tools/capable_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/capable.py</affectedPath><affectedPath>tools/capable_example.txt</affectedPath><affectedPath>man/man8/capable.8</affectedPath><commitId>9d7feeed87c5e2977e0e996cc097dcd9d3001c0d</commitId><timestamp>1583734946000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: add option --unique to capable.py

Some processes can do a lot of security capability checks, generating a
lot of ouput. In this case, the --unique option is useful to only print
once the same set of capability, pid (or cgroup if --cgroupmap is used)
and kernel/user stacks (if -K or -U are used).

  # ./capable.py -K -U --unique

Documentation (man page and example text) updated.
</comment><date>2020-03-08 23:22:26 -0700</date><id>9d7feeed87c5e2977e0e996cc097dcd9d3001c0d</id><msg>tools: add option --unique to capable.py</msg><path><editType>edit</editType><file>man/man8/capable.8</file></path><path><editType>edit</editType><file>tools/capable.py</file></path><path><editType>edit</editType><file>tools/capable_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>Dockerfile.ubuntu</affectedPath><commitId>c9cfb52f3bc39fd78f40e3c3de5e066239ce1904</commitId><timestamp>1583735919000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Reduce container image size with multi-stage builds

Before this patch, Dockerfile.ubuntu was generating an oversized image.

                       Uncompressed size      Compressed size
Before this patch:     1.3GB                  390MB
After this patch:      250MB                  110MB
</comment><date>2020-03-08 23:38:39 -0700</date><id>c9cfb52f3bc39fd78f40e3c3de5e066239ce1904</id><msg>Reduce container image size with multi-stage builds</msg><path><editType>edit</editType><file>Dockerfile.ubuntu</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/opensnoop.bpf.c</affectedPath><affectedPath>libbpf-tools/opensnoop.c</affectedPath><affectedPath>libbpf-tools/opensnoop.h</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>5e123df1dd33cdff5798560e4f0390c69cdba00f</commitId><timestamp>1583772382000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>libbpf-tools: add CO-RE opensnoop (#2778)

* libbpf-tools: add CO-RE opensnoop

* libbpf-tools/opensnoop: feedback
</comment><date>2020-03-09 09:46:22 -0700</date><id>5e123df1dd33cdff5798560e4f0390c69cdba00f</id><msg>libbpf-tools: add CO-RE opensnoop (#2778)</msg><path><editType>add</editType><file>libbpf-tools/opensnoop.h</file></path><path><editType>add</editType><file>libbpf-tools/opensnoop.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/opensnoop.c</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/tcptop.8</affectedPath><affectedPath>tools/tcptop_example.txt</affectedPath><affectedPath>tools/tcptop.py</affectedPath><commitId>7d62656805cca60ff9d6f5e9b8b5b8d096cf226a</commitId><timestamp>1583783734000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: add option --cgroupmap to tcptop
</comment><date>2020-03-09 12:55:34 -0700</date><id>7d62656805cca60ff9d6f5e9b8b5b8d096cf226a</id><msg>tools: add option --cgroupmap to tcptop</msg><path><editType>edit</editType><file>tools/tcptop_example.txt</file></path><path><editType>edit</editType><file>man/man8/tcptop.8</file></path><path><editType>edit</editType><file>tools/tcptop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/vmlinux_505.h</affectedPath><commitId>8b6a7db9c8eeb5c513a162c90a7dd8f0bd7620dd</commitId><timestamp>1583793216000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: update vmlinux.h with BPF helper flags generated from UAPI

Update vmlinux.h to a version generated from same v5.5 tag and default config
with cherry-picked 1aae4bdd7879 ("bpf: Switch BPF UAPI #define constants used
from BPF program side to enums") on top of it. This adds lots of BPF helper
flags often useful from BPF program side.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-09 15:33:36 -0700</date><id>8b6a7db9c8eeb5c513a162c90a7dd8f0bd7620dd</id><msg>libbpf-tools: update vmlinux.h with BPF helper flags generated from UAPI</msg><path><editType>edit</editType><file>libbpf-tools/vmlinux_505.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><commitId>77d60b19f9d608d1039c3297f3e7fcf9548c879e</commitId><timestamp>1583994623000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf: sync to latest version

Sync libbpf to latest revision. It brings latest BPF headers, among other
things.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-11 23:30:23 -0700</date><id>77d60b19f9d608d1039c3297f3e7fcf9548c879e</id><msg>libbpf: sync to latest version</msg><path><editType>edit</editType><file>src/cc/libbpf</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/opensnoop.bpf.c</affectedPath><affectedPath>libbpf-tools/runqslower.bpf.c</affectedPath><affectedPath>libbpf-tools/opensnoop.c</affectedPath><affectedPath>libbpf-tools/drsnoop.bpf.c</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><commitId>454b138e6b75a47d4070a4f99c8f2372b383f71e</commitId><timestamp>1583995665000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: small clean ups across all tools

Remove BPF_F_CURRENT_CPU definitions, which are now provided by vmlinux.h
after 1aae4bdd7879 ("bpf: Switch BPF UAPI #define constants used from BPF
program side to enums") commit in kernel.

Fix potential uninitialized read warning in opensnoop.

Also add opensnoop to .gitignore.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-11 23:47:45 -0700</date><id>454b138e6b75a47d4070a4f99c8f2372b383f71e</id><msg>libbpf-tools: small clean ups across all tools</msg><path><editType>edit</editType><file>libbpf-tools/runqslower.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/opensnoop.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/drsnoop.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>edit</editType><file>libbpf-tools/opensnoop.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>2b5fcc6ec332f8067dab50da833ee870fd690579</commitId><timestamp>1584028908000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: determine target host architecture

BPF code is compiled with -target bpf, but for PT_REGS_PARM macro (and by
induction for BPF_KPROBE/BPF_KRETPROBE macros as well), it's important to know
what's the target host original architecture was, to use correct definition of
struct pt_regs. Determine that based on output of `uname -m` (taking into
account that both x86_64 and x86 are defined as x86 internally for kernel).

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-12 09:01:48 -0700</date><id>2b5fcc6ec332f8067dab50da833ee870fd690579</id><msg>libbpf-tools: determine target host architecture</msg><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/tcpstates.py</affectedPath><commitId>d0ec8a27db740304d46d898d1a930bfcb6e09627</commitId><timestamp>1584144164000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Backport tcpstates to kernels &lt; 4.15

The tracepoint inet_sock_set_state only exists in kernels 4.15.
Backported the bpf tracepoint to use kprobes on older kernels.
</comment><date>2020-03-13 17:02:44 -0700</date><id>d0ec8a27db740304d46d898d1a930bfcb6e09627</id><msg>Backport tcpstates to kernels &lt; 4.15</msg><path><editType>edit</editType><file>tools/tcpstates.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/vmlinux_505.h</affectedPath><affectedPath>libbpf-tools/kernel.config</affectedPath><commitId>cd43be4c6a52540a8e272ed3dcea48211c198073</commitId><timestamp>1584144420000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: adjust Kconfig and re-build vmlinux.h

Default v5.5 kernel config doesn't have most of BPF-related functionality
enabled, which leads to vmlinux.h not containing a lot of useful constants.
This patch contains re-generated vmlinux.h from kernel built with default
config plus minimal changes to enable most (all?) BPF-relevant parts of
kernel. Here's a list of added options:

CONFIG_BPF_EVENTS=y
CONFIG_BPFILTER_UMH=m
CONFIG_BPFILTER=y
CONFIG_BPF_JIT=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_BPF_SYSCALL=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_CGROUP_BPF=y
CONFIG_GCC_VERSION=70300
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_LIBCRC32C=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_LWTUNNEL=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_CLS_BPF=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_STREAM_PARSER=y
CONFIG_XDP_SOCKETS_DIAG=y
CONFIG_XDP_SOCKETS=y

To make this vmlinux.h generation process easier for future adjustments (e.g.,
if some of the tools would need types that default config compiles out), check
in used Kconfig along the vmlinux.h itself.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-13 17:07:00 -0700</date><id>cd43be4c6a52540a8e272ed3dcea48211c198073</id><msg>libbpf-tools: adjust Kconfig and re-build vmlinux.h</msg><path><editType>edit</editType><file>libbpf-tools/vmlinux_505.h</file></path><path><editType>add</editType><file>libbpf-tools/kernel.config</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/clang/tp_frontend_action.cc</affectedPath><affectedPath>src/cc/common.cc</affectedPath><affectedPath>src/cc/common.h</affectedPath><commitId>7fd2fa68b52e0f38dd4915bf786d67445941eedd</commitId><timestamp>1584288670000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Factor out ebpf::parse_tracepoint function

And moving it to common.cc in order to be able to make
automated tests for it. Following patches are adding
automated test for this function and it seems too much
to link in all the clang/llvm stuff to the test binary
just for single function test.

Adding ebpf::parse_tracepoint that takes istream of the
tracepoint format data and returns tracepoint struct
as std::string.

No functional change is intended or expected.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-03-15 09:11:10 -0700</date><id>7fd2fa68b52e0f38dd4915bf786d67445941eedd</id><msg>Factor out ebpf::parse_tracepoint function</msg><path><editType>edit</editType><file>src/cc/frontends/clang/tp_frontend_action.cc</file></path><path><editType>edit</editType><file>src/cc/common.cc</file></path><path><editType>edit</editType><file>src/cc/common.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/CMakeLists.txt</affectedPath><affectedPath>tests/cc/test_parse_tracepoint.cc</affectedPath><commitId>b9099c51ca570f33a5a9baef6f4f566c126b2b16</commitId><timestamp>1584288670000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add test for ebpf::parse_tracepoint function

The test prepares tracepoint format file and run
ebpf::parse_tracepoint on it. Then it compares
expected struct output with actual function result.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-03-15 09:11:10 -0700</date><id>b9099c51ca570f33a5a9baef6f4f566c126b2b16</id><msg>Add test for ebpf::parse_tracepoint function</msg><path><editType>add</editType><file>tests/cc/test_parse_tracepoint.cc</file></path><path><editType>edit</editType><file>tests/cc/CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/common.cc</affectedPath><affectedPath>tests/cc/test_parse_tracepoint.cc</affectedPath><commitId>b8423e66ce450418c6142aab61ee9330e1fcefcc</commitId><timestamp>1584288670000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Strengthen tracepoint format parsing

There's issue in current RHEL real time kernel with tracepoint format,
which makes bcc-tools to return wrong data.

Two new 'common_' fields were added and it causes 2 issues for tracepoint
format parser.

First issue
  - is the gap between common fields and other fields, which is not
    picked up by the parser, so the resulted struct is not aligned with
    the data.

Second issue
  - is the fact that current parser covers common fields with:
      u64 __do_not_use__
    so the new common fields are not accounted for.

    This issue is solved in the following patch. I kept both
    issues and fixes separated to make the change readable.

There's a 'not described gap' in the sched_wakeup's format file and
probably in other formats as well:

Having:
  # cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/format
  name: sched_wakeup
  ID: 310
  format:
          field:unsigned short common_type;       offset:0;       size:2; signed:0;
          field:unsigned char common_flags;       offset:2;       size:1; signed:0;
          field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;
          field:int common_pid;   offset:4;       size:4; signed:1;
          field:unsigned char common_migrate_disable;     offset:8;       size:1; signed:0;
          field:unsigned char common_preempt_lazy_count;  offset:9;       size:1; signed:0;

          field:char comm[16];    offset:12;      size:16;        signed:1;
          field:pid_t pid;        offset:28;      size:4; signed:1;
          field:int prio; offset:32;      size:4; signed:1;
          field:int success;      offset:36;      size:4; signed:1;
          field:int target_cpu;   offset:40;      size:4; signed:1;

There's "common_preempt_lazy_count" field on offset 9 with size 1:
        common_preempt_lazy_count;  offset:9;       size:1;

and it's followed by "comm" field on offset 12:
        field:char comm[16];    offset:12;      size:16;        signed:1;

which makes 2 bytes gap in between, that might confuse some applications
like bpftrace or bcc-tools library.

The tracepoint parser makes struct out of the field descriptions,
but does not account for such gaps.

I posted patch to fix this [1] in RT kernel, but that might take a while,
and we could easily fix our tracepoint parser to workaround this issue.

Adding code to detect this gaps and add 1 byte __pad_X fields, where X is
the offset number.

[1] https://lore.kernel.org/linux-rt-users/20200221153541.681468-1-jolsa@kernel.org/
Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-03-15 09:11:10 -0700</date><id>b8423e66ce450418c6142aab61ee9330e1fcefcc</id><msg>Strengthen tracepoint format parsing</msg><path><editType>edit</editType><file>tests/cc/test_parse_tracepoint.cc</file></path><path><editType>edit</editType><file>src/cc/common.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/common.cc</affectedPath><affectedPath>tests/cc/test_parse_tracepoint.cc</affectedPath><commitId>0a9d6db96c6410d2ef741507255f5258d6406032</commitId><timestamp>1584288670000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add support for new common fields

Current parser covers common fields with:
  u64 __do_not_use__
so the new common fields are not accounted for.

Keeping the 'u64 __do_not_use__' field for backward compatibility
(who knows who's actualy using it) and adding new fields, like:
  char __do_not_use__X

for each byte of extra common fields, where X is the offset of the
field.

With this fix the bcc-tools correctly parses tracepoints on RT kernel
and it's usable again.

Signed-off-by: Jiri Olsa &lt;jolsa@kernel.org&gt;
</comment><date>2020-03-15 09:11:10 -0700</date><id>0a9d6db96c6410d2ef741507255f5258d6406032</id><msg>Add support for new common fields</msg><path><editType>edit</editType><file>src/cc/common.cc</file></path><path><editType>edit</editType><file>tests/cc/test_parse_tracepoint.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><commitId>5302614d31645db8fb5466e95ba7e6500c2c46c2</commitId><timestamp>1584505598000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf: update to latest libbpf version

Pull in latest libbpf changes. In particular, containing BPF_KRETPROBE fix.

Signed-off-by: Andrii Nakryiko &lt;andriin@fb.com&gt;
</comment><date>2020-03-17 21:26:38 -0700</date><id>5302614d31645db8fb5466e95ba7e6500c2c46c2</id><msg>libbpf: update to latest libbpf version</msg><path><editType>edit</editType><file>src/cc/libbpf</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/networking/net_monitor.py</affectedPath><commitId>ca1b0af0eff9d994a49606899c2f110a68addeca</commitId><timestamp>1584508954000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>adding example/networking/net_monitor.py

Aggregates incoming network traffic
outputs source ip, destination ip, the number of their network traffic, and current time

Co-authored-by: gist-banana &lt;gist.banana@gist.ac.kr&gt;
</comment><date>2020-03-17 22:22:34 -0700</date><id>ca1b0af0eff9d994a49606899c2f110a68addeca</id><msg>adding example/networking/net_monitor.py</msg><path><editType>add</editType><file>examples/networking/net_monitor.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CMakeLists.txt</affectedPath><affectedPath>INSTALL.md</affectedPath><commitId>4c1136ee6c08eb9fef86ebaafe2544692472b5b7</commitId><timestamp>1584509203000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Make -DCMAKE_INSTALL_PREFIX=/usr as the default (#2800)

* make -DCMAKE_INSTALL_PREFIX=/usr as the default
* remove -DCMAKE_INSTALL_PEREFIX=/usr from INSTALL.md  as it gets the default
</comment><date>2020-03-17 22:26:43 -0700</date><id>4c1136ee6c08eb9fef86ebaafe2544692472b5b7</id><msg>Make -DCMAKE_INSTALL_PREFIX=/usr as the default (#2800)</msg><path><editType>edit</editType><file>INSTALL.md</file></path><path><editType>edit</editType><file>CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/profile_example.txt</affectedPath><affectedPath>man/man8/profile.8</affectedPath><affectedPath>tools/profile.py</affectedPath><commitId>f82ea454ea55ad73ee3284a0bd6fc3b45a7d73a8</commitId><timestamp>1584571880000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: add option --cgroupmap to profile.py
</comment><date>2020-03-18 15:51:20 -0700</date><id>f82ea454ea55ad73ee3284a0bd6fc3b45a7d73a8</id><msg>tools: add option --cgroupmap to profile.py</msg><path><editType>edit</editType><file>tools/profile_example.txt</file></path><path><editType>edit</editType><file>tools/profile.py</file></path><path><editType>edit</editType><file>man/man8/profile.8</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bcc_syms.cc</affectedPath><commitId>e1d53a3ab329ee3504dd58db09859baea0ca724a</commitId><timestamp>1584572748000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Do not prepend /proc multiple times in bcc_resolve_symname
</comment><date>2020-03-18 16:05:48 -0700</date><id>e1d53a3ab329ee3504dd58db09859baea0ca724a</id><msg>Do not prepend /proc multiple times in bcc_resolve_symname</msg><path><editType>edit</editType><file>src/cc/bcc_syms.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/test_usdt_probes.cc</affectedPath><commitId>1cd3952b7c2bc7ab0e545f42711402b9f8fe65d8</commitId><timestamp>1584572748000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Add regression test for bcc resolve symbol names
</comment><date>2020-03-18 16:05:48 -0700</date><id>1cd3952b7c2bc7ab0e545f42711402b9f8fe65d8</id><msg>Add regression test for bcc resolve symbol names</msg><path><editType>edit</editType><file>tests/cc/test_usdt_probes.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/xfsslower.h</affectedPath><affectedPath>libbpf-tools/xfsslower.bpf.c</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><affectedPath>libbpf-tools/xfsslower.c</affectedPath><commitId>c2772a334bd10f6e7f66b7d79c269ab9ca5e525c</commitId><timestamp>1584683049000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: add CO-RE xfsslower

Signed-off-by: Wenbo Zhang &lt;ethercflow@gmail.com&gt;
</comment><date>2020-03-19 22:44:09 -0700</date><id>c2772a334bd10f6e7f66b7d79c269ab9ca5e525c</id><msg>libbpf-tools: add CO-RE xfsslower</msg><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>add</editType><file>libbpf-tools/xfsslower.bpf.c</file></path><path><editType>add</editType><file>libbpf-tools/xfsslower.h</file></path><path><editType>add</editType><file>libbpf-tools/xfsslower.c</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/opensnoop.py</affectedPath><commitId>510fc7425ccd0bc53d53a56ae847d786eb15e1ce</commitId><timestamp>1584685416000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>opensnoop: fix --cgroupmap with kfunc

Commit c347fe6c9f75 ("Support kfunc in opensnoop.py") introduces an
alternative probe on do_sys_open() with kfuncs instead of kprobes. This
new implementation is used if the kernel supports it. But it removed the
--cgroupmap filter added in commit b2aa29fa3269 ("tools: cgroup
filtering in execsnoop/opensnoop").

This patch adds the --cgroupmap filter in the kfunc implementation.
</comment><date>2020-03-19 23:23:36 -0700</date><id>510fc7425ccd0bc53d53a56ae847d786eb15e1ce</id><msg>opensnoop: fix --cgroupmap with kfunc</msg><path><editType>edit</editType><file>tools/opensnoop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>35c9940ee7297eafa7d8bcc8d9cda29a3b17a25b</commitId><timestamp>1584940362000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>chore: include Amazon Linux 2 binary option in INSTALL
</comment><date>2020-03-22 22:12:42 -0700</date><id>35c9940ee7297eafa7d8bcc8d9cda29a3b17a25b</id><msg>chore: include Amazon Linux 2 binary option in INSTALL</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/tcptop.py</affectedPath><commitId>6b8a89673dbba9b9203a6555735e451dd9477836</commitId><timestamp>1584978424000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools: fix alignment of ipv6_key_t in tcptop

Fixes the following error on aarch64:

bpf: Failed to load program: Permission denied
; struct sock *sk = ctx-&gt;regs[0]; int copied = ctx-&gt;regs[1];
0: (79) r8 = *(u64 *)(r1 +8)
...
; struct ipv6_key_t ipv6_key = {.pid = pid};
79: (63) *(u32 *)(r10 -48) = r7
; struct ipv6_key_t ipv6_key = {.pid = pid};
80: (7b) *(u64 *)(r10 +8) = r9
invalid stack off=8 size=8
processed 96 insns (limit 1000000) max_states_per_insn 0 total_states 7 peak_states 7 mark_read 4
</comment><date>2020-03-23 08:47:04 -0700</date><id>6b8a89673dbba9b9203a6555735e451dd9477836</id><msg>tools: fix alignment of ipv6_key_t in tcptop</msg><path><editType>edit</editType><file>tools/tcptop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/cachetop.py</affectedPath><commitId>1b0fe40663e48b315e75a9b1ed74820207f76658</commitId><timestamp>1585422718000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Change the default sort order to Descending
currently with ascending sort the useful information
is commonly beyond the bottom of the terminal window
and it is necessary to reverse the sort manually every execution.

Signed-off-by: Mark Kogan &lt;mkogan@redhat.com&gt;
</comment><date>2020-03-28 12:11:58 -0700</date><id>1b0fe40663e48b315e75a9b1ed74820207f76658</id><msg>Change the default sort order to Descending</msg><path><editType>edit</editType><file>tools/cachetop.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/capable.py</affectedPath><commitId>9adda7092054e1637a68e61e391ac755416a2fb1</commitId><timestamp>1585422758000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>tools/capable: fix compilation error

9d7feeed87c5 ("tools: add option --unique to capable.py") introduced a
compilation error when the --unique flag is passed.

Signed-off-by: Mauricio Vásquez &lt;mauricio@kinvolk.io&gt;
</comment><date>2020-03-28 12:12:38 -0700</date><id>9adda7092054e1637a68e61e391ac755416a2fb1</id><msg>tools/capable: fix compilation error</msg><path><editType>edit</editType><file>tools/capable.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/filelife.bpf.c</affectedPath><affectedPath>libbpf-tools/filelife.h</affectedPath><affectedPath>libbpf-tools/filelife.c</affectedPath><affectedPath>libbpf-tools/.gitignore</affectedPath><affectedPath>libbpf-tools/Makefile</affectedPath><commitId>85f5e7d5673e3273f61550d806d348626dffc140</commitId><timestamp>1585424916000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: add CO-RE filelife

Signed-off-by: Wenbo Zhang &lt;ethercflow@gmail.com&gt;
</comment><date>2020-03-28 12:48:36 -0700</date><id>85f5e7d5673e3273f61550d806d348626dffc140</id><msg>libbpf-tools: add CO-RE filelife</msg><path><editType>add</editType><file>libbpf-tools/filelife.c</file></path><path><editType>edit</editType><file>libbpf-tools/.gitignore</file></path><path><editType>add</editType><file>libbpf-tools/filelife.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/Makefile</file></path><path><editType>add</editType><file>libbpf-tools/filelife.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>introspection/CMakeLists.txt</affectedPath><commitId>e323254466575e03d753a33c77667011626c389f</commitId><timestamp>1585426415000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>make -lrt linking optional

On Android there is no standalone rt library and relevant symbols are provided
by libc (bionic).
</comment><date>2020-03-28 13:13:35 -0700</date><id>e323254466575e03d753a33c77667011626c389f</id><msg>make -lrt linking optional</msg><path><editType>edit</editType><file>introspection/CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/networking/http_filter/http-parse-complete.py</affectedPath><commitId>915d6d7617b20d4af8360c1d53efe8abd8697efa</commitId><timestamp>1585427578000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>correcting input to hex using ord funtion
</comment><date>2020-03-28 13:32:58 -0700</date><id>915d6d7617b20d4af8360c1d53efe8abd8697efa</id><msg>correcting input to hex using ord funtion</msg><path><editType>edit</editType><file>examples/networking/http_filter/http-parse-complete.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/tracing/mallocstacks.py</affectedPath><commitId>472f9b3bd6bcc63e6e959148320eb76184c51870</commitId><timestamp>1585459537000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>mallocstacks: validating before stacktrace walk
</comment><date>2020-03-28 22:25:37 -0700</date><id>472f9b3bd6bcc63e6e959148320eb76184c51870</id><msg>mallocstacks: validating before stacktrace walk</msg><path><editType>edit</editType><file>examples/tracing/mallocstacks.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/networking/http_filter/http-parse-simple.py</affectedPath><commitId>4f6ecea67b58699b52c315088c5829448add57c5</commitId><timestamp>1585460142000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>http-parse-simple.py: fix wrong start position

Signed-off-by: Jean-Philippe Menil &lt;jpmenil@gmail.com&gt;
</comment><date>2020-03-28 22:35:42 -0700</date><id>4f6ecea67b58699b52c315088c5829448add57c5</id><msg>http-parse-simple.py: fix wrong start position</msg><path><editType>edit</editType><file>examples/networking/http_filter/http-parse-simple.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/opensnoop.bpf.c</affectedPath><affectedPath>libbpf-tools/opensnoop.c</affectedPath><affectedPath>libbpf-tools/opensnoop.h</affectedPath><commitId>ab54de2e4449027f2b4dccd022adc57bec4fd4eb</commitId><timestamp>1585525012000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>libbpf-tools: CO-RE opensnoop minor improvements

 * allow passing 0 as valid uid
 * fix type for targ_uid
 * improve uid validation (uid &gt;= 4294967295 now invalid)
</comment><date>2020-03-29 16:36:52 -0700</date><id>ab54de2e4449027f2b4dccd022adc57bec4fd4eb</id><msg>libbpf-tools: CO-RE opensnoop minor improvements</msg><path><editType>edit</editType><file>libbpf-tools/opensnoop.bpf.c</file></path><path><editType>edit</editType><file>libbpf-tools/opensnoop.c</file></path><path><editType>edit</editType><file>libbpf-tools/opensnoop.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/api/BPF.cc</affectedPath><affectedPath>src/cc/api/BPF.h</affectedPath><affectedPath>examples/cpp/FollyRequestContextSwitch.cc</affectedPath><affectedPath>tests/cc/test_usdt_probes.cc</affectedPath><commitId>689f90087e0d59caea63e10be04bcf1172a90c4f</commitId><timestamp>1585974837000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>[C++] add BPF::enable_usdt_all() and disble_usdt_all() to handle all the USDT at once (#2854)

* add BPF::enable_usdt_all() to enable all the USDT
* add detach_usdt_all() to detach all the USDTs
</comment><date>2020-04-03 21:33:57 -0700</date><id>689f90087e0d59caea63e10be04bcf1172a90c4f</id><msg>[C++] add BPF::enable_usdt_all() and disble_usdt_all() to handle all the USDT at once (#2854)</msg><path><editType>edit</editType><file>tests/cc/test_usdt_probes.cc</file></path><path><editType>edit</editType><file>src/cc/api/BPF.cc</file></path><path><editType>edit</editType><file>src/cc/api/BPF.h</file></path><path><editType>edit</editType><file>examples/cpp/FollyRequestContextSwitch.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/tracing/nflatency.py</affectedPath><commitId>495a4a3403371b3fb1f7049a8cefc996621e61aa</commitId><timestamp>1585980153000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>examples/tracing: add nflatency - netfilter hook metrics

This adds a kprobe / kretprobe for chasing down slow netfilter hooks.
Since, often, the slowest hooks are on connection initialization and
teardown, it is bucketed by TCP flags. (rather than dive deep in to
conntrack)

Signed-off-by: Casey Callendrello &lt;cdc@redhat.com&gt;
</comment><date>2020-04-03 23:02:33 -0700</date><id>495a4a3403371b3fb1f7049a8cefc996621e61aa</id><msg>examples/tracing: add nflatency - netfilter hook metrics</msg><path><editType>add</editType><file>examples/tracing/nflatency.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/python/CMakeLists.txt</affectedPath><affectedPath>tests/python/test_lpm_trie.py</affectedPath><commitId>533391eaa94c4b3a148bf801b8aea5bb803c1e9d</commitId><timestamp>1586153355000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>add test_lpm_trie.py test

test_lpm_trie.py has been in the repo for quite some time,
but is not included in the unit test.

The issue https://github.com/iovisor/bcc/issues/2860
exposed an issue involved in using together with BTF,
which requires the key type to be a structure.

Let add it as a unit test so we can be sure
lpm_trie map is supported properly by bcc.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-04-05 23:09:15 -0700</date><id>533391eaa94c4b3a148bf801b8aea5bb803c1e9d</id><msg>add test_lpm_trie.py test</msg><path><editType>edit</editType><file>tests/python/CMakeLists.txt</file></path><path><editType>edit</editType><file>tests/python/test_lpm_trie.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bpf_module.cc</affectedPath><commitId>f35dae07bbe48f6233bf50f05ddbf835cc18c86e</commitId><timestamp>1586189548000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>adjust layout string in JIT with llvm11 128bit spec support

To fix the issue (https://github.com/iovisor/bcc/issues/2827)
which exposed a problem with aarch64 frontend and bpf backend
regarding __int128 type, the following llvm patch
   https://reviews.llvm.org/D76587
landed to explicitly support i128 type in bpf layout spec.

Adjust the layout string in bpf_module JIT compilation
accordingly.

Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;
</comment><date>2020-04-06 09:12:28 -0700</date><id>f35dae07bbe48f6233bf50f05ddbf835cc18c86e</id><msg>adjust layout string in JIT with llvm11 128bit spec support</msg><path><editType>edit</editType><file>src/cc/bpf_module.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/python/CMakeLists.txt</affectedPath><affectedPath>src/cc/bcc_syms.cc</affectedPath><affectedPath>tests/python/test_uprobes2.py</affectedPath><commitId>007ee4930798f854da47f5838097193d75c67ad1</commitId><timestamp>1586192176000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Translate virtual addresses to binary addresses for shared libs as well.

Quoting https://refspecs.linuxbase.org/elf/elf.pdf:
```
Symbol table entries for different object file types have slightly different
interpretations for the st_value member.
- In relocatable files, st_value holds alignment constraints for a symbol
whose section index is SHN_COMMON.
- In relocatable files, st_value holds a section offset for a defined symbol.
That is, st_value is an offset from the beginning of the section that st_shndx
identifies.
- In executable and shared object files, st_value holds a virtual address. To
make these files' symbols more useful for the dynamic linker, the section offset
(file interpretation) gives way to a virtual address (memory interpretation) for
which the section number is irrelevant.
```

This is a problem in practice as well. I run into this while tracing shared
libraries on Android with bpftrace. Some of them have text sections mmapped
at different offset than file offset which results in probes being placed
at wrong offsets.
</comment><date>2020-04-06 09:56:16 -0700</date><id>007ee4930798f854da47f5838097193d75c67ad1</id><msg>Translate virtual addresses to binary addresses for shared libs as well.</msg><path><editType>edit</editType><file>tests/python/CMakeLists.txt</file></path><path><editType>edit</editType><file>src/cc/bcc_syms.cc</file></path><path><editType>add</editType><file>tests/python/test_uprobes2.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/tracing/io_latencies.py</affectedPath><commitId>5057bbe6fb00a112c03ac5c5277646fd9602c1b1</commitId><timestamp>1586192312000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>examples/tracing: add io_latencies - IO latency distribution monitor

This adds flexible low overhead latency percentile monitoring for block
devices which can be useful in understanding and debugging IO related
issues.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</comment><date>2020-04-06 09:58:32 -0700</date><id>5057bbe6fb00a112c03ac5c5277646fd9602c1b1</id><msg>examples/tracing: add io_latencies - IO latency distribution monitor</msg><path><editType>add</editType><file>examples/tracing/io_latencies.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/filelife.py</affectedPath><commitId>15d7955e07a942340610f71e44f44046b960e3a8</commitId><timestamp>1586194496000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Update pid filter

Update pid filter;  u32 pid = bpf_get_current_pid_tgid() &gt;&gt; 32;
</comment><date>2020-04-06 10:34:56 -0700</date><id>15d7955e07a942340610f71e44f44046b960e3a8</id><msg>Update pid filter</msg><path><editType>edit</editType><file>tools/filelife.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>docs/reference_guide.md</affectedPath><commitId>7a3854319929e7f126b893c74290076cf7a328b1</commitId><timestamp>1586273568000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>doc: fix wrong references to get_syscall_name
</comment><date>2020-04-07 08:32:48 -0700</date><id>7a3854319929e7f126b893c74290076cf7a328b1</id><msg>doc: fix wrong references to get_syscall_name</msg><path><editType>edit</editType><file>docs/reference_guide.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/tracing/io_latencies.py</affectedPath><affectedPath>tools/biolatpcts.py</affectedPath><commitId>1515f28a483d62ff056602daacecd7631c98492d</commitId><timestamp>1587139467000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/tj</absoluteUrl><fullName>tj</fullName></author><authorEmail>tj@kernel.org</authorEmail><comment>tools: Move io_iolatencies.py example to tools/biolatpcts.py
</comment><date>2020-04-17 12:04:27 -0400</date><id>1515f28a483d62ff056602daacecd7631c98492d</id><msg>tools: Move io_iolatencies.py example to tools/biolatpcts.py</msg><path><editType>add</editType><file>tools/biolatpcts.py</file></path><path><editType>delete</editType><file>examples/tracing/io_latencies.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/biolatpcts.py</affectedPath><commitId>66ab787b5f853d97bad8fb950b12b11b8e281b7c</commitId><timestamp>1587152520000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/tj</absoluteUrl><fullName>tj</fullName></author><authorEmail>tj@kernel.org</authorEmail><comment>tools/biolatpcts: Use #!/usr/bin/python instead of python3

Nothing in the script requires python3.
</comment><date>2020-04-17 15:42:00 -0400</date><id>66ab787b5f853d97bad8fb950b12b11b8e281b7c</id><msg>tools/biolatpcts: Use #!/usr/bin/python instead of python3</msg><path><editType>edit</editType><file>tools/biolatpcts.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/biolatpcts.py</affectedPath><commitId>7214903a9c42c3501e50a47d3698b77547036f70</commitId><timestamp>1587152533000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/tj</absoluteUrl><fullName>tj</fullName></author><authorEmail>tj@kernel.org</authorEmail><comment>tools/biolatpcts: --pcts handling improvements

* Multiple arguments parsing conflicts with positional argument and can become
  confusing. Use a single comma separated list instead.

* Instead of converting to floats while parsing arguments, keep the strings
  verbatim and use them when outputting results. This allows matching the same
  target percentile string in the output and is helpful when it's consumed by
  other programs.
</comment><date>2020-04-17 15:42:13 -0400</date><id>7214903a9c42c3501e50a47d3698b77547036f70</id><msg>tools/biolatpcts: --pcts handling improvements</msg><path><editType>edit</editType><file>tools/biolatpcts.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tools/biolatpcts.py</affectedPath><commitId>fbf0392d72a6ced87a5e8ea8a84dfddb5a86c6bd</commitId><timestamp>1587152547000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/tj</absoluteUrl><fullName>tj</fullName></author><authorEmail>tj@kernel.org</authorEmail><comment>tools/biolatpcts: Accept device name/node for target device selection

MAJ:MIN is cumbersome. Update it to accept DEVNAME and /dev/DEVNAME too.
</comment><date>2020-04-17 15:42:27 -0400</date><id>fbf0392d72a6ced87a5e8ea8a84dfddb5a86c6bd</id><msg>tools/biolatpcts: Accept device name/node for target device selection</msg><path><editType>edit</editType><file>tools/biolatpcts.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>man/man8/biolatpcts.8</affectedPath><affectedPath>tools/biolatpcts_example.txt</affectedPath><commitId>1e9c56f40a44faf72569ddc2e37ca5d554aee93b</commitId><timestamp>1587152557000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/tj</absoluteUrl><fullName>tj</fullName></author><authorEmail>tj@kernel.org</authorEmail><comment>tools/biolatpcts: Add the example file and man page
</comment><date>2020-04-17 15:42:37 -0400</date><id>1e9c56f40a44faf72569ddc2e37ca5d554aee93b</id><msg>tools/biolatpcts: Add the example file and man page</msg><path><editType>add</editType><file>man/man8/biolatpcts.8</file></path><path><editType>add</editType><file>tools/biolatpcts_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>examples/tracing/biolatpcts.py</affectedPath><affectedPath>examples/tracing/biolatpcts_example.txt</affectedPath><commitId>10519c74c72b58109a2c14eba59d3cfe985ddc0f</commitId><timestamp>1587154392000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/tj</absoluteUrl><fullName>tj</fullName></author><authorEmail>tj@kernel.org</authorEmail><comment>examples: Add biolatpcts.py example

This is simplified version of tools/biolatpcts.py and demonstrates how to
obtain and calculate latency percentiles.
</comment><date>2020-04-17 16:13:12 -0400</date><id>10519c74c72b58109a2c14eba59d3cfe985ddc0f</id><msg>examples: Add biolatpcts.py example</msg><path><editType>add</editType><file>examples/tracing/biolatpcts.py</file></path><path><editType>add</editType><file>examples/tracing/biolatpcts_example.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/cc/test_usdt_probes.cc</affectedPath><affectedPath>src/cc/api/BPF.h</affectedPath><commitId>f8f230c8162e59202987fb46f2d3d867a5cbef1d</commitId><timestamp>1587255987000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>add attribute readers to class USDT (C++ API)
</comment><date>2020-04-18 17:26:27 -0700</date><id>f8f230c8162e59202987fb46f2d3d867a5cbef1d</id><msg>add attribute readers to class USDT (C++ API)</msg><path><editType>edit</editType><file>src/cc/api/BPF.h</file></path><path><editType>edit</editType><file>tests/cc/test_usdt_probes.cc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>CMakeLists.txt</affectedPath><commitId>1599c2ef8206988d5df7eeadc3c5138c006ac245</commitId><timestamp>1587256414000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>build: fix clang 10 build

some distros already packaging clang 10 (checked fedora and arch) no longer
ship all the individual libclang*.so component libraries.
Instead, clang from 9.0 onwards provides a new lib, libclang-cpp.so, which
includes everything we need.

Tell cmake to use it if the individual libraries are no longer found.
(Build-wise, if both are present it is more efficient to use the individual
components so keep these first)
</comment><date>2020-04-18 17:33:34 -0700</date><id>1599c2ef8206988d5df7eeadc3c5138c006ac245</id><msg>build: fix clang 10 build</msg><path><editType>edit</editType><file>CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>libbpf-tools/README.md</affectedPath><commitId>c1d3a65f0d6dd29aad71ffc87f21345473a2bca3</commitId><timestamp>1587259187000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Added kernel recompile guidance for  libbpf CO-RE (#2876)

Added kernel recompile guidance for  libbpf CO-RE
</comment><date>2020-04-18 18:19:47 -0700</date><id>c1d3a65f0d6dd29aad71ffc87f21345473a2bca3</id><msg>Added kernel recompile guidance for  libbpf CO-RE (#2876)</msg><path><editType>edit</editType><file>libbpf-tools/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/bcc_version.h.in</affectedPath><affectedPath>src/cc/CMakeLists.txt</affectedPath><affectedPath>examples/cpp/CMakeLists.txt</affectedPath><affectedPath>examples/cpp/HelloWorld.cc</affectedPath><commitId>6d61622f6300fa140647de82122e66b6288fe2ed</commitId><timestamp>1587262787000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add `bcc_version.h` to access LIBBCC_VERSION from C/C++ (#2856)

 add bcc/bcc_version.h to install
</comment><date>2020-04-18 19:19:47 -0700</date><id>6d61622f6300fa140647de82122e66b6288fe2ed</id><msg>Add `bcc_version.h` to access LIBBCC_VERSION from C/C++ (#2856)</msg><path><editType>add</editType><file>src/cc/bcc_version.h.in</file></path><path><editType>edit</editType><file>examples/cpp/HelloWorld.cc</file></path><path><editType>edit</editType><file>src/cc/CMakeLists.txt</file></path><path><editType>edit</editType><file>examples/cpp/CMakeLists.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>INSTALL.md</affectedPath><commitId>d3359b294636579649f200deabe71fd98d4edd35</commitId><timestamp>1587395451000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>Improve ubuntu installation description
</comment><date>2020-04-20 08:10:51 -0700</date><id>d3359b294636579649f200deabe71fd98d4edd35</id><msg>Improve ubuntu installation description</msg><path><editType>edit</editType><file>INSTALL.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/frontends/b/codegen_llvm.h</affectedPath><affectedPath>src/cc/frontends/b/codegen_llvm.cc</affectedPath><commitId>45e63f2b316cdce2d8cc925f6f14a8726ade9ff6</commitId><timestamp>1587416401000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>fix llvm 11 compilation issues

The llvm CreateCall used in bcc is deprecated in llvm 11:
  https://reviews.llvm.org/D76269
The llvm CreateMemCpy is changed in llvm 11 as well:
  https://reviews.llvm.org/D71473

This caused bcc compilation error.

  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc: In member function
     ‘ebpf::StatusTuple ebpf::cc::CodegenLLVM::emit_log(ebpf::cc::Method CallExprNode*)’:
  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc:691:39: error: no matching function for call to
     ‘llvm::IRBuilder&lt;&gt;::CreateCall(llvm::Value*&amp;, std::vector&lt;llvm::Value*, std::allocator&lt;llvm::Value*&gt; &gt;&amp;)’
     expr_ = B.CreateCall(printk_fn, args);
                                       ^
  ...

  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc: In member function
     ‘virtual ebpf::StatusTuple ebpf::cc::CodegenLLVM::visit_string_exp_node(ebpf::cc::StringExprNode*)’:
  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc:440:55: error: no matching function for call to
     ‘llvm::IRBuilder&lt;&gt;::CreateMemCpy(llvm:Value*&amp;, int, llvm::Value*&amp;, int, std::__cxx11::basic_string&lt;char&gt;::size_type)’
   B.CreateMemCpy(ptr, 1, global, 1, n-&gt;val_.size() + 1);
                                                       ^
  ...

This patch fixed the compilation issue.
</comment><date>2020-04-20 14:00:01 -0700</date><id>45e63f2b316cdce2d8cc925f6f14a8726ade9ff6</id><msg>fix llvm 11 compilation issues</msg><path><editType>edit</editType><file>src/cc/frontends/b/codegen_llvm.cc</file></path><path><editType>edit</editType><file>src/cc/frontends/b/codegen_llvm.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>src/cc/libbpf</affectedPath><affectedPath>src/cc/libbpf.c</affectedPath><affectedPath>introspection/bps.c</affectedPath><affectedPath>src/cc/compat/linux/virtual_bpf.h</affectedPath><affectedPath>src/cc/export/helpers.h</affectedPath><affectedPath>docs/kernel-versions.md</affectedPath><commitId>df3e7d673da4bd4acab333f28851eccf00ca9f87</commitId><timestamp>1587431304000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>sync to latest libbpf

sync to libbpf v0.0.8. Add newer helpers to
helpers.h, libbpf.c error reporting and docs.
</comment><date>2020-04-20 18:08:24 -0700</date><id>df3e7d673da4bd4acab333f28851eccf00ca9f87</id><msg>sync to latest libbpf</msg><path><editType>edit</editType><file>introspection/bps.c</file></path><path><editType>edit</editType><file>src/cc/export/helpers.h</file></path><path><editType>edit</editType><file>src/cc/libbpf</file></path><path><editType>edit</editType><file>src/cc/libbpf.c</file></path><path><editType>edit</editType><file>docs/kernel-versions.md</file></path><path><editType>edit</editType><file>src/cc/compat/linux/virtual_bpf.h</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>debian/changelog</affectedPath><commitId>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</commitId><timestamp>1587436551000</timestamp><author><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></author><authorEmail>ys114321@gmail.com</authorEmail><comment>prepare for release v0.14.0

added changelog for release v0.14.0
</comment><date>2020-04-20 19:35:51 -0700</date><id>ceb458d6a07a42d8d6d3c16a3b8e387b5131d610</id><msg>prepare for release v0.14.0</msg><path><editType>edit</editType><file>debian/changelog</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/yonghong-song</absoluteUrl><fullName>yonghong-song</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/tj</absoluteUrl><fullName>tj</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/andriin</absoluteUrl><fullName>andriin</fullName></culprit><culprit><absoluteUrl>https://buildbot.iovisor.org/jenkins/user/edwardwu</absoluteUrl><fullName>edwardwu</fullName></culprit><run><number>471</number><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc25/471/</url></run><run><number>471</number><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc26/471/</url></run><run><number>471</number><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc27/471/</url></run><run><number>471</number><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=fc28/471/</url></run><run><number>471</number><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=ubuntu1604/471/</url></run><run><number>471</number><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=ubuntu1710/471/</url></run><run><number>471</number><url>https://buildbot.iovisor.org/jenkins/user/danobi/my-views/view/all/job/bcc-pr/label=ubuntu1804/471/</url></run></matrixBuild>