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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux