<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in Makefile</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f3846b3800a2cfda9c900b2e94525a1027b04424 - libbpf: Initialize CFLAGS before including Makefile.include</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#f3846b3800a2cfda9c900b2e94525a1027b04424</link>
        <description>libbpf: Initialize CFLAGS before including Makefile.includetools/scripts/Makefile.include may expand EXTRA_CFLAGS in a futurechange.  This could alter the initialization of CFLAGS, as the defaultoptions &quot;-g -O2&quot; would never be set once EXTRA_CFLAGS is expanded.Prepare for this by moving the CFLAGS initialization before includingtools/scripts/Makefile.include, so it is not affected by the extendedEXTRA_CFLAGS.Append EXTRA_CFLAGS to CFLAGS only after including Makefile.include andplace it last so that the extra flags propagate properly and canoverride the default options.tools/scripts/Makefile.include already appends $(CLANG_CROSS_FLAGS) toCFLAGS, the Makefile appends $(CLANG_CROSS_FLAGS) again, remove theredundant append.Signed-off-by: Leo Yan &lt;leo.yan@arm.com&gt;Acked-by: Ihor Solodrai &lt;ihor.solodrai@linux.dev&gt;Link: https://lore.kernel.org/r/20260602-tools_build_fix_zero_init_bpf_only-v2-4-c76e5250ea1c@arm.comSigned-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Tue, 02 Jun 2026 16:47:13 +0200</pubDate>
        <dc:creator>Leo Yan &lt;leo.yan@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>42367eca7604e16e170bd6bd94ef61ffdd335f4a - tools: Remove redundant quiet setup</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#42367eca7604e16e170bd6bd94ef61ffdd335f4a</link>
        <description>tools: Remove redundant quiet setupQ is exported from Makefile.include so it is not necessary to manuallyset it.Reviewed-by: Jiri Olsa &lt;jolsa@kernel.org&gt;Signed-off-by: Charlie Jenkins &lt;charlie@rivosinc.com&gt;Acked-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Acked-by: Quentin Monnet &lt;qmo@kernel.org&gt;Cc: Adrian Hunter &lt;adrian.hunter@intel.com&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Benjamin Tissoires &lt;bentiss@kernel.org&gt;Cc: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Cc: Daniel Lezcano &lt;daniel.lezcano@linaro.org&gt;Cc: Eduard Zingerman &lt;eddyz87@gmail.com&gt;Cc: Hao Luo &lt;haoluo@google.com&gt;Cc: Ian Rogers &lt;irogers@google.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Jiri Kosina &lt;jikos@kernel.org&gt;Cc: John Fastabend &lt;john.fastabend@gmail.com&gt;Cc: Josh Poimboeuf &lt;jpoimboe@kernel.org&gt;Cc: KP Singh &lt;kpsingh@kernel.org&gt;Cc: Lukasz Luba &lt;lukasz.luba@arm.com&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: Mykola Lysenko &lt;mykolal@fb.com&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Rafael J. Wysocki &lt;rafael@kernel.org&gt;Cc: Shuah Khan &lt;shuah@kernel.org&gt;Cc: Song Liu &lt;song@kernel.org&gt;Cc: Stanislav Fomichev &lt;sdf@google.com&gt;Cc: Steven Rostedt (VMware) &lt;rostedt@goodmis.org&gt;Cc: Yonghong Song &lt;yonghong.song@linux.dev&gt;Cc: Zhang Rui &lt;rui.zhang@intel.com&gt;Link: https://lore.kernel.org/r/20250213-quiet_tools-v3-2-07de4482a581@rivosinc.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Thu, 13 Feb 2025 22:06:22 +0100</pubDate>
        <dc:creator>Charlie Jenkins &lt;charlie@rivosinc.com&gt;</dc:creator>
    </item>
<item>
        <title>710fbca820c721cdd60fa8c5bbe9deb4c0788aae - libbpf: Add missing per-arch include path</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#710fbca820c721cdd60fa8c5bbe9deb4c0788aae</link>
        <description>libbpf: Add missing per-arch include pathlibbpf does not include the per-arch tools include path, e.g.tools/arch/riscv/include. Some architectures depend those files tobuild properly.Include tools/arch/$(SUBARCH)/include in the libbpf build.Fixes: 6d74d178fe6e (&quot;tools: Add riscv barrier implementation&quot;)Signed-off-by: Bj&#246;rn T&#246;pel &lt;bjorn@rivosinc.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/bpf/20240927131355.350918-1-bjorn@kernel.org

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Fri, 27 Sep 2024 15:13:52 +0200</pubDate>
        <dc:creator>Bj&#246;rn T&#246;pel &lt;bjorn@rivosinc.com&gt;</dc:creator>
    </item>
<item>
        <title>dbb2a7a986971ef43d5a60d235c05491647e16f4 - tools build: Correct bpf fixdep dependencies</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#dbb2a7a986971ef43d5a60d235c05491647e16f4</link>
        <description>tools build: Correct bpf fixdep dependenciesThe dependencies in tools/lib/bpf/Makefile are incorrect. Before werecurse to build $(BPF_IN_STATIC), we need to build its &apos;fixdep&apos;executable.I can&apos;t use the usual shortcut from Makefile.include:  &lt;target&gt;: &lt;sources&gt; fixdepbecause its &apos;fixdep&apos; target relies on $(OUTPUT), and $(OUTPUT) differsin the parent &apos;make&apos; versus the child &apos;make&apos; -- so I imitate it viaopen-coding.I tweak a few $(MAKE) invocations while I&apos;m at it, because1. I&apos;m adding a new recursive make; and2. these recursive &apos;make&apos;s print spurious lines about files that are &quot;up   to date&quot; (which isn&apos;t normally a feature in Kbuild subtargets) or   &quot;jobserver not available&quot; (see [1])I also need to tweak the assignment of the OUTPUT variable, so thatrelative path builds work. For example, for &apos;make tools/lib/bpf&apos;, OUTPUTis unset, and is usually treated as &quot;cwd&quot; -- but recursive make willchange cwd and so OUTPUT has a new meaning. For consistency, I ensureOUTPUT is always an absolute path.And $(Q) gets a backup definition in tools/build/Makefile.include,because Makefile.include is sometimes included withouttools/build/Makefile, so the &quot;quiet command&quot; stuff doesn&apos;t actually workconsistently without it.After this change, top-level builds result in an empty grep result from:  $ grep &apos;cannot find fixdep&apos; $(find tools/ -name &apos;*.cmd&apos;)[1] https://www.gnu.org/software/make/manual/html_node/MAKE-Variable.htmlIf we&apos;re not using $(MAKE) directly, then we need to use more &apos;+&apos;.Signed-off-by: Brian Norris &lt;briannorris@chromium.org&gt;Acked-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Acked-by: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: Ian Rogers &lt;irogers@google.com&gt;Cc: Josh Poimboeuf &lt;jpoimboe@kernel.org&gt;Cc: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Thomas Richter &lt;tmricht@linux.ibm.com&gt;Link: https://lore.kernel.org/r/20240715203325.3832977-4-briannorris@chromium.orgSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Mon, 15 Jul 2024 22:32:44 +0200</pubDate>
        <dc:creator>Brian Norris &lt;briannorris@chromium.org&gt;</dc:creator>
    </item>
<item>
        <title>e2bad142bb3de836c5fbb3dff704578f5a73d8e6 - kbuild: unexport abs_srctree and abs_objtree</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#e2bad142bb3de836c5fbb3dff704578f5a73d8e6</link>
        <description>kbuild: unexport abs_srctree and abs_objtreeCommit 25b146c5b8ce (&quot;kbuild: allow Kbuild to start from any directory&quot;)exported abs_srctree and abs_objtree to avoid recomputation after thesub-make. However, this approach turned out to be fragile.Commit 5fa94ceb793e (&quot;kbuild: set correct abs_srctree and abs_objtreefor package builds&quot;) moved them above &quot;ifneq ($(sub_make_done),1)&quot;,eliminating the need for exporting them.These are only needed in the top Makefile. If an absolute path isrequired in sub-directories, you can use $(abspath ) or $(realpath )as needed.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Wed, 06 Mar 2024 11:42:22 +0100</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>94e38c956b97d3bb3f6cc8215efb13ea851e3a91 - libbpf: fix typos in Makefile</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#94e38c956b97d3bb3f6cc8215efb13ea851e3a91</link>
        <description>libbpf: fix typos in MakefileCapitalize ABI (acronym) and fix spelling of &quot;destination&quot;.Fixes: 706819495921 (&quot;libbpf: Improve usability of libbpf Makefile&quot;)Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Cc: Andrii Nakryiko &lt;andrii@kernel.org&gt;Cc: bpf@vger.kernel.orgCc: Xin Liu &lt;liuxin350@huawei.com&gt;Link: https://lore.kernel.org/r/20230722065236.17010-1-rdunlap@infradead.orgSigned-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Sat, 22 Jul 2023 08:52:36 +0200</pubDate>
        <dc:creator>Randy Dunlap &lt;rdunlap@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>1a931707ad4a46e79d4ecfee56d8f6e8cc8d4f28 - Merge remote-tracking branch &apos;torvalds/master&apos; into perf/core</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#1a931707ad4a46e79d4ecfee56d8f6e8cc8d4f28</link>
        <description>Merge remote-tracking branch &apos;torvalds/master&apos; into perf/coreTo resolve a trivial merge conflict with c302378bc157f6a7 (&quot;libbpf:Hashmap interface update to allow both long and void* keys/values&quot;),where a function present upstream was removed in the perf toolsdevelopment tree.Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Fri, 16 Dec 2022 13:53:53 +0100</pubDate>
        <dc:creator>Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>706819495921ddad6b3780140b9d9e9293b6dedc - libbpf: Improve usability of libbpf Makefile</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#706819495921ddad6b3780140b9d9e9293b6dedc</link>
        <description>libbpf: Improve usability of libbpf MakefileCurrent libbpf Makefile does not contain the help command, whichis inconvenient to use. Similar to the Makefile help command of theperf, a help command is provided to list the commands supported bylibbpf make and the functions of the commands.Signed-off-by: Xin Liu &lt;liuxin350@huawei.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/bpf/20221202081738.128513-1-liuxin350@huawei.com

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Fri, 02 Dec 2022 09:17:38 +0100</pubDate>
        <dc:creator>Xin Liu &lt;liuxin350@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>daa45f3f3577556801c7b0b2df85eed1289fbcb6 - tools lib bpf: Avoid install_headers make warning</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#daa45f3f3577556801c7b0b2df85eed1289fbcb6</link>
        <description>tools lib bpf: Avoid install_headers make warningThe perf build makes the install_headers target, however, as there isno action for this target a warning is always produced of:make[3]: Nothing to be done for &apos;install_headers&apos;.Solve this by adding a display of &apos;INSTALL libbpf_headers&apos;.Signed-off-by: Ian Rogers &lt;irogers@google.com&gt;Acked-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Cc: Alexander Shishkin &lt;alexander.shishkin@linux.intel.com&gt;Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;Cc: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Cc: Hao Luo &lt;haoluo@google.com&gt;Cc: Ingo Molnar &lt;mingo@redhat.com&gt;Cc: Jiri Olsa &lt;jolsa@kernel.org&gt;Cc: John Fastabend &lt;john.fastabend@gmail.com&gt;Cc: KP Singh &lt;kpsingh@kernel.org&gt;Cc: Mark Rutland &lt;mark.rutland@arm.com&gt;Cc: Martin KaFai Lau &lt;martin.lau@linux.dev&gt;Cc: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;Cc: Nicolas Schier &lt;nicolas@fjasle.eu&gt;Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;Cc: Song Liu &lt;song@kernel.org&gt;Cc: Stanislav Fomichev &lt;sdf@google.com&gt;Cc: Stephane Eranian &lt;eranian@google.com&gt;Cc: Yonghong Song &lt;yhs@fb.com&gt;Cc: bpf@vger.kernel.orgLink: https://lore.kernel.org/r/20221117004356.279422-3-irogers@google.comSigned-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Thu, 17 Nov 2022 01:43:52 +0100</pubDate>
        <dc:creator>Ian Rogers &lt;irogers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f36600634282a519e1b0abea609acdc8731515d7 - libbpf: move xsk.{c,h} into selftests/bpf</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#f36600634282a519e1b0abea609acdc8731515d7</link>
        <description>libbpf: move xsk.{c,h} into selftests/bpfRemove deprecated xsk APIs from libbpf. But given we have selftestsrelying on this, move those files (with minimal adjustments to make themcompilable) under selftests/bpf.We also remove all the removed APIs from libbpf.map, while overallkeeping version inheritance chain, as most APIs are backwardscompatible so there is no need to reassign them as LIBBPF_1.0.0 versions.Cc: Magnus Karlsson &lt;magnus.karlsson@gmail.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/r/20220627211527.2245459-2-andrii@kernel.orgSigned-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Mon, 27 Jun 2022 23:15:13 +0200</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andrii@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>056431ae4d790efd0372c1daf93569fdd2814190 - libbpf: fix up global symbol counting logic</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#056431ae4d790efd0372c1daf93569fdd2814190</link>
        <description>libbpf: fix up global symbol counting logicAdd the same negative ABS filter that we use in VERSIONED_SYM_COUNT tofilter out ABS symbols like LIBBPF_0.8.0.Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/r/20220518185915.3529475-2-andrii@kernel.orgSigned-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Wed, 18 May 2022 20:59:13 +0200</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andrii@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>34ba23b44c664792a4308ec37b5788a3162944ec - Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#34ba23b44c664792a4308ec37b5788a3162944ec</link>
        <description>Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-nextDaniel Borkmann says:====================pull-request: bpf-next 2022-04-09We&apos;ve added 63 non-merge commits during the last 9 day(s) which containa total of 68 files changed, 4852 insertions(+), 619 deletions(-).The main changes are:1) Add libbpf support for USDT (User Statically-Defined Tracing) probes.   USDTs are an abstraction built on top of uprobes, critical for tracing   and BPF, and widely used in production applications, from Andrii Nakryiko.2) While Andrii was adding support for x86{-64}-specific logic of parsing   USDT argument specification, Ilya followed-up with USDT support for s390   architecture, from Ilya Leoshkevich.3) Support name-based attaching for uprobe BPF programs in libbpf. The format   supported is `u[ret]probe/binary_path:[raw_offset|function[+offset]]`, e.g.   attaching to libc malloc can be done in BPF via SEC(&quot;uprobe/libc.so.6:malloc&quot;)   now, from Alan Maguire.4) Various load/store optimizations for the arm64 JIT to shrink the image   size by using arm64 str/ldr immediate instructions. Also enable pointer   authentication to verify return address for JITed code, from Xu Kuohai.5) BPF verifier fixes for write access checks to helper functions, e.g.   rd-only memory from bpf_*_cpu_ptr() must not be passed to helpers that   write into passed buffers, from Kumar Kartikeya Dwivedi.6) Fix overly excessive stack map allocation for its base map structure and   buckets which slipped-in from cleanups during the rlimit accounting removal   back then, from Yuntao Wang.7) Extend the unstable CT lookup helpers for XDP and tc/BPF to report netfilter   connection tracking tuple direction, from Lorenzo Bianconi.8) Improve bpftool dump to show BPF program/link type names, Milan Landaverde.9) Minor cleanups all over the place from various others.* https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (63 commits)  bpf: Fix excessive memory allocation in stack_map_alloc()  selftests/bpf: Fix return value checks in perf_event_stackmap test  selftests/bpf: Add CO-RE relos into linked_funcs selftests  libbpf: Use weak hidden modifier for USDT BPF-side API functions  libbpf: Don&apos;t error out on CO-RE relos for overriden weak subprogs  samples, bpf: Move routes monitor in xdp_router_ipv4 in a dedicated thread  libbpf: Allow WEAK and GLOBAL bindings during BTF fixup  libbpf: Use strlcpy() in path resolution fallback logic  libbpf: Add s390-specific USDT arg spec parsing logic  libbpf: Make BPF-side of USDT support work on big-endian machines  libbpf: Minor style improvements in USDT code  libbpf: Fix use #ifdef instead of #if to avoid compiler warning  libbpf: Potential NULL dereference in usdt_manager_attach_usdt()  selftests/bpf: Uprobe tests should verify param/return values  libbpf: Improve string parsing for uprobe auto-attach  libbpf: Improve library identification for uprobe binary path resolution  selftests/bpf: Test for writes to map key from BPF helpers  selftests/bpf: Test passing rdonly mem to global func  bpf: Reject writes for PTR_TO_MAP_KEY in check_helper_mem_access  bpf: Check PTR_TO_MEM | MEM_RDONLY in check_helper_mem_access  ...====================Link: https://lore.kernel.org/r/20220408231741.19116-1-daniel@iogearbox.netSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Sat, 09 Apr 2022 02:07:29 +0200</pubDate>
        <dc:creator>Jakub Kicinski &lt;kuba@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d72e2968fb2583460062e15d53760d44e2d09ae6 - libbpf: Add BPF-side of USDT support</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#d72e2968fb2583460062e15d53760d44e2d09ae6</link>
        <description>libbpf: Add BPF-side of USDT supportAdd BPF-side implementation of libbpf-provided USDT support. Thisconsists of single header library, usdt.bpf.h, which is meant to be usedfrom user&apos;s BPF-side source code. This header is added to the list ofinstalled libbpf header, along bpf_helpers.h and others.BPF-side implementation consists of two BPF maps:  - spec map, which contains &quot;a USDT spec&quot; which encodes information    necessary to be able to fetch USDT arguments and other information    (argument count, user-provided cookie value, etc) at runtime;  - IP-to-spec-ID map, which is only used on kernels that don&apos;t support    BPF cookie feature. It allows to lookup spec ID based on the place    in user application that triggers USDT program.These maps have default sizes, 256 and 1024, which are chosenconservatively to not waste a lot of space, but handling a lot of commoncases. But there could be cases when user application needs to eithertrace a lot of different USDTs, or USDTs are heavily inlined and theirarguments are located in a lot of differing locations. For such cases itmight be necessary to size those maps up, which libbpf allows to do byoverriding BPF_USDT_MAX_SPEC_CNT and BPF_USDT_MAX_IP_CNT macros.It is an important aspect to keep in mind. Single USDT (user-spaceequivalent of kernel tracepoint) can have multiple USDT &quot;call sites&quot;.That is, single logical USDT is triggered from multiple places in userapplication. This can happen due to function inlining. Each such inlinedinstance of USDT invocation can have its own unique USDT argumentspecification (instructions about the location of the value of each ofUSDT arguments). So while USDT looks very similar to usual uprobe orkernel tracepoint, under the hood it&apos;s actually a collection of uprobes,each potentially needing different spec to know how to fetch arguments.User-visible API consists of three helper functions:  - bpf_usdt_arg_cnt(), which returns number of arguments of current USDT;  - bpf_usdt_arg(), which reads value of specified USDT argument (by    it&apos;s zero-indexed position) and returns it as 64-bit value;  - bpf_usdt_cookie(), which functions like BPF cookie for USDT    programs; this is necessary as libbpf doesn&apos;t allow specifying actual    BPF cookie and utilizes it internally for USDT support implementation.Each bpf_usdt_xxx() APIs expect struct pt_regs * context, passed intoBPF program. On kernels that don&apos;t support BPF cookie it is used tofetch absolute IP address of the underlying uprobe.usdt.bpf.h also provides BPF_USDT() macro, which functions likeBPF_PROG() and BPF_KPROBE() and allows much more user-friendly way toget access to USDT arguments, if USDT definition is static and known tothe user. It is expected that majority of use cases won&apos;t have to usebpf_usdt_arg_cnt() and bpf_usdt_arg() directly and BPF_USDT() will coverall their needs.Last, usdt.bpf.h is utilizing BPF CO-RE for one single purpose: todetect kernel support for BPF cookie. If BPF CO-RE dependency isundesirable, user application can redefine BPF_USDT_HAS_BPF_COOKIE toeither a boolean constant (or equivalently zero and non-zero), or evenpoint it to its own .rodata variable that can be specified from user&apos;sapplication user-space code. It is important thatBPF_USDT_HAS_BPF_COOKIE is known to BPF verifier as static value (thus.rodata and not just .data), as otherwise BPF code will still containbpf_get_attach_cookie() BPF helper call and will fail validation atruntime, if not dead-code eliminated.Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Reviewed-by: Alan Maguire &lt;alan.maguire@oracle.com&gt;Link: https://lore.kernel.org/bpf/20220404234202.331384-2-andrii@kernel.org

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Tue, 05 Apr 2022 01:41:56 +0200</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andrii@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b8321ed4a40c02054f930ca59d3570caa27bc86c - Merge tag &apos;kbuild-v5.18-v2&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#b8321ed4a40c02054f930ca59d3570caa27bc86c</link>
        <description>Merge tag &apos;kbuild-v5.18-v2&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuildPull Kbuild updates from Masahiro Yamada: - Add new environment variables, USERCFLAGS and USERLDFLAGS to allow   additional flags to be passed to user-space programs. - Fix missing fflush() bugs in Kconfig and fixdep - Fix a minor bug in the comment format of the .config file - Make kallsyms ignore llvm&apos;s local labels, .L* - Fix UAPI compile-test for cross-compiling with Clang - Extend the LLVM= syntax to support LLVM=&lt;suffix&gt; form for using a   particular version of LLVm, and LLVM=&lt;prefix&gt; form for using custom   LLVM in a particular directory path. - Clean up Makefiles* tag &apos;kbuild-v5.18-v2&apos; of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:  kbuild: Make $(LLVM) more flexible  kbuild: add --target to correctly cross-compile UAPI headers with Clang  fixdep: use fflush() and ferror() to ensure successful write to files  arch: syscalls: simplify uapi/kapi directory creation  usr/include: replace extra-y with always-y  certs: simplify empty certs creation in certs/Makefile  certs: include certs/signing_key.x509 unconditionally  kallsyms: ignore all local labels prefixed by &apos;.L&apos;  kconfig: fix missing &apos;# end of&apos; for empty menu  kconfig: add fflush() before ferror() check  kbuild: replace $(if A,A,B) with $(or A,B)  kbuild: Add environment variables for userprogs flags  kbuild: unify cmd_copy and cmd_shipped

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Thu, 31 Mar 2022 20:59:03 +0200</pubDate>
        <dc:creator>Linus Torvalds &lt;torvalds@linux-foundation.org&gt;</dc:creator>
    </item>
<item>
        <title>5c8166419acf468b5bc3e48f928a040485d3e0c2 - kbuild: replace $(if A,A,B) with $(or A,B)</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#5c8166419acf468b5bc3e48f928a040485d3e0c2</link>
        <description>kbuild: replace $(if A,A,B) with $(or A,B)$(or ...) is available since GNU Make 3.81, and useful to shorten thecode in some places.Covert as follows:  $(if A,A,B)  --&gt;  $(or A,B)This patch also converts:  $(if A, A, B) --&gt; $(or A, B)Strictly speaking, the latter is not an equivalent conversion becauseGNU Make keeps spaces after commas; if A is not empty, $(if A, A, B)expands to &quot; A&quot;, while $(or A, B) expands to &quot;A&quot;.Anyway, preceding spaces are not significant in the code hunks I touched.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Fri, 11 Feb 2022 06:14:11 +0100</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0908a66ad1124c1634c33847ac662106f7f2c198 - libbpf: Fix build issue with llvm-readelf</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#0908a66ad1124c1634c33847ac662106f7f2c198</link>
        <description>libbpf: Fix build issue with llvm-readelfThere are cases where clang compiler is packaged in a wayreadelf is a symbolic link to llvm-readelf. In such cases,llvm-readelf will be used instead of default binutils readelf,and the following error will appear during libbpf build:  Warning: Num of global symbols in   /home/yhs/work/bpf-next/tools/testing/selftests/bpf/tools/build/libbpf/sharedobjs/libbpf-in.o (367)   does NOT match with num of versioned symbols in   /home/yhs/work/bpf-next/tools/testing/selftests/bpf/tools/build/libbpf/libbpf.so libbpf.map (383).   Please make sure all LIBBPF_API symbols are versioned in libbpf.map.  --- /home/yhs/work/bpf-next/tools/testing/selftests/bpf/tools/build/libbpf/libbpf_global_syms.tmp ...  +++ /home/yhs/work/bpf-next/tools/testing/selftests/bpf/tools/build/libbpf/libbpf_versioned_syms.tmp ...  @@ -324,6 +324,22 @@   btf__str_by_offset   btf__type_by_id   btf__type_cnt  +LIBBPF_0.0.1  +LIBBPF_0.0.2  +LIBBPF_0.0.3  +LIBBPF_0.0.4  +LIBBPF_0.0.5  +LIBBPF_0.0.6  +LIBBPF_0.0.7  +LIBBPF_0.0.8  +LIBBPF_0.0.9  +LIBBPF_0.1.0  +LIBBPF_0.2.0  +LIBBPF_0.3.0  +LIBBPF_0.4.0  +LIBBPF_0.5.0  +LIBBPF_0.6.0  +LIBBPF_0.7.0   libbpf_attach_type_by_name   libbpf_find_kernel_btf   libbpf_find_vmlinux_btf_id  make[2]: *** [Makefile:184: check_abi] Error 1  make[1]: *** [Makefile:140: all] Error 2The above failure is due to different printouts for some ABSversioned symbols. For example, with the same libbpf.so,  $ /bin/readelf --dyn-syms --wide tools/lib/bpf/libbpf.so | grep &quot;LIBBPF&quot; | grep ABS     134: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS LIBBPF_0.5.0     202: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS LIBBPF_0.6.0     ...  $ /opt/llvm/bin/readelf --dyn-syms --wide tools/lib/bpf/libbpf.so | grep &quot;LIBBPF&quot; | grep ABS     134: 0000000000000000     0 OBJECT  GLOBAL DEFAULT   ABS LIBBPF_0.5.0@@LIBBPF_0.5.0     202: 0000000000000000     0 OBJECT  GLOBAL DEFAULT   ABS LIBBPF_0.6.0@@LIBBPF_0.6.0     ...The binutils readelf doesn&apos;t print out the symbol LIBBPF_* version and llvm-readelf does.Such a difference caused libbpf build failure with llvm-readelf.The proposed fix filters out all ABS symbols as they are not part of the comparison.This works for both binutils readelf and llvm-readelf.Reported-by: Delyan Kratunov &lt;delyank@fb.com&gt;Signed-off-by: Yonghong Song &lt;yhs@fb.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/bpf/20220204214355.502108-1-yhs@fb.com

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Fri, 04 Feb 2022 22:43:55 +0100</pubDate>
        <dc:creator>Yonghong Song &lt;yhs@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>4980beb4cda2bc413a3a044e1851b0daaf137bf6 - tools/libbpf: Enable cross-building with clang</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#4980beb4cda2bc413a3a044e1851b0daaf137bf6</link>
        <description>tools/libbpf: Enable cross-building with clangCross-building using clang requires passing the &quot;-target&quot; flag ratherthan using the CROSS_COMPILE prefix. Makefile.include transformsCROSS_COMPILE into CLANG_CROSS_FLAGS. Add them to the CFLAGS.Signed-off-by: Jean-Philippe Brucker &lt;jean-philippe@linaro.org&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Acked-by: Quentin Monnet &lt;quentin@isovalent.com&gt;Link: https://lore.kernel.org/bpf/20211216163842.829836-4-jean-philippe@linaro.org

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Thu, 16 Dec 2021 17:38:40 +0100</pubDate>
        <dc:creator>Jean-Philippe Brucker &lt;jean-philippe@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>3a74ac2d1159716f35c944639f71b33fa16084c8 - libbpf: Compile using -std=gnu89</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#3a74ac2d1159716f35c944639f71b33fa16084c8</link>
        <description>libbpf: Compile using -std=gnu89The minimum supported C standard version is C89, with use of GNUextensions, hence make sure to catch any instances that would breakthe build for this mode by passing -std=gnu89.Signed-off-by: Kumar Kartikeya Dwivedi &lt;memxor@gmail.com&gt;Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Link: https://lore.kernel.org/bpf/20211105234243.390179-4-memxor@gmail.com

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Sat, 06 Nov 2021 00:42:40 +0100</pubDate>
        <dc:creator>Kumar Kartikeya Dwivedi &lt;memxor@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>d51b6b2287ae0c5432f03457a1dbc844e1968d12 - libbpf: Remove Makefile warnings on out-of-sync netlink.h/if_link.h</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#d51b6b2287ae0c5432f03457a1dbc844e1968d12</link>
        <description>libbpf: Remove Makefile warnings on out-of-sync netlink.h/if_link.hAlthough relying on some definitions from the netlink.h and if_link.hheaders copied into tools/include/uapi/linux/, libbpf does not needthose headers to stay entirely up-to-date with their original versions,and the warnings emitted by the Makefile when it detects a differenceare usually just noise. Let&apos;s remove those warnings.Suggested-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Signed-off-by: Quentin Monnet &lt;quentin@isovalent.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/bpf/20211010002528.9772-1-quentin@isovalent.com

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Sun, 10 Oct 2021 02:25:28 +0200</pubDate>
        <dc:creator>Quentin Monnet &lt;quentin@isovalent.com&gt;</dc:creator>
    </item>
<item>
        <title>b79c2ce3baa99beea7f8410ce3154cc23e26dbd8 - libbpf: Skip re-installing headers file if source is older than target</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/bpf/Makefile#b79c2ce3baa99beea7f8410ce3154cc23e26dbd8</link>
        <description>libbpf: Skip re-installing headers file if source is older than targetThe &quot;install_headers&quot; target in libbpf&apos;s Makefile would unconditionallyexport all API headers to the target directory. When those headers areinstalled to compile another application, this means that make alwaysfinds newer dependencies for the source files relying on those headers,and deduces that the targets should be rebuilt.Avoid that by making &quot;install_headers&quot; depend on the source headerfiles, and (re-)install them only when necessary.Signed-off-by: Quentin Monnet &lt;quentin@isovalent.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/bpf/20211007194438.34443-2-quentin@isovalent.com

            List of files:
            /linux/tools/lib/bpf/Makefile</description>
        <pubDate>Thu, 07 Oct 2021 21:44:27 +0200</pubDate>
        <dc:creator>Quentin Monnet &lt;quentin@isovalent.com&gt;</dc:creator>
    </item>
</channel>
</rss>
