lkml.org 
[lkml]   [2020]   [Sep]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v7 2/5] arm/build: Warn on orphan section placement
    Date
    We don't want to depend on the linker's orphan section placement
    heuristics as these can vary between linkers, and may change between
    versions. All sections need to be explicitly handled in the linker
    script.

    Specifically, this would have made a recently fixed bug very obvious:

    ld: warning: orphan section `.fixup' from `arch/arm/lib/copy_from_user.o' being placed in section `.fixup'

    With all sections handled, enable orphan section warning.

    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Kees Cook <keescook@chromium.org>
    ---
    arch/arm/Makefile | 4 ++++
    1 file changed, 4 insertions(+)

    diff --git a/arch/arm/Makefile b/arch/arm/Makefile
    index 4e877354515f..e589da3c8949 100644
    --- a/arch/arm/Makefile
    +++ b/arch/arm/Makefile
    @@ -16,6 +16,10 @@ LDFLAGS_vmlinux += --be8
    KBUILD_LDFLAGS_MODULE += --be8
    endif

    +# We never want expected sections to be placed heuristically by the
    +# linker. All sections should be explicitly named in the linker script.
    +LDFLAGS_vmlinux += $(call ld-option, --orphan-handling=warn)
    +
    ifeq ($(CONFIG_ARM_MODULE_PLTS),y)
    KBUILD_LDS_MODULE += $(srctree)/arch/arm/kernel/module.lds
    endif
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-09-02 04:54    [W:4.229 / U:0.212 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site