2018-03-14 08:31:16

by Abdul Haleem

[permalink] [raw]
Subject: [linux-next][bisected c7c133f3][gcc 4.8.5] build fail with error: first argument to ‘__builtin_choose_expr’ not a constant

Greetings,

Today's next kernel fails to build with gcc 4.8.5 on powerpc machine.


./include/linux/jiffies.h: In function ‘jiffies_delta_to_clock_t’:
./include/linux/kernel.h:855:2: error: first argument to ‘__builtin_choose_expr’ not a constant
__builtin_choose_expr(__builtin_constant_p(x) && \
^
./include/linux/kernel.h:867:19: note: in expansion of macro ‘__max’
#define max(x, y) __max(typeof(x), typeof(y), x, y)

Machine Type: Power8 Baremetal
gcc: 4.8.5


Builds fine when below patch is reverted
c7c133f3 kernel.h: skip single-eval logic on literals in min()/max()

--
Regard's

Abdul Haleem
IBM Linux Technology Centre





2018-03-14 08:41:34

by Stephen Rothwell

[permalink] [raw]
Subject: Re: [linux-next][bisected c7c133f3][gcc 4.8.5] build fail with error: first argument to ‘__builtin_choose_expr’ not a constant

Hi Abdul,

On Wed, 14 Mar 2018 13:59:54 +0530 Abdul Haleem <[email protected]> wrote:
>
> Today's next kernel fails to build with gcc 4.8.5 on powerpc machine.

Thanks for the report. Just for the future, please include the
next-XXXXXXXX tag when making reports about linux-next.

> ./include/linux/jiffies.h: In function ‘jiffies_delta_to_clock_t’:
> ./include/linux/kernel.h:855:2: error: first argument to ‘__builtin_choose_expr’ not a constant
> __builtin_choose_expr(__builtin_constant_p(x) && \
> ^
> ./include/linux/kernel.h:867:19: note: in expansion of macro ‘__max’
> #define max(x, y) __max(typeof(x), typeof(y), x, y)
>
> Machine Type: Power8 Baremetal
> gcc: 4.8.5
>
>
> Builds fine when below patch is reverted
> c7c133f3 kernel.h: skip single-eval logic on literals in min()/max()

Those patches have been removed from today's linux-next (next-20180314).

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2018-03-14 10:00:33

by Abdul Haleem

[permalink] [raw]
Subject: Re: [linux-next][bisected c7c133f3][gcc 4.8.5] build fail with error: first argument to ‘__builtin_choose_expr’ not a constant

On Wed, 2018-03-14 at 19:39 +1100, Stephen Rothwell wrote:
> Hi Abdul,
>
> On Wed, 14 Mar 2018 13:59:54 +0530 Abdul Haleem <[email protected]> wrote:
> >
> > Today's next kernel fails to build with gcc 4.8.5 on powerpc machine.
>
> Thanks for the report. Just for the future, please include the
> next-XXXXXXXX tag when making reports about linux-next.

Sure, I will. next-20180313 is the bad tag
>
> > ./include/linux/jiffies.h: In function ‘jiffies_delta_to_clock_t’:
> > ./include/linux/kernel.h:855:2: error: first argument to ‘__builtin_choose_expr’ not a constant
> > __builtin_choose_expr(__builtin_constant_p(x) && \
> > ^
> > ./include/linux/kernel.h:867:19: note: in expansion of macro ‘__max’
> > #define max(x, y) __max(typeof(x), typeof(y), x, y)
> >
> > Machine Type: Power8 Baremetal
> > gcc: 4.8.5
> >
> >
> > Builds fine when below patch is reverted
> > c7c133f3 kernel.h: skip single-eval logic on literals in min()/max()
>
> Those patches have been removed from today's linux-next (next-20180314).

--
Regard's

Abdul Haleem
IBM Linux Technology Centre