Re: m68k build failures in -next: undefined reference to `arch_dma_prep_coherent'

From: Guenter Roeck
Date: Mon Jul 08 2019 - 16:42:26 EST


On Mon, Jul 08, 2019 at 10:19:41PM +0200, Geert Uytterhoeven wrote:
> Hi Günter,
>
> CC Greg
>
> On Mon, Jul 8, 2019 at 9:45 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > On Mon, Jul 08, 2019 at 09:13:02PM +0200, Geert Uytterhoeven wrote:
> > > On Mon, Jul 8, 2019 at 7:06 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> > > > I see the following build error in -next:
> > > >
> > > > kernel/dma/direct.o: In function `dma_direct_alloc_pages':
> > > > direct.c:(.text+0x4d8): undefined reference to `arch_dma_prep_coherent'
> > > >
> > > > Example: m68k:allnoconfig.
> > > >
> > > > Bisect log is ambiguous and points to the merge of m68k/for-next into
> > > > -next. Yet, I think the problem is with commit 69878ef47562 ("m68k:
> > > > Implement arch_dma_prep_coherent()") which is supposed to introduce
> > > > the function. The problem is likely that arch_dma_prep_coherent()
> > > > is only declared if CONFIG_MMU is enabled, but it is called from code
> > > > outside CONFIG_MMU.
> > >
> > > Thanks, one more thing to fix in m68k-allnoconfig (did it really build
> > > before?)...
> > >
> > > Given you say "example", does it fail in real configs, too?
> >
> > Yes, it does. All nommu builds fail. allnoconfig and tinyconfig just
> > happen to be among those.
> >
> > Building m68k:allnoconfig ... failed
> > Building m68k:tinyconfig ... failed
> > Building m68k:m5272c3_defconfig ... failed
> > Building m68k:m5307c3_defconfig ... failed
> > Building m68k:m5249evb_defconfig ... failed
> > Building m68k:m5407c3_defconfig ... failed
> > Building m68k:m5475evb_defconfig ... failed
> >
> > Error is always the same.
>
> Thanks!
>
> > The error started with next-20190702. Prior to that, builds were fine,
> > including m68k:allnoconfig and m68k:tinyconfig.
>
> Yeah, it started when I queued up the DMA rework.
> I didn't double-check when Greg said it was OK for him, as it wouldn't affect
> Coldfire or mmu. Sorry for that.
> And that has just been pulled by Linus... Oops...
>

Oh well, I would have hoped for another rc, not because of the state
of mainline but for the state of -next. The next release may be fun,
in a negative sense. From the build of next-20190705:

Build results:
total: 158 pass: 147 fail: 11
Qemu test results:
total: 364 pass: 41 fail: 323

People have been making lots of last-minute (ie in the week before
the commit window opens, and just before a holiday weekend) untested
changes. Unfortunately that happens a lot lately.

To be fair, most of the qemu failures are due to messed up btrfs
dependencies (or at least I hope so - hard to say with that many
failures), but still ...

Guenter