[PATCH 0/3] kallsyms: remove special handling for CONFIG_ARM

Ard Biesheuvel ard.biesheuvel at linaro.org
Wed Feb 3 06:17:19 PST 2016


On 3 February 2016 at 15:15, Chris Brandt <Chris.Brandt at renesas.com> wrote:
> 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.
>

Glad to hear that it works now. Thanks a lot for testing.

-- 
Ard.



More information about the linux-arm-kernel mailing list