Re: linux-next: Tree for Mar 13

From: Randy Dunlap
Date: Tue Mar 13 2018 - 13:31:11 EST


On 03/13/2018 08:57 AM, Mike Snitzer wrote:
> I had to revert the following commits to get this kernel to build
> (otherwise I got macro expansion errors, using RHEL7
> gcc-4.8.5-28.el7.x86_64):
>
> beb7eb2 kernelh-skip-single-eval-logic-on-literals-in-min-max-v3
> 19ff7e5 kernelh-skip-single-eval-logic-on-literals-in-min-max-v2
> c7c133f kernel.h: skip single-eval logic on literals in min()/max()
>
> (it wasn't until I reverted commit c7c133f that the kernel build worked)

Yep, all of my automated randconfig builds were useless...


> Here is a snippet of the errors if commit c7c133f was applied:
>
> [root@rhel-storage-02 linux]# make
> CHK include/config/kernel.release
> CHK include/generated/uapi/linux/version.h
> CHK include/generated/utsrelease.h
> CC kernel/bounds.s
> CHK include/generated/bounds.h
> CHK include/generated/timeconst.h
> CC arch/x86/kernel/asm-offsets.s
> In file included from ./include/linux/crypto.h:21:0,
> from arch/x86/kernel/asm-offsets.c:9:
> ./include/linux/jiffies.h: In function âjiffies_delta_to_clock_tâ:
> ./include/linux/kernel.h:856:2: error: first argument to
> â__builtin_choose_exprâ not a constant
> __builtin_choose_expr(__builtin_constant_p(x) && \
> ^
> ./include/linux/kernel.h:869:19: note: in expansion of macro â__maxâ
> #define max(x, y) __max(typeof(x), typeof(y), x, y)
> ^
> ./include/linux/jiffies.h:444:28: note: in expansion of macro âmaxâ
> return jiffies_to_clock_t(max(0L, delta));
> ^
> ./include/linux/mm.h: In function âget_mm_hiwater_rssâ:
> ./include/linux/kernel.h:856:2: error: first argument to
> â__builtin_choose_exprâ not a constant
> __builtin_choose_expr(__builtin_constant_p(x) && \
> ^
> ./include/linux/kernel.h:869:19: note: in expansion of macro â__maxâ
> #define max(x, y) __max(typeof(x), typeof(y), x, y)
> ^
> ./include/linux/mm.h:1569:9: note: in expansion of macro âmaxâ
> return max(mm->hiwater_rss, get_mm_rss(mm));
> ^
> ./include/linux/mm.h: In function âget_mm_hiwater_vmâ:
> ./include/linux/kernel.h:856:2: error: first argument to
> â__builtin_choose_exprâ not a constant
> __builtin_choose_expr(__builtin_constant_p(x) && \
> ^
> ./include/linux/kernel.h:869:19: note: in expansion of macro â__maxâ
> #define max(x, y) __max(typeof(x), typeof(y), x, y)
> ^
> ./include/linux/mm.h:1574:9: note: in expansion of macro âmaxâ
> return max(mm->hiwater_vm, mm->total_vm);
> ^
> ./include/linux/bvec.h: In function âbvec_iter_advanceâ:
> ./include/linux/kernel.h:833:2: error: first argument to
> â__builtin_choose_exprâ not a constant
> __builtin_choose_expr(__builtin_constant_p(x) && \
> ^
> ./include/linux/kernel.h:847:19: note: in expansion of macro â__minâ
> #define min(x, y) __min(typeof(x), typeof(y), x, y)
> ^
> ./include/linux/bvec.h:59:2: note: in expansion of macro âminâ
> min((iter).bi_size, \
> ^
> ...
>


--
~Randy