<?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>127b0e05 - vdso: Rename included Makefile</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#127b0e05</link>
        <description>vdso: Rename included MakefileAs the Makefile is included into other Makefiles it can not be used todefine objects to be built from the current source directory.However the generic datastore will introduce such a local source file.Rename the included Makefile so it is clear how it is to be used and tomake room for a regular Makefile in lib/vdso/.Signed-off-by: Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Link: https://lore.kernel.org/all/20250204-vdso-store-rng-v3-4-13a4669dfc8c@linutronix.de

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Tue, 04 Feb 2025 12:05:36 +0000</pubDate>
        <dc:creator>Thomas Wei&#223;schuh &lt;thomas.weissschuh@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>c6898d66 - riscv: Check that vdso does not contain any dynamic relocations</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#c6898d66</link>
        <description>riscv: Check that vdso does not contain any dynamic relocationsLike other architectures, use the common cmd_vdso_check to make sure ofthat.Reviewed-by: Bj&#246;rn T&#246;pel &lt;bjorn@rivosinc.com&gt;Tested-by: Vladimir Isaev &lt;vladimir.isaev@syntacore.com&gt;Signed-off-by: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Reviewed-by: Guo Ren &lt;guoren@kernel.org&gt;Link: https://lore.kernel.org/r/20241016083625.136311-3-alexghiti@rivosinc.comSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Wed, 16 Oct 2024 08:36:25 +0000</pubDate>
        <dc:creator>Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;</dc:creator>
    </item>
<item>
        <title>bf40167d - riscv: vdso: Prevent the compiler from inserting calls to memset()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#bf40167d</link>
        <description>riscv: vdso: Prevent the compiler from inserting calls to memset()The compiler is smart enough to insert a call to memset() inriscv_vdso_get_cpus(), which generates a dynamic relocation.So prevent this by using -fno-builtin option.Fixes: e2c0cdfba7f6 (&quot;RISC-V: User-facing API&quot;)Cc: stable@vger.kernel.orgSigned-off-by: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Reviewed-by: Guo Ren &lt;guoren@kernel.org&gt;Link: https://lore.kernel.org/r/20241016083625.136311-2-alexghiti@rivosinc.comSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Wed, 16 Oct 2024 08:36:24 +0000</pubDate>
        <dc:creator>Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;</dc:creator>
    </item>
<item>
        <title>7587a360 - riscv: vdso: do not strip debugging info for vdso.so.dbg</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#7587a360</link>
        <description>riscv: vdso: do not strip debugging info for vdso.so.dbgThe vdso.so.dbg is a debug version of vdso and could be used for debuggingpurpose. For example, perf-annotate requires debugging info to show sourcelines. So let&apos;s keep its debugging info.Signed-off-by: Changbin Du &lt;changbin.du@huawei.com&gt;Reviewed-by: Cyril Bur &lt;cyrilbur@tenstorrent.com&gt;Reviewed-by: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Link: https://lore.kernel.org/r/20240611040947.3024710-1-changbin.du@huawei.comSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Tue, 11 Jun 2024 04:09:47 +0000</pubDate>
        <dc:creator>Changbin Du &lt;changbin.du@huawei.com&gt;</dc:creator>
    </item>
