Message ID | 20210719205314.1023455-1-twd2.me@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | RISC-V: build: Allow LTO to be selected | expand |
On Mon, Jul 19, 2021 at 1:53 PM Wende Tan <twd2.me@gmail.com> wrote: > > Disable LTO for the vDSO as done for x86 [1] and arm64 [2]. This also > disables CFI for it [3]. > > [1] https://patchwork.kernel.org/project/linux-kbuild/patch/20201009161338.657380-28-samitolvanen@google.com/ > [2] https://patchwork.kernel.org/project/kernel-hardening/patch/20201211184633.3213045-15-samitolvanen@google.com/ > [3] https://lore.kernel.org/bpf/CABCJKucpFHC-9rvT7uNF+E-Jh20fz69zdO49_4p8G_Sb634qmw@mail.gmail.com/ It might be nicer to use the typical form for commits: commit <12 char sha> ("<oneline>") rather than a mix of patchwork and lore links. Do you have a list of diagnostics produced when building this object file with LTO enabled? > > Signed-off-by: Wende Tan <twd2.me@gmail.com> > --- > arch/riscv/kernel/vdso/Makefile | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile > index 24d936c147cd..4535a77792be 100644 > --- a/arch/riscv/kernel/vdso/Makefile > +++ b/arch/riscv/kernel/vdso/Makefile > @@ -30,7 +30,7 @@ obj-y += vdso.o vdso-syms.o > CPPFLAGS_vdso.lds += -P -C -U$(ARCH) > > # Disable -pg to prevent insert call site > -CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os > +CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os $(CC_FLAGS_LTO) > > # Disable profiling and instrumentation for VDSO code > GCOV_PROFILE := n > -- > 2.25.1
On 2021/7/20 5:19, Nick Desaulniers wrote: > On Mon, Jul 19, 2021 at 1:53 PM Wende Tan <twd2.me@gmail.com> wrote: >> Disable LTO for the vDSO as done for x86 [1] and arm64 [2]. This also >> disables CFI for it [3]. >> >> [1] https://patchwork.kernel.org/project/linux-kbuild/patch/20201009161338.657380-28-samitolvanen@google.com/ >> [2] https://patchwork.kernel.org/project/kernel-hardening/patch/20201211184633.3213045-15-samitolvanen@google.com/ >> [3] https://lore.kernel.org/bpf/CABCJKucpFHC-9rvT7uNF+E-Jh20fz69zdO49_4p8G_Sb634qmw@mail.gmail.com/ > It might be nicer to use the typical form for commits: > commit <12 char sha> ("<oneline>") > rather than a mix of patchwork and lore links. commit 004d53f8c96f ("arm64: vdso: disable LTO") commit e242db40be27 ("x86, vdso: disable LTO only for vDSO") I can put these into the next version. > Do you have a list of diagnostics produced when building this object > file with LTO enabled? Oh, this object can be built with LTO with no issue, but x86 and arm64 seem to disable LTO for it due to no noticeable benefit for the small amount of C code. >> Signed-off-by: Wende Tan <twd2.me@gmail.com> >> --- >> arch/riscv/kernel/vdso/Makefile | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile >> index 24d936c147cd..4535a77792be 100644 >> --- a/arch/riscv/kernel/vdso/Makefile >> +++ b/arch/riscv/kernel/vdso/Makefile >> @@ -30,7 +30,7 @@ obj-y += vdso.o vdso-syms.o >> CPPFLAGS_vdso.lds += -P -C -U$(ARCH) >> >> # Disable -pg to prevent insert call site >> -CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os >> +CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os $(CC_FLAGS_LTO) >> >> # Disable profiling and instrumentation for VDSO code >> GCOV_PROFILE := n >> -- >> 2.25.1 Thanks. Wende
diff --git a/arch/riscv/kernel/vdso/Makefile b/arch/riscv/kernel/vdso/Makefile index 24d936c147cd..4535a77792be 100644 --- a/arch/riscv/kernel/vdso/Makefile +++ b/arch/riscv/kernel/vdso/Makefile @@ -30,7 +30,7 @@ obj-y += vdso.o vdso-syms.o CPPFLAGS_vdso.lds += -P -C -U$(ARCH) # Disable -pg to prevent insert call site -CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os +CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os $(CC_FLAGS_LTO) # Disable profiling and instrumentation for VDSO code GCOV_PROFILE := n
Disable LTO for the vDSO as done for x86 [1] and arm64 [2]. This also disables CFI for it [3]. [1] https://patchwork.kernel.org/project/linux-kbuild/patch/20201009161338.657380-28-samitolvanen@google.com/ [2] https://patchwork.kernel.org/project/kernel-hardening/patch/20201211184633.3213045-15-samitolvanen@google.com/ [3] https://lore.kernel.org/bpf/CABCJKucpFHC-9rvT7uNF+E-Jh20fz69zdO49_4p8G_Sb634qmw@mail.gmail.com/ Signed-off-by: Wende Tan <twd2.me@gmail.com> --- arch/riscv/kernel/vdso/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)