• Mark Rutland's avatar
    arm64: Remove redundant padding from linker script · 5b28cd9d
    Mark Rutland authored
    Currently we place an ALIGN_DEBUG_RO between text and data for the .text
    and .init sections, and depending on configuration each of these may
    result in up to SECTION_SIZE bytes worth of padding (for
    DEBUG_RODATA_ALIGN).
    
    We make no distinction between the text and data in each of these
    sections at any point when creating the initial page tables in head.S.
    We also make no distinction when modifying the tables; __map_memblock,
    fixup_executable, mark_rodata_ro, and fixup_init only work at section
    granularity. Thus this padding is unnecessary.
    
    For the spit between init text and data we impose a minimum alignment of
    16 bytes, but this is also unnecessary. The init data is output
    immediately after the padding before any symbols are defined, so this is
    not required to keep a symbol for linker a section array correctly
    associated with the data. Any objects within the section will be given
    at least their usual alignment regardless.
    
    This patch removes the redundant padding.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Jeremy Linton <jeremy.linton@arm.com>
    Cc: Laura Abbott <labbott@fedoraproject.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    5b28cd9d
vmlinux.lds.S 4.22 KB