<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/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>4989135a - bpf: Remove redundant slash</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#4989135a</link>
        <description>bpf: Remove redundant slashThe trailing slash of LIBBPF_SRCS is redundant, remove it. Also inlineit as its only used in LIBBPF_INCLUDE.Signed-off-by: Yuntao Wang &lt;ytcoode@gmail.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/bpf/20220305161013.361646-1-ytcoode@gmail.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Sat, 05 Mar 2022 16:10:13 +0000</pubDate>
        <dc:creator>Yuntao Wang &lt;ytcoode@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cb80ddc6 - bpf: Convert bpf_preload.ko to use light skeleton.</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#cb80ddc6</link>
        <description>bpf: Convert bpf_preload.ko to use light skeleton.The main change is a move of the single line  #include &quot;iterators.lskel.h&quot;from iterators/iterators.c to bpf_preload_kern.c.Which means that generated light skeleton can be used from user space oruser mode driver like iterators.c or from the kernel module or the kernel itself.The direct use of light skeleton from the kernel module simplifies the code,since UMD is no longer necessary. The libbpf.a required user space and UMD. TheCO-RE in the kernel and generated &quot;loader bpf program&quot; used by the lightskeleton are capable to perform complex loading operations traditionallyprovided by libbpf. In addition UMD approach was launching UMD processevery time bpffs has to be mounted. With light skeleton in the kernelthe bpf_preload kernel module loads bpf iterators once and pins themmultiple times into different bpffs mounts.Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Acked-by: Yonghong Song &lt;yhs@fb.com&gt;Acked-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Link: https://lore.kernel.org/bpf/20220209232001.27490-6-alexei.starovoitov@gmail.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Wed, 09 Feb 2022 23:20:01 +0000</pubDate>
        <dc:creator>Alexei Starovoitov &lt;ast@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>e96f2d64 - bpf: Drop libbpf, libelf, libz dependency from bpf preload.</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#e96f2d64</link>
        <description>bpf: Drop libbpf, libelf, libz dependency from bpf preload.Drop libbpf, libelf, libz dependency from bpf preload.This reduces bpf_preload_umd binary sizefrom 1.7M to 30k unstripped with debug infoand from 300k to 19k stripped.Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Acked-by: Martin KaFai Lau &lt;kafai@fb.com&gt;Link: https://lore.kernel.org/bpf/20220131220528.98088-8-alexei.starovoitov@gmail.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Mon, 31 Jan 2022 22:05:28 +0000</pubDate>
        <dc:creator>Alexei Starovoitov &lt;ast@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>5f52d47c - bpf/preload: Clean up .gitignore and &quot;clean-files&quot; target</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#5f52d47c</link>
        <description>bpf/preload: Clean up .gitignore and &quot;clean-files&quot; targetkernel/bpf/preload/Makefile was recently updated to have it installlibbpf&apos;s headers locally instead of pulling them from tools/lib/bpf. Buttwo items still need to be addressed.First, the local .gitignore file was not adjusted to ignore the filesgenerated in the new kernel/bpf/preload/libbpf output directory.Second, the &quot;clean-files&quot; target is now incorrect. The old artefactsnames were not removed from the target, while the new ones were addedincorrectly. This is because &quot;clean-files&quot; expects names relative to$(obj), but we passed the absolute path instead. This results in theoutput and header-destination directories for libbpf (and theircontents) not being removed from kernel/bpf/preload on &quot;make clean&quot; fromthe root of the repository.This commit fixes both issues. Note that $(userprogs) needs not be addedto &quot;clean-files&quot;, because the cleaning infrastructure already accountsfor it.Cleaning the files properly also prevents make from printing thefollowing message, for builds coming after a &quot;make clean&quot;:&quot;make[4]: Nothing to be done for &apos;install_headers&apos;.&quot;v2: Simplify the &quot;clean-files&quot; target.Fixes: bf60791741d4 (&quot;bpf: preload: Install libbpf headers when building&quot;)Signed-off-by: Quentin Monnet &lt;quentin@isovalent.com&gt;Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Acked-by: John Fastabend &lt;john.fastabend@gmail.com&gt;Link: https://lore.kernel.org/bpf/20211020094647.15564-1-quentin@isovalent.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Wed, 20 Oct 2021 09:46:47 +0000</pubDate>
        <dc:creator>Quentin Monnet &lt;quentin@isovalent.com&gt;</dc:creator>
    </item>