<item>
        <title>7f7f6f7a - Makefile: remove redundant tool coverage variables</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#7f7f6f7a</link>
        <description>Makefile: remove redundant tool coverage variablesNow Kbuild provides reasonable defaults for objtool, sanitizers, andprofilers.Remove redundant variables.Note:This commit changes the coverage for some objects:  - include arch/mips/vdso/vdso-image.o into UBSAN, GCOV, KCOV  - include arch/sparc/vdso/vdso-image-*.o into UBSAN  - include arch/sparc/vdso/vma.o into UBSAN  - include arch/x86/entry/vdso/extable.o into KASAN, KCSAN, UBSAN, GCOV, KCOV  - include arch/x86/entry/vdso/vdso-image-*.o into KASAN, KCSAN, UBSAN, GCOV, KCOV  - include arch/x86/entry/vdso/vdso32-setup.o into KASAN, KCSAN, UBSAN, GCOV, KCOV  - include arch/x86/entry/vdso/vma.o into GCOV, KCOV  - include arch/x86/um/vdso/vma.o into KASAN, GCOV, KCOVI believe these are positive effects because all of them are kernelspace objects.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Kees Cook &lt;keescook@chromium.org&gt;Tested-by: Roberto Sassu &lt;roberto.sassu@huawei.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Mon, 06 May 2024 13:35:43 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>b1992c37 - kbuild: use $(src) instead of $(srctree)/$(src) for source directory</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#b1992c37</link>
        <description>kbuild: use $(src) instead of $(srctree)/$(src) for source directoryKbuild conventionally uses $(obj)/ for generated files, and $(src)/ forchecked-in source files. It is merely a convention without any functionaldifference. In fact, $(obj) and $(src) are exactly the same, as definedin scripts/Makefile.build:    src := $(obj)When the kernel is built in a separate output directory, $(src) doesnot accurately reflect the source directory location. While Kbuildresolves this discrepancy by specifying VPATH=$(srctree) to search forsource files, it does not cover all cases. For example, when adding aheader search path for local headers, -I$(srctree)/$(src) is typicallypassed to the compiler.This introduces inconsistency between upstream and downstream Makefilesbecause $(src) is used instead of $(srctree)/$(src) for the latter.To address this inconsistency, this commit changes the semantics of$(src) so that it always points to the directory in the source tree.Going forward, the variables used in Makefiles will have the followingmeanings:  $(obj)     - directory in the object tree  $(src)     - directory in the source tree  (changed by this commit)  $(objtree) - the top of the kernel object tree  $(srctree) - the top of the kernel source treeConsequently, $(srctree)/$(src) in upstream Makefiles need to be replacedwith $(src).Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Sat, 27 Apr 2024 14:55:02 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>ad14f7ca - riscv: hwprobe: do not produce frtace relocation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#ad14f7ca</link>
        <description>riscv: hwprobe: do not produce frtace relocationSuch relocation causes crash of android linker similar to onedescribed in commit e05d57dcb8c7(&quot;riscv: Fixup __vdso_gettimeofday broke dynamic ftrace&quot;).Looks like this relocation is added by CONFIG_DYNAMIC_FTRACE which isdisabled in the default android kernel.Before:readelf -rW arch/riscv/kernel/vdso/vdso.so:Relocation section &apos;.rela.dyn&apos; at offset 0xd00 contains 1 entry:    Offset             Info             Type0000000000000d20  0000000000000003 R_RISCV_RELATIVEobjdump:0000000000000c86 &lt;__vdso_riscv_hwprobe@@LINUX_4.15&gt;: c86:   0001                    nop c88:   0001                    nop c8a:   0001                    nop c8c:   0001                    nop c8e:   e211                    bnez    a2,c92 &lt;__vdso_riscv_hwprobe...After:readelf -rW arch/riscv/kernel/vdso/vdso.so:There are no relocations in this file.objdump:0000000000000c86 &lt;__vdso_riscv_hwprobe@@LINUX_4.15&gt;: c86:   e211                    bnez    a2,c8a &lt;__vdso_riscv_hwprobe... c88:   c6b9                    beqz    a3,cd6 &lt;__vdso_riscv_hwprobe... c8a:   e739                    bnez    a4,cd8 &lt;__vdso_riscv_hwprobe... c8c:   ffffd797                auipc   a5,0xffffdAlso disable SCS since it also should not be available in vdso.Fixes: aa5af0aa90ba (&quot;RISC-V: Add hwprobe vDSO function and data&quot;)Signed-off-by: Roman Artemev &lt;roman.artemev@syntacore.com&gt;Signed-off-by: Vladimir Isaev &lt;vladimir.isaev@syntacore.com&gt;Reviewed-by: Alexandre Ghiti &lt;alexghiti@rivosinc.com&gt;Reviewed-by: Guo Ren &lt;guoren@kernel.org&gt;Link: https://lore.kernel.org/r/20240313085843.17661-1-vladimir.isaev@syntacore.comSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Wed, 13 Mar 2024 07:35:46 +0000</pubDate>
        <dc:creator>Vladimir Isaev &lt;vladimir.isaev@syntacore.com&gt;</dc:creator>
    </item>
<item>
        <title>56769ba4 - kbuild: unify vdso_install rules</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#56769ba4</link>
        <description>kbuild: unify vdso_install rulesCurrently, there is no standard implementation for vdso_install,leading to various issues: 1. Code duplication    Many architectures duplicate similar code just for copying files    to the install destination.    Some architectures (arm, sparc, x86) create build-id symlinks,    introducing more code duplication. 2. Unintended updates of in-tree build artifacts    The vdso_install rule depends on the vdso files to install.    It may update in-tree build artifacts. This can be problematic,    as explained in commit 19514fc665ff (&quot;arm, kbuild: make    &quot;make install&quot; not depend on vmlinux&quot;). 3. Broken code in some architectures    Makefile code is often copied from one architecture to another    without proper adaptation.    &apos;make vdso_install&apos; for parisc does not work.    &apos;make vdso_install&apos; for s390 installs vdso64, but not vdso32.To address these problems, this commit introduces a generic vdso_installrule.Architectures that support vdso_install need to define vdso-install-yin arch/*/Makefile. vdso-install-y lists the files to install.For example, arch/x86/Makefile looks like this:  vdso-install-$(CONFIG_X86_64)           += arch/x86/entry/vdso/vdso64.so.dbg  vdso-install-$(CONFIG_X86_X32_ABI)      += arch/x86/entry/vdso/vdsox32.so.dbg  vdso-install-$(CONFIG_X86_32)           += arch/x86/entry/vdso/vdso32.so.dbg  vdso-install-$(CONFIG_IA32_EMULATION)   += arch/x86/entry/vdso/vdso32.so.dbgThese files will be installed to $(MODLIB)/vdso/ with the .dbg suffix,if exists, stripped away.vdso-install-y can optionally take the second field after the colonseparator. This is needed because some architectures install a vdsofile as a different base name.The following is a snippet from arch/arm64/Makefile.  vdso-install-$(CONFIG_COMPAT_VDSO)      += arch/arm64/kernel/vdso32/vdso.so.dbg:vdso32.soThis will rename vdso.so.dbg to vdso32.so during installation. If sucharchitectures change their implementation so that the base names match,this workaround will go away.Signed-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Acked-by: Sven Schnelle &lt;svens@linux.ibm.com&gt; # s390Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;Reviewed-by: Guo Ren &lt;guoren@kernel.org&gt;Acked-by: Helge Deller &lt;deller@gmx.de&gt;  # pariscAcked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;Acked-by: Russell King (Oracle) &lt;rmk+kernel@armlinux.org.uk&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Sat, 14 Oct 2023 10:54:35 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>d1584d79 - riscv: Implement Shadow Call Stack</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#d1584d79</link>
        <description>riscv: Implement Shadow Call StackImplement CONFIG_SHADOW_CALL_STACK for RISC-V. When enabled, thecompiler injects instructions to all non-leaf C functions tostore the return address to the shadow stack and unconditionallyload it again before returning, which makes it harder to corruptthe return address through a stack overflow, for example.The active shadow call stack pointer is stored in the gpregister, which makes SCS incompatible with gp relaxation. Use--no-relax-gp to ensure gp relaxation is disabled and disableglobal pointer loading.  Add SCS pointers to struct thread_info,implement SCS initialization, and task switchingSigned-off-by: Sami Tolvanen &lt;samitolvanen@google.com&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Link: https://lore.kernel.org/r/20230927224757.1154247-12-samitolvanen@google.comSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Wed, 27 Sep 2023 22:48:02 +0000</pubDate>
        <dc:creator>Sami Tolvanen &lt;samitolvanen@google.com&gt;</dc:creator>
    </item>
<item>
        <title>aa5af0aa - RISC-V: Add hwprobe vDSO function and data</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#aa5af0aa</link>
        <description>RISC-V: Add hwprobe vDSO function and dataAdd a vDSO function __vdso_riscv_hwprobe, which can sit in front of theriscv_hwprobe syscall and answer common queries. We stash a copy ofstatic answers for the &quot;all CPUs&quot; case in the vDSO data page. This datais private to the vDSO, so we can decide later to change what&apos;s storedthere or under what conditions we defer to the syscall. Currently alldata can be discovered at boot, so the vDSO function answers all querieswhen the cpumask is set to the &quot;all CPUs&quot; hint.There&apos;s also a boolean in the data that lets the vDSO function know thatall CPUs are the same. In that case, the vDSO will also answer queriesfor arbitrary CPU masks in addition to the &quot;all CPUs&quot; hint.Signed-off-by: Evan Green &lt;evan@rivosinc.com&gt;Link: https://lore.kernel.org/r/20230407231103.2622178-7-evan@rivosinc.comSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Fri, 07 Apr 2023 23:11:03 +0000</pubDate>
        <dc:creator>Evan Green &lt;evan@rivosinc.com&gt;</dc:creator>
    </item>
<item>
        <title>aff69273 - vdso: Improve cmd_vdso_check to check all dynamic relocations</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#aff69273</link>
        <description>vdso: Improve cmd_vdso_check to check all dynamic relocationsThe actual intention is that no dynamic relocation exists in the VDSO. Forthis the VDSO build validates that the resulting .so file does not have anyrelocations which are specified via $(ARCH_REL_TYPE_ABS) per architecture,which is fragile as e.g. ARM64 lacks an entry for R_AARCH64_RELATIVE. Asideof that ARCH_REL_TYPE_ABS is a misnomer as it checks for relativerelocations too.However, some GNU ld ports produce unneeded R_*_NONE relocation entries. Ifa port fails to determine the exact .rel[a].dyn size, the trailing zerosbecome R_*_NONE relocations. E.g. ld&apos;s powerpc port recently fixedhttps://sourceware.org/bugzilla/show_bug.cgi?id=29540). R_*_NONE aregenerally a no-op in the dynamic loaders. So just ignore them.Remove the ARCH_REL_TYPE_ABS defines and just validate that the resulting.so file does not contain any R_* relocation entries except R_*_NONE.Signed-off-by: Fangrui Song &lt;maskray@google.com&gt;Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Tested-by: Vincenzo Frascino &lt;vincenzo.frascino@arm.com&gt; # for aarch64Reviewed-by: Christophe Leroy &lt;christophe.leroy@csgroup.eu&gt;Reviewed-by: Vincenzo Frascino &lt;vincenzo.frascino@arm.com&gt; # for vDSO, aarch64Acked-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt; (powerpc)Link: https://lore.kernel.org/r/20230310190750.3323802-1-maskray@google.com

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Fri, 10 Mar 2023 19:07:50 +0000</pubDate>
        <dc:creator>Fangrui Song &lt;maskray@google.com&gt;</dc:creator>
    </item>
<item>
        <title>74f6bb55 - riscv: vdso: fix section overlapping under some conditions</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#74f6bb55</link>
        <description>riscv: vdso: fix section overlapping under some conditionslkp reported a build error, I tried the config and can reproducebuild error as below:  VDSOLD  arch/riscv/kernel/vdso/vdso.so.dbgld.lld: error: section .note file range overlaps with .text&gt;&gt;&gt; .note range is [0x7C8, 0x803]&gt;&gt;&gt; .text range is [0x800, 0x1993]ld.lld: error: section .text file range overlaps with .dynamic&gt;&gt;&gt; .text range is [0x800, 0x1993]&gt;&gt;&gt; .dynamic range is [0x808, 0x937]ld.lld: error: section .note virtual address range overlaps with .text&gt;&gt;&gt; .note range is [0x7C8, 0x803]&gt;&gt;&gt; .text range is [0x800, 0x1993]Fix it by setting DISABLE_BRANCH_PROFILING which will disable branchtracing for vdso, thus avoid useless _ftrace_annotated_branch sectionand _ftrace_branch section. Although we can also fix it by removingthe hardcoded .text begin address, but I think that&apos;s another storyand should be put into another patch.Link: https://lore.kernel.org/lkml/202210122123.Cc4FPShJ-lkp@intel.com/#rReported-by: kernel test robot &lt;lkp@intel.com&gt;Signed-off-by: Jisheng Zhang &lt;jszhang@kernel.org&gt;Link: https://lore.kernel.org/r/20221102170254.1925-1-jszhang@kernel.orgFixes: ad5d1122b82f (&quot;riscv: use vDSO common flow to reduce the latency of the time-related functions&quot;)Cc: stable@vger.kernel.orgSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Wed, 02 Nov 2022 17:02:54 +0000</pubDate>
        <dc:creator>Jisheng Zhang &lt;jszhang@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>fcae44fd - RISC-V: vdso: Do not add missing symbols to version section in linker script</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#fcae44fd</link>
        <description>RISC-V: vdso: Do not add missing symbols to version section in linker scriptRecently, ld.lld moved from &apos;--undefined-version&apos; to&apos;--no-undefined-version&apos; as the default, which breaks the compat vDSObuild:  ld.lld: error: version script assignment of &apos;LINUX_4.15&apos; to symbol &apos;__vdso_gettimeofday&apos; failed: symbol not defined  ld.lld: error: version script assignment of &apos;LINUX_4.15&apos; to symbol &apos;__vdso_clock_gettime&apos; failed: symbol not defined  ld.lld: error: version script assignment of &apos;LINUX_4.15&apos; to symbol &apos;__vdso_clock_getres&apos; failed: symbol not definedThese symbols are not present in the compat vDSO or the regular vDSO for32-bit but they are unconditionally included in the version section ofthe linker script, which is prohibited with &apos;--no-undefined-version&apos;.Fix this issue by only including the symbols that are actually exportedin the version section of the linker script.Link: https://github.com/ClangBuiltLinux/linux/issues/1756Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Tested-by: Conor Dooley &lt;conor.dooley@microchip.com&gt;Link: https://lore.kernel.org/r/20221108171324.3377226-1-nathan@kernel.org/Signed-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Tue, 08 Nov 2022 17:13:23 +0000</pubDate>
        <dc:creator>Nathan Chancellor &lt;nathan@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>50f4dd65 - riscv: vdso: fix build with llvm</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#50f4dd65</link>
        <description>riscv: vdso: fix build with llvmEven after commit 89fd4a1df829 (&quot;riscv: jump_label: mark arguments asconst to satisfy asm constraints&quot;), building with CC_OPTIMIZE_FOR_SIZE+ LLVM=1 can reproduce below build error:  CC      arch/riscv/kernel/vdso/vgettimeofday.oIn file included from &lt;built-in&gt;:4:In file included from lib/vdso/gettimeofday.c:5:In file included from include/vdso/datapage.h:17:In file included from include/vdso/processor.h:10:In file included from arch/riscv/include/asm/vdso/processor.h:7:In file included from include/linux/jump_label.h:112:arch/riscv/include/asm/jump_label.h:42:3: error:invalid operand for inline asm constraint &apos;i&apos;                &quot;       .option push                            \n\t&quot;                ^1 error generated.I think the problem is when &quot;-Os&quot; is passed as CFLAGS, it&apos;s removed by&quot;CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os&quot; which isintroduced in commit e05d57dcb8c7 (&quot;riscv: Fixup __vdso_gettimeofdaybroke dynamic ftrace&quot;), thus no optimization at all for vgettimeofday.carm64 does remove &quot;-Os&quot; as well, but it forces &quot;-O2&quot; after removing&quot;-Os&quot;.I compared the generated vgettimeofday.o with &quot;-O2&quot; and &quot;-Os&quot;,I think no big performance difference. So let&apos;s tell the kbuild notto remove &quot;-Os&quot; rather than follow arm64 style.vdso related performance can be improved a lot when building kernel withCC_OPTIMIZE_FOR_SIZE after this commit, (&quot;-Os&quot; VS no optimization)Fixes: e05d57dcb8c7 (&quot;riscv: Fixup __vdso_gettimeofday broke dynamic ftrace&quot;)Signed-off-by: Jisheng Zhang &lt;jszhang@kernel.org&gt;Tested-by: Conor Dooley &lt;conor.dooley@microchip.com&gt;Link: https://lore.kernel.org/r/20221031182943.2453-1-jszhang@kernel.orgSigned-off-by: Palmer Dabbelt &lt;palmer@rivosinc.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Mon, 31 Oct 2022 18:29:43 +0000</pubDate>
        <dc:creator>Jisheng Zhang &lt;jszhang@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>fde9c59a - riscv: explicitly use symbol offsets for VDSO</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#fde9c59a</link>
        <description>riscv: explicitly use symbol offsets for VDSOThe current implementation of the `__rt_sigaction` reference computed anabsolute offset relative to the mapped base of the VDSO.  While this canbe handled in the medlow model, the medany model cannot handle this asit is meant to be position independent.  The current implementationrelied on the BFD linker relaxing the PC-relative relocation into anabsolute relocation as it was a near-zero address allowing it to bereferenced relative to `zero`.We now extract the offsets and create a generated header allowing thebuild with LLVM and lld to succeed as we no longer depend on the linkerrewriting address references near zero.  This change was largelymodelled after the ARM64 target which does something similar.Signed-off-by: Saleem Abdulrasool &lt;abdulras@google.com&gt;Tested-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Signed-off-by: Palmer Dabbelt &lt;palmerdabbelt@google.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Wed, 04 Aug 2021 17:32:14 +0000</pubDate>
        <dc:creator>Saleem Abdulrasool &lt;abdulras@google.com&gt;</dc:creator>
    </item>
<item>
        <title>8341dcfb - riscv: Enable Undefined Behavior Sanitizer UBSAN</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#8341dcfb</link>
        <description>riscv: Enable Undefined Behavior Sanitizer UBSANSelect ARCH_HAS_UBSAN_SANITIZE_ALL in order to allow the user toenable CONFIG_UBSAN_SANITIZE_ALL and instrument the entire kernel forubsan checks.VDSO is excluded because its build doesn&apos;t include the__ubsan_handle_*() functions from lib/ubsan.c, and the VDSO has nosane way to report errors even if it has definitions of these functions.Passed lib/test_ubsan.c test.Signed-off-by: Jisheng Zhang &lt;jszhang@kernel.org&gt;Signed-off-by: Palmer Dabbelt &lt;palmerdabbelt@google.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Wed, 04 Aug 2021 16:30:59 +0000</pubDate>
        <dc:creator>Jisheng Zhang &lt;jszhang@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>772d7891 - riscv: vdso: fix and clean-up Makefile</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#772d7891</link>
        <description>riscv: vdso: fix and clean-up MakefileRunning &quot;make&quot; on an already compiled kernel tree will rebuild thekernel even without any modifications:  CALL    linux/scripts/checksyscalls.sh  CALL    linux/scripts/atomic/check-atomics.sh  CHK     include/generated/compile.h  SO2S    arch/riscv/kernel/vdso/vdso-syms.S  AS      arch/riscv/kernel/vdso/vdso-syms.o  AR      arch/riscv/kernel/vdso/built-in.a  AR      arch/riscv/kernel/built-in.a  AR      arch/riscv/built-in.a  GEN     .version  CHK     include/generated/compile.h  UPD     include/generated/compile.h  CC      init/version.o  AR      init/built-in.a  LD      vmlinux.oThe reason is &quot;Any target that utilizes if_changed must be listed in$(targets), otherwise the command line check will fail, and the targetwill always be built&quot; as explained by Documentation/kbuild/makefiles.rstFix this build bug by adding vdso-syms.S to $(targets)At the same time, there are two trivial clean up modifications:- the vdso-dummy.o is not needed any more after so remove it.- vdso.lds is a generated file, so it should be prefixed with  $(obj)/ instead of $(src)/Fixes: c2c81bb2f691 (&quot;RISC-V: Fix the VDSO symbol generaton for binutils-2.35+&quot;)Cc: stable@vger.kernel.orgSigned-off-by: Jisheng Zhang &lt;jszhang@kernel.org&gt;Signed-off-by: Palmer Dabbelt &lt;palmerdabbelt@google.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Fri, 02 Apr 2021 13:29:08 +0000</pubDate>
        <dc:creator>Jisheng Zhang &lt;jszhang@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>7f3d3490 - riscv: Use $(LD) instead of $(CC) to link vDSO</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#7f3d3490</link>
        <description>riscv: Use $(LD) instead of $(CC) to link vDSOCurrently, the VDSO is being linked through $(CC). This does not matchhow the rest of the kernel links objects, which is through the $(LD)variable.When linking with clang, there are a couple of warnings about flags thatwill not be used during the link:clang-12: warning: argument unused during compilation: &apos;-no-pie&apos; [-Wunused-command-line-argument]clang-12: warning: argument unused during compilation: &apos;-pg&apos; [-Wunused-command-line-argument]&apos;-no-pie&apos; was added in commit 85602bea297f (&quot;RISC-V: build vdso-dummy.owith -no-pie&quot;) to override &apos;-pie&apos; getting added to the ld command fromdistribution versions of GCC that enable PIE by default. It istechnically no longer needed after commit c2c81bb2f691 (&quot;RISC-V: Fix theVDSO symbol generaton for binutils-2.35+&quot;), which removed vdso-dummy.oin favor of generating vdso-syms.S from vdso.so with $(NM) but this alsoresolves the issue in case it ever comes back due to having full controlover the $(LD) command. &apos;-pg&apos; is for function tracing, it is not usedduring linking as clang states.These flags could be removed/filtered to fix the warnings but it iseasier to just match the rest of the kernel and use $(LD) directly forlinking. See commits  fe00e50b2db8 (&quot;ARM: 8858/1: vdso: use $(LD) instead of $(CC) to link VDSO&quot;)  691efbedc60d (&quot;arm64: vdso: use $(LD) instead of $(CC) to link VDSO&quot;)  2ff906994b6c (&quot;MIPS: VDSO: Use $(LD) instead of $(CC) to link VDSO&quot;)  2b2a25845d53 (&quot;s390/vdso: Use $(LD) instead of $(CC) to link vDSO&quot;)for more information.The flags are converted to linker flags and &apos;--eh-frame-hdr&apos; is added tomatch what is added by GCC implicitly, which can be seen by adding &apos;-v&apos;to GCC&apos;s invocation.Additionally, since this area is being modified, use the $(OBJCOPY)variable instead of an open coded $(CROSS_COMPILE)objcopy so that theuser&apos;s choice of objcopy binary is respected.Link: https://github.com/ClangBuiltLinux/linux/issues/803Link: https://github.com/ClangBuiltLinux/linux/issues/970Signed-off-by: Nathan Chancellor &lt;nathan@kernel.org&gt;Reviewed-by: Fangrui Song &lt;maskray@google.com&gt;Signed-off-by: Palmer Dabbelt &lt;palmerdabbelt@google.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Thu, 25 Mar 2021 21:51:56 +0000</pubDate>
        <dc:creator>Nathan Chancellor &lt;nathan@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>f3d60f2a - riscv: Disable KSAN_SANITIZE for vDSO</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#f3d60f2a</link>
        <description>riscv: Disable KSAN_SANITIZE for vDSOWe use the generic C VDSO implementations of a handful of clock-relatedfunctions.  When kasan is enabled this results in asan stub calls thatare unlikely to be resolved by userspace, this just disables KASANwhen building the VDSO.Verified the fix on a kernel with KASAN enabled using vDSO selftests.Link: https://lore.kernel.org/lkml/CACT4Y+ZNJBnkKHXUf=tm_yuowvZvHwN=0rmJ=7J+xFd+9r_6pQ@mail.gmail.com/Tested-by: Tobias Klauser &lt;tklauser@distanz.ch&gt;Signed-off-by: Tobias Klauser &lt;tklauser@distanz.ch&gt;Tested-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;[Palmer: commit text]Fixes: ad5d1122b82f (&quot;riscv: use vDSO common flow to reduce the latency of the time-related functions&quot;)Cc: stable@vger.kernel.orgSigned-off-by: Palmer Dabbelt &lt;palmerdabbelt@google.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Tue, 16 Feb 2021 17:33:05 +0000</pubDate>
        <dc:creator>Tobias Klauser &lt;tklauser@distanz.ch&gt;</dc:creator>
    </item>
<item>
        <title>e553fdc8 - riscv: Explicitly specify the build id style in vDSO Makefile again</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/arch/riscv/kernel/vdso/Makefile#e553fdc8</link>
        <description>riscv: Explicitly specify the build id style in vDSO Makefile againCommit a96843372331 (&quot;kbuild: explicitly specify the build id style&quot;)explicitly set the build ID style to SHA1. Commit c2c81bb2f691 (&quot;RISC-V:Fix the VDSO symbol generaton for binutils-2.35+&quot;) undid this change,likely unintentionally.Restore it so that the build ID style stays consistent across the treeregardless of linker.Fixes: c2c81bb2f691 (&quot;RISC-V: Fix the VDSO symbol generaton for binutils-2.35+&quot;)Signed-off-by: Nathan Chancellor &lt;natechancellor@gmail.com&gt;Reviewed-by: Nick Desaulniers &lt;ndesaulniers@google.com&gt;Reviewed-by: Bill Wendling &lt;morbo@google.com&gt;Signed-off-by: Palmer Dabbelt &lt;palmerdabbelt@google.com&gt;

            List of files:
            /linux-6.15/arch/riscv/kernel/vdso/Makefile</description>
        <pubDate>Sun, 08 Nov 2020 20:37:37 +0000</pubDate>
        <dc:creator>Nathan Chancellor &lt;natechancellor@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
