From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Snitzer Subject: Re: linux-next: Tree for Mar 13 Date: Tue, 13 Mar 2018 11:57:40 -0400 Message-ID: References: <20180313183326.0e93f359@canb.auug.org.au> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <20180313183326.0e93f359@canb.auug.org.au> Sender: linux-kernel-owner@vger.kernel.org To: Stephen Rothwell , Kees Cook Cc: Linux-Next Mailing List , Linux Kernel Mailing List , Bart Van Assche List-Id: linux-next.vger.kernel.org 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 =E2=80=98jiffies_delta_to_clock_t=E2= =80=99: ./include/linux/kernel.h:856:2: error: first argument to =E2=80=98__builtin_choose_expr=E2=80=99 not a constant __builtin_choose_expr(__builtin_constant_p(x) && \ ^ ./include/linux/kernel.h:869:19: note: in expansion of macro =E2=80=98__max= =E2=80=99 #define max(x, y) __max(typeof(x), typeof(y), x, y) ^ ./include/linux/jiffies.h:444:28: note: in expansion of macro =E2=80=98max= =E2=80=99 return jiffies_to_clock_t(max(0L, delta)); ^ ./include/linux/mm.h: In function =E2=80=98get_mm_hiwater_rss=E2=80=99: ./include/linux/kernel.h:856:2: error: first argument to =E2=80=98__builtin_choose_expr=E2=80=99 not a constant __builtin_choose_expr(__builtin_constant_p(x) && \ ^ ./include/linux/kernel.h:869:19: note: in expansion of macro =E2=80=98__max= =E2=80=99 #define max(x, y) __max(typeof(x), typeof(y), x, y) ^ ./include/linux/mm.h:1569:9: note: in expansion of macro =E2=80=98max=E2=80= =99 return max(mm->hiwater_rss, get_mm_rss(mm)); ^ ./include/linux/mm.h: In function =E2=80=98get_mm_hiwater_vm=E2=80=99: ./include/linux/kernel.h:856:2: error: first argument to =E2=80=98__builtin_choose_expr=E2=80=99 not a constant __builtin_choose_expr(__builtin_constant_p(x) && \ ^ ./include/linux/kernel.h:869:19: note: in expansion of macro =E2=80=98__max= =E2=80=99 #define max(x, y) __max(typeof(x), typeof(y), x, y) ^ ./include/linux/mm.h:1574:9: note: in expansion of macro =E2=80=98max=E2=80= =99 return max(mm->hiwater_vm, mm->total_vm); ^ ./include/linux/bvec.h: In function =E2=80=98bvec_iter_advance=E2=80=99: ./include/linux/kernel.h:833:2: error: first argument to =E2=80=98__builtin_choose_expr=E2=80=99 not a constant __builtin_choose_expr(__builtin_constant_p(x) && \ ^ ./include/linux/kernel.h:847:19: note: in expansion of macro =E2=80=98__min= =E2=80=99 #define min(x, y) __min(typeof(x), typeof(y), x, y) ^ ./include/linux/bvec.h:59:2: note: in expansion of macro =E2=80=98min=E2=80= =99 min((iter).bi_size, \ ^ ...