On Thursday 11 February 2016 18:00:32 Russell King - ARM Linux wrote: > On Fri, Jan 22, 2016 at 01:19:03PM -0800, Kees Cook wrote: > > On Tue, Dec 8, 2015 at 10:38 AM, Kees Cook <keesc...@chromium.org> wrote: > > > On Mon, Dec 7, 2015 at 11:47 PM, Ard Biesheuvel > > > <ard.biesheu...@linaro.org> wrote: > > >> On 7 December 2015 at 23:35, Kees Cook <keesc...@chromium.org> wrote: > > >>> /* > > >>> + * Without CONFIG_DEBUG_ALIGN_RODATA, __start_rodata_section_aligned > > >>> will > > >>> + * be the first section-aligned location after __start_rodata. > > >>> Otherwise, > > >>> + * it will be equal to __start_rodata. > > >>> + */ > > >>> +__start_rodata_section_aligned = ALIGN(__start_rodata, 1 << > > >>> SECTION_SHIFT); > ... > > I'm afraid this causes build errors on two configurations: > > ./arch/arm/kernel/vmlinux.lds:701: undefined symbol `SECTION_SHIFT' > referenced in expression > > which I think is down to the new __start_rodata_section_aligned line. > > Olof's builder errored out with this for both allnoconfig and > lpc18xx_defconfig builds. Both probably due to CONFIG_MMU being > unset, and hence no definition for SECTION_SHIFT. > > I think you need to make this conditional on CONFIG_MMU.
I've hit another problem with this patch, when using XIP_KERNEL, I now see arch/arm/mm/built-in.o:(.data+0x4bc): undefined reference to `__start_rodata_section_aligned' in linux-next, apparently because of the combination with "ARM: 8513/1: xip: Move XIP linking to a separate file". Arnd