Re: linux-next: Tree for Mar 13

From: Mike Snitzer
Date: Tue Mar 13 2018 - 11:58:09 EST


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)

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, \
^
...