Skip to content
  • Ard Biesheuvel's avatar
    ARM: 8514/1: remove duplicate definitions of __vectors_start and __stubs_start · b48da558
    Ard Biesheuvel authored
    Commit b9b32bf7
    
     ("ARM: use linker magic for vectors and vector stubs")
    introduced new global definitions of __vectors_start and __stubs_start,
    and changed the existing ones to have internal linkage only. However, these
    symbols are still visible to kallsyms, and due to the way the .vectors and
    .stubs sections are emitted at the base of the VMA space, these duplicate
    definitions have conflicting values.
    
      $ nm -n vmlinux |grep -E __vectors|__stubs
      00000000 t __vectors_start
      00001000 t __stubs_start
      c0e77000 T __vectors_start
      c0e77020 T __stubs_start
    
    This is completely harmless by itself, since the wrong values are local
    symbols that cannot be referenced by other object files directly. However,
    since these symbols are also listed in the kallsyms symbol table in some
    cases (i.e., CONFIG_KALLSYMS_ALL=y and CONFIG_XIP_KERNEL=y), having these
    conflicting values can be confusing. So either remove them, or make them
    strictly local.
    
    Acked-by: default avatarChris Brandt <chris.brandt@renesas.com>
    Acked-by: default avatarNicolas Pitre <nico@linaro.org>
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
    b48da558