<item>
        <title>bf607917 - bpf: preload: Install libbpf headers when building</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#bf607917</link>
        <description>bpf: preload: Install libbpf headers when buildingAPI headers from libbpf should not be accessed directly from thelibrary&apos;s source directory. Instead, they should be exported with &quot;makeinstall_headers&quot;. Let&apos;s make sure that bpf/preload/Makefile installs theheaders properly when building.Note that we declare an additional dependency for iterators/iterators.o:having $(LIBBPF_A) as a dependency to &quot;$(obj)/bpf_preload_umd&quot; is notsufficient, as it makes it required only at the linking step. But weneed libbpf to be compiled, and in particular its headers to beexported, before we attempt to compile iterators.o. The issue would notoccur before this commit, because libbpf&apos;s headers were not exported andwere always available under tools/lib/bpf.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-7-quentin@isovalent.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Thu, 07 Oct 2021 19:44:32 +0000</pubDate>
        <dc:creator>Quentin Monnet &lt;quentin@isovalent.com&gt;</dc:creator>
    </item>
<item>
        <title>2f383041 - libbpf: Make libbpf_version.h non-auto-generated</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#2f383041</link>
        <description>libbpf: Make libbpf_version.h non-auto-generatedTurn previously auto-generated libbpf_version.h header into a normalheader file. This prevents various tricky Makefile integration issues,simplifies the overall build process, but also allows to further extendit with some more versioning-related APIs in the future.To prevent accidental out-of-sync versions as defined by libbpf.map andlibbpf_version.h, Makefile checks their consistency at build time.Simultaneously with this change bump libbpf.map to v0.6.Also undo adding libbpf&apos;s output directory into include path forkernel/bpf/preload, bpftool, and resolve_btfids, which is not necessarybecause libbpf_version.h is just a normal header like any other.Fixes: 0b46b7550560 (&quot;libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations&quot;)Signed-off-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Link: https://lore.kernel.org/bpf/20210913222309.3220849-1-andrii@kernel.org

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Mon, 13 Sep 2021 22:23:09 +0000</pubDate>
        <dc:creator>Andrii Nakryiko &lt;andrii@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>0b46b755 - libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecations</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#0b46b755</link>
        <description>libbpf: Add LIBBPF_DEPRECATED_SINCE macro for scheduling API deprecationsIntroduce a macro LIBBPF_DEPRECATED_SINCE(major, minor, message) to preparethe deprecation of two API functions. This macro marks functions as deprecatedwhen libbpf&apos;s version reaches the values passed as an argument.As part of this change libbpf_version.h header is added with recorded major(LIBBPF_MAJOR_VERSION) and minor (LIBBPF_MINOR_VERSION) libbpf version macros.They are now part of libbpf public API and can be relied upon by user code.libbpf_version.h is installed system-wide along other libbpf public headers.Due to this new build-time auto-generated header, in-kernel applicationsrelying on libbpf (resolve_btfids, bpftool, bpf_preload) are updated toinclude libbpf&apos;s output directory as part of a list of include search paths.Better fix would be to use libbpf&apos;s make_install target to install public APIheaders, but that clean up is left out as a future improvement. The buildchanges were tested by building kernel (with KBUILD_OUTPUT and O= specifiedexplicitly), bpftool, libbpf, selftests/bpf, and resolve_btfids builds. Noproblems were detected.Note that because of the constraints of the C preprocessor we have to writea few lines of macro magic for each version used to prepare deprecation (0.6for now).Also, use LIBBPF_DEPRECATED_SINCE() to schedule deprecation ofbtf__get_from_id() and btf__load(), which are replaced bybtf__load_from_kernel_by_id() and btf__load_into_kernel(), respectively,starting from future libbpf v0.6. This is part of libbpf 1.0 effort ([0]).  [0] Closes: https://github.com/libbpf/libbpf/issues/278Co-developed-by: Quentin Monnet &lt;quentin@isovalent.com&gt;Co-developed-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;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Link: https://lore.kernel.org/bpf/20210908213226.1871016-1-andrii@kernel.org

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Wed, 08 Sep 2021 21:32:26 +0000</pubDate>
        <dc:creator>Quentin Monnet &lt;quentin@isovalent.com&gt;</dc:creator>
    </item>
