Re: next-20200528 - build error in kernel/rcu/refperf.c

From: Paul E. McKenney
Date: Fri May 29 2020 - 10:02:32 EST


On Fri, May 29, 2020 at 01:24:39AM -0400, Valdis KlÄtnieks wrote:
> On Thu, 28 May 2020 21:48:18 -0700, Randy Dunlap said:
>
> > > ERROR: modpost: "__aeabi_uldivmod" [kernel/rcu/refperf.ko] undefined!
>
> Gaah. And the reason I didn't spot Paul's post while grepping my linux-kernel
> mailbox is because *that* thread had a different undefined reference:
>
> > > > > > > m68k-linux-ld: kernel/rcu/refperf.o: in function `main_func':
> > > > > > > >> refperf.c:(.text+0x762): undefined reference to `__umoddi3'
>
> > Paul has already responded: (unfortunately)
> >
> > "So I am restricting to 64BIT for the time being. Yeah, I know, lazy of
> > me. ;-)"
>
> It's the sort of issue that's well into "as long as it gets mostly fixed before
> it hits Linus's tree" territory. I've seen lots of far worse work-arounds in
> the years since the 2.5.47 kernel. :)

Fair enough!

Also as noted on the other thread, in this case, doing this 64-bit
division the hard way shouldn't be a problem: The performance test is
finished and nothing else is happening. So I have to wonder whether it
would be possible to detect this based on some sort of link-time checking,
presumably in conjunction with -O0 to avoid confusing the whitelist with
compiler optimizations.

That would allow use of C-language "/" and "%" while still allowing
gratuitous uses to be questioned.

Hey, I can dream, can't I? ;-)

Thanx, Paul