Re: Linux 6.2-rc2

From: Guenter Roeck
Date: Mon Jan 02 2023 - 20:45:44 EST


On Mon, Jan 02, 2023 at 04:21:41PM -0800, Linus Torvalds wrote:
> [ Adding Jason in case he has any ideas, and seeing if sh maintainer
> emails are still valid, and Arnd in case they aren't ]
>
> On Mon, Jan 2, 2023 at 2:57 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> >
> > One detail to mention, though, is that sh:rts7751r2dplus_defconfig
> > no longer builds with older versions of binutils (2.32). Trying to
> > do so results in the following build error.
> >
> > `.exit.text' referenced in section `__bug_table' of drivers/char/hw_random/core.o:
> > defined in discarded section `.exit.text' of drivers/char/hw_random/core.o
> >
> > To make this more interesting, kernels older than v5.10 do not boot
> > (at least not in qemu) when images are built with binutils 2.27 or newer.
> > That is why I had used binutils 2.32 in the first place.
> >
> > I didn't bother tracking this down but switched to binutils 2.39 when
> > building v5.10+ images.
>
> I have to admit that I can't really see myself carding deeply about
> SH, but somebody else may. I don't think I've gotten an arch/sh pull
> in a couple of years.
>
> That said, I also don't see anything wrong with the arch/sh version of
> BUG() and friends, so I don't see why this would hit arch/sh and not
> somebody else.
>
> I _assume_ it is the BUG_ON() in hwrng_modexit() that triggers this:
>
> static void __exit hwrng_modexit(void)
> {
> mutex_lock(&rng_mutex);
> BUG_ON(current_rng);
> kfree(rng_buffer);
> ...
>
> but again, I don't see what's special about sh here apart from maybe
> "not well maintained binutils support".
>
> Does removing the BUG_ON() fix the build?
>

It does, but it wasn't changed recently. Bisect results:

# bad: [88603b6dc419445847923fcb7fe5080067a30f98] Linux 6.2-rc2
# good: [c8451c141e07a8d05693f6c8d0e418fbb4b68bb7] Merge tag 'acpi-6.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
git bisect start 'HEAD' 'c8451c141e07'
# bad: [8b41948296b76588f5ebaf7cbc5be5c803ece70a] Merge tag 'drm-fixes-2023-01-01' of git://anongit.freedesktop.org/drm/drm
git bisect bad 8b41948296b76588f5ebaf7cbc5be5c803ece70a
# bad: [6a5e25fc3e0b94301734e8abb1d311a1e02d360d] fixdep: remove unneeded <stdarg.h> inclusion
git bisect bad 6a5e25fc3e0b94301734e8abb1d311a1e02d360d
# bad: [9c9b55a59416a87fc73c479d78cb3218076dbc30] kbuild: add a missing line for help message
git bisect bad 9c9b55a59416a87fc73c479d78cb3218076dbc30
# bad: [99cb0d917ffa1ab628bb67364ca9b162c07699b1] arch: fix broken BuildID for arm64 and riscv
git bisect bad 99cb0d917ffa1ab628bb67364ca9b162c07699b1
# good: [da8daff9405e55baa1f797b77a7c629a89f4d764] kconfig: Add static text for search information in help menu
git bisect good da8daff9405e55baa1f797b77a7c629a89f4d764
# first bad commit: [99cb0d917ffa1ab628bb67364ca9b162c07699b1] arch: fix broken BuildID for arm64 and riscv

... and reverting commit 99cb0d917ff indeed fixes the problem.
Copying those involved for comments.

Guenter