<item>
        <title>150a2732 - bpf, preload: Fix build when $(O) points to a relative path</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#150a2732</link>
        <description>bpf, preload: Fix build when $(O) points to a relative pathBuilding the kernel with CONFIG_BPF_PRELOAD, and by providing a relativepath for the output directory, may fail with the following error:  $ make O=build bindeb-pkg  ...  /.../linux/tools/scripts/Makefile.include:5: *** O=build does not exist.  Stop.  make[7]: *** [/.../linux/kernel/bpf/preload/Makefile:9: kernel/bpf/preload/libbpf.a] Error 2  make[6]: *** [/.../linux/scripts/Makefile.build:500: kernel/bpf/preload] Error 2  make[5]: *** [/.../linux/scripts/Makefile.build:500: kernel/bpf] Error 2  make[4]: *** [/.../linux/Makefile:1799: kernel] Error 2  make[4]: *** Waiting for unfinished jobs....In the case above, for the &quot;bindeb-pkg&quot; target, the error is produced bythe &quot;dummy&quot; check in Makefile.include, called from libbpf&apos;s Makefile.This check changes directory to $(PWD) before checking for the existenceof $(O). But at this step we have $(PWD) pointing to &quot;/.../linux/build&quot;,and $(O) pointing to &quot;build&quot;. So the Makefile.include tries in fact toassert the existence of a directory named &quot;/.../linux/build/build&quot;,which does not exist.Note that the error does not occur for all make targets andarchitectures combinations. This was observed on x86 for &quot;bindeb-pkg&quot;,or for a regular build for UML [0].Here are some details. The root Makefile recursively calls itself once,after changing directory to $(O). The content for the variable $(PWD) ispreserved across recursive calls to make, so it is unchanged at thisstep. For &quot;bindeb-pkg&quot;, $(PWD) is eventually updated because the targetwrites a new Makefile (as debian/rules) and calls it indirectly throughdpkg-buildpackage. This script does not preserve $(PWD), which is resetto the current working directory when the target in debian/rules iscalled.Although not investigated, it seems likely that something similar causesUML to change its value for $(PWD).Non-trivial fixes could be to remove the use of $(PWD) from the &quot;dummy&quot;check, or to make sure that $(PWD) and $(O) are preserved or updated toalways play well and form a valid $(PWD)/$(O) path across the differenttargets and architectures. Instead, we take a simpler approach and justupdate $(O) when calling libbpf&apos;s Makefile, so it points to an absolutepath which should always resolve for the &quot;dummy&quot; check run (throughincludes) by that Makefile.David Gow previously posted a slightly different version of this patchas a RFC [0], two months ago or so.  [0] https://lore.kernel.org/bpf/20201119085022.3606135-1-davidgow@google.com/t/#uFixes: d71fa5c9763c (&quot;bpf: Add kernel module with user mode driver that populates bpffs.&quot;)Reported-by: David Gow &lt;davidgow@google.com&gt;Signed-off-by: Quentin Monnet &lt;quentin@isovalent.com&gt;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Acked-by: Andrii Nakryiko &lt;andrii@kernel.org&gt;Cc: Brendan Higgins &lt;brendanhiggins@google.com&gt;Cc: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Link: https://lore.kernel.org/bpf/20210126161320.24561-1-quentin@isovalent.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Tue, 26 Jan 2021 16:13:20 +0000</pubDate>
        <dc:creator>Quentin Monnet &lt;quentin@isovalent.com&gt;</dc:creator>
    </item>
