Re: [PATCH] openrisc: place exception table at the head of vmlinux

From: Stafford Horne
Date: Thu Dec 05 2024 - 14:05:55 EST


Hello,

This looks ok to me too. I also confirmed that the symbols that end up in the
.init.text of head.o are correct.

I will queue this to go in the next rc.

-Stafford

On Mon, Dec 02, 2024 at 12:59:27PM -0800, Rong Xu wrote:
> This looks good to me.
>
> Reviewed-by: Rong Xu <xur@xxxxxxxxxx>
>
> -Rong
>
> On Mon, Dec 2, 2024 at 12:33 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> >
> > On Mon, Dec 02, 2024 at 03:28:22PM +0900, Masahiro Yamada wrote:
> > > Since commit 0043ecea2399 ("vmlinux.lds.h: Adjust symbol ordering in
> > > text output section"), the exception table in arch/openrisc/kernel/head.S
> > > is no longer positioned at the very beginning of the kernel image, which
> > > causes a boot failure.
> > >
> > > Currently, the exception table resides in the regular .text section.
> > > Previously, it was placed at the head by relying on the linker receiving
> > > arch/openrisc/kernel/head.o as the first object. However, this behavior
> > > has changed because sections like .text.{asan,unknown,unlikely,hot} now
> > > precede the regular .text section.
> > >
> > > The .head.text section is intended for entry points requiring special
> > > placement. However, in OpenRISC, this section has been misused: instead
> > > of the entry points, it contains boot code meant to be discarded after
> > > booting. This feature is typically handled by the .init.text section.
> > >
> > > This commit addresses the issue by replacing the current __HEAD marker
> > > with __INIT and re-annotating the entry points with __HEAD. Additionally,
> > > it adds __REF to entry.S to suppress the following modpost warning:
> > >
> > > WARNING: modpost: vmlinux: section mismatch in reference: _tng_kernel_start+0x70 (section: .text) -> _start (section: .init.text)
> > >
> > > Fixes: 0043ecea2399 ("vmlinux.lds.h: Adjust symbol ordering in text output section")
> > > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> > > Closes: https://lore.kernel.org/all/5e032233-5b65-4ad5-ac50-d2eb6c00171c@xxxxxxxxxxxx/#t
> > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
> >
> > Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> >
> > Guenter