[PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM
Chris Brandt
Chris.Brandt at renesas.com
Wed Feb 3 06:15:16 PST 2016
On 2 Feb 2016, Chris Brandt wrote
> > And when a printed out the destination, I get:
> >
> > Stubs at c09ff000 :00000000 BF006F20 EF9F0000 EA000064 etc...
> >
> > Notice the first entry is 0....that's not right...and we know it's using that
> > first __stubs_start symbol.
> >
>
> The first quantity after __stubs_start should be the address of vector_swi. Can
> you check if the second value coincides with that?
Yes, it does.
bf006f20 T vector_swi
Which is why it booted once I modified the start address.
> This is caused by the fact that __stubs_start is not aligned correctly on XIP.
>
> Could you try this, please?
>
> diff --git a/arch/arm/kernel/vmlinux.lds.S b/arch/arm/kernel/vmlinux.lds.S index 7160658fd5d4..a5b8e7b80d17 100644
> --- a/arch/arm/kernel/vmlinux.lds.S
> +++ b/arch/arm/kernel/vmlinux.lds.S
> @@ -164,8 +164,8 @@ SECTIONS
> * The vectors and stubs are relocatable code, and the
> * only thing that matters is their relative offsets
> */
> - __stubs_start = .;
> .stubs : {
> + __stubs_start = .;
> *(.stubs)
> }
> __stubs_end = .;
Yup, that fixed it!
bf353edc T _etext
bf353ee0 t __stubs_start
bf353ee0 T __stubs_start
bf353ee4 t vector_rst
bf353f00 t vector_irq
and my new print out:
Stubs at c09ff000 :BF006F20 EF9F0000 EA000064 E320F000 etc...
Now that it is working on my XIP system, I will say that I'm also happy to see that extra junk in kallsyms.c and link-vmlinux.sh be removed. Those things also caused me some issues when I first started trying to get the XIP_KERNEL stuff back working.
Chris
More information about the linux-arm-kernel
mailing list