<item>
        <title>9d9aae53 - bpf/preload: Make sure Makefile cleans up after itself, and add .gitignore</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#9d9aae53</link>
        <description>bpf/preload: Make sure Makefile cleans up after itself, and add .gitignoreThe Makefile in bpf/preload builds a local copy of libbpf, but does notproperly clean up after itself. This can lead to subsequent compilationfailures, since the feature detection cache is kept around which can leadsubsequent detection to fail.Fix this by properly setting clean-files, and while we&apos;re at it, also add a.gitignore for the directory to ignore the build artifacts.Fixes: d71fa5c9763c (&quot;bpf: Add kernel module with user mode driver that populates bpffs.&quot;)Signed-off-by: Toke H&#248;iland-J&#248;rgensen &lt;toke@redhat.com&gt;Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Link: https://lore.kernel.org/bpf/20200927193005.8459-1-toke@redhat.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Sun, 27 Sep 2020 19:30:05 +0000</pubDate>
        <dc:creator>Toke H&#248;iland-J&#248;rgensen &lt;toke@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>d71fa5c9 - bpf: Add kernel module with user mode driver that populates bpffs.</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/kernel/bpf/preload/Makefile#d71fa5c9</link>
        <description>bpf: Add kernel module with user mode driver that populates bpffs.Add kernel module with user mode driver that populates bpffs withBPF iterators.$ mount bpffs /my/bpffs/ -t bpf$ ls -la /my/bpffs/total 4drwxrwxrwt  2 root root    0 Jul  2 00:27 .drwxr-xr-x 19 root root 4096 Jul  2 00:09 ..-rw-------  1 root root    0 Jul  2 00:27 maps.debug-rw-------  1 root root    0 Jul  2 00:27 progs.debugThe user mode driver will load BPF Type Formats, create BPF maps, populate BPFmaps, load two BPF programs, attach them to BPF iterators, and finally send twobpf_link IDs back to the kernel.The kernel will pin two bpf_links into newly mounted bpffs instance undernames &quot;progs.debug&quot; and &quot;maps.debug&quot;. These two files become human readable.$ cat /my/bpffs/progs.debug  id name            attached  11 dump_bpf_map    bpf_iter_bpf_map  12 dump_bpf_prog   bpf_iter_bpf_prog  27 test_pkt_access  32 test_main       test_pkt_access test_pkt_access  33 test_subprog1   test_pkt_access_subprog1 test_pkt_access  34 test_subprog2   test_pkt_access_subprog2 test_pkt_access  35 test_subprog3   test_pkt_access_subprog3 test_pkt_access  36 new_get_skb_len get_skb_len test_pkt_access  37 new_get_skb_ifindex get_skb_ifindex test_pkt_access  38 new_get_constant get_constant test_pkt_accessThe BPF program dump_bpf_prog() in iterators.bpf.c is printing this data aboutall BPF programs currently loaded in the system. This information is unstableand will change from kernel to kernel as &quot;.debug&quot; suffix conveys.Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;Link: https://lore.kernel.org/bpf/20200819042759.51280-4-alexei.starovoitov@gmail.com

            List of files:
            /linux-6.15/kernel/bpf/preload/Makefile</description>
        <pubDate>Wed, 19 Aug 2020 04:27:58 +0000</pubDate>
        <dc:creator>Alexei Starovoitov &lt;ast@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
