• Alexander Lobakin's avatar
    MIPS: CPS: don't create redundant .text.cps-vec section · ee90fef1
    Alexander Lobakin authored
    A number of symbols from arch/mips/kernel/cps-vec.S is explicitly
    placed into '.text.cps-vec' section.
    There are no direct references to this section, so there's no need
    to form it. '.balign 0x1000' directive will work anyway.
    
    Moreover, this section was being placed in vmlinux differently
    depending on CONFIG_LD_DEAD_CODE_DATA_ELIMINATION:
     - with this option enabled, '.text.cps-vec' was being caught
       by '.text.[0-9a-zA-Z_]*' from include/asm-generic/vmlinux.lds.h;
     - without this option, '.text.cps-vec' was being caught
       by discouraging '.text.*' from arch/mips/kernel/vmlinux.lds.S.
    
    '.text.*' should not be used in vmlinux linker scripts at all as it
    silently catches any orphan text sections.
    So, remove both '.section .text.cps-vec' and '.text.*' from cps-vec.S
    and vmlinux.lds.S respectively. As said, this does not affect related
    functions alignment:
    
    80116000 T mips_cps_core_entry
    80116028 t not_nmi
    80116200 T excep_tlbfill
    80116280 T excep_xtlbfill
    80116300 T excep_cache
    80116380 T excep_genex
    80116400 T excep_intex
    80116480 T excep_ejtag
    80116490 T mips_cps_core_init
    Signed-off-by: default avatarAlexander Lobakin <alobakin@pm.me>
    Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
    ee90fef1
cps-vec.S 11.9 KB