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

From: Paul E. McKenney
Date: Fri May 29 2020 - 09:55:59 EST


On Fri, May 29, 2020 at 12:16:31AM -0400, Valdis KlÄtnieks wrote:
> commit 9088b449814f788d24f35a5840b6b2c2a23cd32a
> Author: Paul E. McKenney <paulmck@xxxxxxxxxx>
> Date: Mon May 25 17:22:24 2020 -0700
>
> refperf: Provide module parameter to specify number of experiments
>
> changes this line of code (line 389)
>
> - reader_tasks[exp].result_avg = 1000 * process_durations(exp) / ((exp + 1) * loops);
> + result_avg[exp] = 1000 * process_durations(nreaders) / (nreaders * loops);
>
> On a 32-bit ARM make allmodconfig with gcc 8.3, this results in:
>
> ERROR: modpost: "__aeabi_uldivmod" [kernel/rcu/refperf.ko] undefined!
> make[1]: *** [scripts/Makefile.modpost:103: __modpost] Error 1
>
> I admit not understanding why the original line of code worked and the new one doesn't.
> Maybe gcc is smarter/dumber about the ranges of 'exp' and 'nreaders' than we thought?

I was surprised by that as well, but yesterday I took the lazy way out
by making this module depend on 64BIT. (0day reported a similar issue
on m68k.) So this issue should no longer show up. ;-)

Thanx, Paul