• David Brazdil's avatar
    kvm: arm64: Partially link nVHE hyp code, simplify HYPCOPY · ab25464b
    David Brazdil authored
    Relying on objcopy to prefix the ELF section names of the nVHE hyp code
    is brittle and prevents us from using wildcards to match specific
    section names.
    
    Improve the build rules by partially linking all '.nvhe.o' files and
    prefixing their ELF section names using a linker script. Continue using
    objcopy for prefixing ELF symbol names.
    
    One immediate advantage of this approach is that all subsections
    matching a pattern can be merged into a single prefixed section, eg.
    .text and .text.* can be linked into a single '.hyp.text'. This removes
    the need for -fno-reorder-functions on GCC and will be useful in the
    future too: LTO builds use .text subsections, compilers routinely
    generate .rodata subsections, etc.
    
    Partially linking all hyp code into a single object file also makes it
    easier to analyze.
    Signed-off-by: default avatarDavid Brazdil <dbrazdil@google.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    Acked-by: default avatarWill Deacon <will@kernel.org>
    Link: https://lore.kernel.org/r/20200922204910.7265-2-dbrazdil@google.com
    ab25464b
hyp_image.h 580 Bytes