Re: Build regressions/improvements in v5.4-rc2

From: Geert Uytterhoeven
Date: Tue Oct 08 2019 - 03:28:46 EST


Hi Randy,

On Tue, Oct 8, 2019 at 1:41 AM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> On 10/7/19 2:04 PM, Geert Uytterhoeven wrote:
> > On Mon, Oct 7, 2019 at 10:48 PM Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
> >> On 10/7/19 12:18 AM, Geert Uytterhoeven wrote:
> >>> Below is the list of build error/warning regressions/improvements in
> >>> v5.4-rc2[1] compared to v5.3[2].
> >>>
> >>> Summarized:
> >>> - build errors: +10/-3
> >>> - build warnings: +152/-143
> >>>
> >>> JFYI, when comparing v5.4-rc2[1] to v5.4-rc1[3], the summaries are:
> >>> - build errors: +5/-10
> >>> - build warnings: +44/-133
> >>>
> >>> Note that there may be false regressions, as some logs are incomplete.
> >>> Still, they're build errors/warnings.
> >>>
> >>> Happy fixing! ;-)
> >>>
> >>> Thanks to the linux-next team for providing the build service.
> >>>
> >>> [1] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/da0c9ea146cbe92b832f1b0f694840ea8eb33cce/ (233 out of 242 configs)
> >>> [2] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/4d856f72c10ecb060868ed10ff1b1453943fc6c8/ (all 242 configs)
> >>> [3] http://kisskb.ellerman.id.au/kisskb/branch/linus/head/54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c/ (233 out of 242 configs)
> >>>
> >>>
> >>> *** ERRORS ***
> >>>
> >>> 10 error regressions:
> >>
> >>> + error: "__delay" [drivers/net/phy/mdio-cavium.ko] undefined!: => N/A
> >>
> >> Hi Geert,
> >>
> >> What arch & config is the above build error from?
> >
> > That was a new one in v5.4-rc1 for sh-allmodconfig (blamed on David Daney).
>
> so it seems arch/sh/ needs include/asm/delay.h that at least does
> #include <asm-generic/delay.h>
>
> eh?

__delay() is an internal implementation detail on several architectures.

include/asm-generic/delay.h says:

/* Undefined functions to get compile-time errors */
...
extern void __delay(unsigned long loops);

drivers/net/phy/mdio-cavium.c calls __delay() directly to wait n "clocks",
which is not portable. It should use one of [nmu]delay() instead.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds