Message ID | CAKv+Gu8ZTHAqviveLMizRKPfeXwb6kcXi4cVQNYVYuPcVMgMeQ@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 3 February 2016 at 15:15, Chris Brandt <Chris.Brandt@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. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On 3 February 2016 at 21:01, Russell King - ARM Linux <linux@arm.linux.org.uk> wrote: > On Wed, Feb 03, 2016 at 02:41:29PM +0100, Ard Biesheuvel wrote: >> > bf353edc T __stubs_start >> >> This is a global symbol >> >> > bf353edc T _etext >> > bf353ee0 t __stubs_start >> >> This is a local symbol > > Stop this madness. This gets you an immediate NAK on the patch set. > What madness? This does not change at all with my patches, these duplicates already exist in the current code. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On Wed, 3 Feb 2016, Ard Biesheuvel wrote: > On 3 February 2016 at 21:01, Russell King - ARM Linux > <linux@arm.linux.org.uk> wrote: > > On Wed, Feb 03, 2016 at 02:41:29PM +0100, Ard Biesheuvel wrote: > >> > bf353edc T __stubs_start > >> > >> This is a global symbol > >> > >> > bf353edc T _etext > >> > bf353ee0 t __stubs_start > >> > >> This is a local symbol > > > > Stop this madness. This gets you an immediate NAK on the patch set. > > > > What madness? This does not change at all with my patches, these > duplicates already exist in the current code. That doesn't make it any better, and was cause for issue as Chris demonstrated. Can we get rid of that duplication please? Nicolas _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On 3 February 2016 at 21:23, Nicolas Pitre <nicolas.pitre@linaro.org> wrote: > On Wed, 3 Feb 2016, Ard Biesheuvel wrote: > >> On 3 February 2016 at 21:01, Russell King - ARM Linux >> <linux@arm.linux.org.uk> wrote: >> > On Wed, Feb 03, 2016 at 02:41:29PM +0100, Ard Biesheuvel wrote: >> >> > bf353edc T __stubs_start >> >> >> >> This is a global symbol >> >> >> >> > bf353edc T _etext >> >> > bf353ee0 t __stubs_start >> >> >> >> This is a local symbol >> > >> > Stop this madness. This gets you an immediate NAK on the patch set. >> > >> >> What madness? This does not change at all with my patches, these >> duplicates already exist in the current code. > > That doesn't make it any better, and was cause for issue as Chris > demonstrated. Can we get rid of that duplication please? > 4/4 in my v2 removes the redundant symbols. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
On 3 February 2016 at 21:30, Ard Biesheuvel <ard.biesheuvel@linaro.org> wrote: > On 3 February 2016 at 21:23, Nicolas Pitre <nicolas.pitre@linaro.org> wrote: >> On Wed, 3 Feb 2016, Ard Biesheuvel wrote: >> >>> On 3 February 2016 at 21:01, Russell King - ARM Linux >>> <linux@arm.linux.org.uk> wrote: >>> > On Wed, Feb 03, 2016 at 02:41:29PM +0100, Ard Biesheuvel wrote: >>> >> > bf353edc T __stubs_start >>> >> >>> >> This is a global symbol >>> >> >>> >> > bf353edc T _etext >>> >> > bf353ee0 t __stubs_start >>> >> >>> >> This is a local symbol >>> > >>> > Stop this madness. This gets you an immediate NAK on the patch set. >>> > >>> >>> What madness? This does not change at all with my patches, these >>> duplicates already exist in the current code. >> >> That doesn't make it any better, and was cause for issue as Chris >> demonstrated. Can we get rid of that duplication please? >> > > 4/4 in my v2 removes the redundant symbols. ... actually, that only removes the redundant __stub_start, and the redundant __vectors_start is already removed in patch #1. Patch #4 (v2) may be shot down for other reasons, in that case I can simply move the removal of __stubs_start to patch #1 instead. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
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 = .;