• Ard Biesheuvel's avatar
    arm64/module: switch to ADRP/ADD sequences for PLT entries · bdb85cd1
    Ard Biesheuvel authored
    Now that we have switched to the small code model entirely, and
    reduced the extended KASLR range to 4 GB, we can be sure that the
    targets of relative branches that are out of range are in range
    for a ADRP/ADD pair, which is one instruction shorter than our
    current MOVN/MOVK/MOVK sequence, and is more idiomatic and so it
    is more likely to be implemented efficiently by micro-architectures.
    
    So switch over the ordinary PLT code and the special handling of
    the Cortex-A53 ADRP errata, as well as the ftrace trampline
    handling.
    Reviewed-by: default avatarTorsten Duwe <duwe@lst.de>
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    [will: Added a couple of comments in the plt equality check]
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    bdb85cd1
module.c 12.4 KB