aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-02-05 04:04:47 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2016-02-11 10:33:39 -0500
commitb48da55830c40077deafdda388feb819c8c19431 (patch)
tree2d21be00856b8b186d77f0a7f1b9f44830a4c7c9
parent538bf4694898b19e76f32d554cc16135cf37b51c (diff)
ARM: 8514/1: remove duplicate definitions of __vectors_start and __stubs_start
Commit b9b32bf70f2f ("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: Chris Brandt <chris.brandt@renesas.com> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/kernel/entry-armv.S5
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index 3ce377f7251f..788e40c1254f 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -1064,7 +1064,6 @@ ENDPROC(vector_\name)
1064 .endm 1064 .endm
1065 1065
1066 .section .stubs, "ax", %progbits 1066 .section .stubs, "ax", %progbits
1067__stubs_start:
1068 @ This must be the first word 1067 @ This must be the first word
1069 .word vector_swi 1068 .word vector_swi
1070 1069
@@ -1206,10 +1205,10 @@ vector_addrexcptn:
1206 .equ vector_fiq_offset, vector_fiq 1205 .equ vector_fiq_offset, vector_fiq
1207 1206
1208 .section .vectors, "ax", %progbits 1207 .section .vectors, "ax", %progbits
1209__vectors_start: 1208.L__vectors_start:
1210 W(b) vector_rst 1209 W(b) vector_rst
1211 W(b) vector_und 1210 W(b) vector_und
1212 W(ldr) pc, __vectors_start + 0x1000 1211 W(ldr) pc, .L__vectors_start + 0x1000
1213 W(b) vector_pabt 1212 W(b) vector_pabt
1214 W(b) vector_dabt 1213 W(b) vector_dabt
1215 W(b) vector_addrexcptn 1214 W(b) vector_addrexcptn