Commit b48da558 authored by Ard Biesheuvel's avatar Ard Biesheuvel Committed by Russell King

ARM: 8514/1: remove duplicate definitions of __vectors_start and __stubs_start

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>
parent 538bf469
...@@ -1064,7 +1064,6 @@ ENDPROC(vector_\name) ...@@ -1064,7 +1064,6 @@ ENDPROC(vector_\name)
.endm .endm
.section .stubs, "ax", %progbits .section .stubs, "ax", %progbits
__stubs_start:
@ This must be the first word @ This must be the first word
.word vector_swi .word vector_swi
...@@ -1206,10 +1205,10 @@ vector_addrexcptn: ...@@ -1206,10 +1205,10 @@ vector_addrexcptn:
.equ vector_fiq_offset, vector_fiq .equ vector_fiq_offset, vector_fiq
.section .vectors, "ax", %progbits .section .vectors, "ax", %progbits
__vectors_start: .L__vectors_start:
W(b) vector_rst W(b) vector_rst
W(b) vector_und W(b) vector_und
W(ldr) pc, __vectors_start + 0x1000 W(ldr) pc, .L__vectors_start + 0x1000
W(b) vector_pabt W(b) vector_pabt
W(b) vector_dabt W(b) vector_dabt
W(b) vector_addrexcptn W(b) vector_addrexcptn
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment