[PATCH] ARM: remove duplicate definitions of __vectors_start and __stubs_start
Chris Brandt
Chris.Brandt at renesas.com
Thu Feb 4 06:25:57 PST 2016
On 4 Feb 2016, Ard Biesheuvel wrote:
> 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.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> ---
>
> This is a separate fix for the duplicate symbols based on v4.5-rc2,
> so that it can be applied separately if desired. In that case, I will
> rebase my kallsyms series onto this patch.
>
> arch/arm/kernel/entry-armv.S | 5 ++---
> 1 file 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)
> .endm
>
> .section .stubs, "ax", %progbits
> -__stubs_start:
> @ This must be the first word
> .word vector_swi
>
> @@ -1206,10 +1205,10 @@ vector_addrexcptn:
> .equ vector_fiq_offset, vector_fiq
>
> .section .vectors, "ax", %progbits
> -__vectors_start:
> +.L__vectors_start:
> W(b) vector_rst
> W(b) vector_und
> - W(ldr) pc, __vectors_start + 0x1000
> + W(ldr) pc, .L__vectors_start + 0x1000
> W(b) vector_pabt
> W(b) vector_dabt
> W(b) vector_addrexcptn
Tested with ARCH_R7S72100 with CONFIG_XIP_KERNEL=y and CONFIG_XIP_KERNEL=n
Duplicate symbols are gone, and boots fine (given the other patches from "[PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM" for the CONFIG_XIP_KERNEL=y case)
Acked-by: Chris Brandt <chris.brandt at renesas.com>
More information about the linux-arm-kernel
mailing list