All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error
@ 2019-06-06  2:05 Douglas Royds
  2019-06-06  9:45 ` Burton, Ross
  2019-06-07  1:21 ` [PATCH v2] " Douglas Royds
  0 siblings, 2 replies; 10+ messages in thread
From: Douglas Royds @ 2019-06-06  2:05 UTC (permalink / raw)
  To: openembedded-core

icecc preprocesses source files locally before shipping them off to be compiled
on remote hosts. This preprocessing removes comments, including /* fallthrough */
comments in switch statements that normally prevent the implicit-fallthrough
warning.

Rather than turning off -Werror by patching configure.ac, it is simpler to
disable icecc completely for json-c. There are very few source files to compile,
so the compilation is quick even without icecc.

See https://github.com/icecc/icecream/issues/419

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
---
 meta/recipes-devtools/json-c/json-c_0.13.1.bb | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-devtools/json-c/json-c_0.13.1.bb b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
index 5b10e68297..8d2a20352d 100644
--- a/meta/recipes-devtools/json-c/json-c_0.13.1.bb
+++ b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
@@ -21,6 +21,7 @@ RPROVIDES_${PN} = "libjson"
 inherit autotools
 
 EXTRA_OECONF = "--enable-rdrand"
+ICECC_DISABLED = "1"
 
 do_configure_prepend() {
     # Clean up autoconf cruft that should not be in the tarball
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-06  2:05 [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error Douglas Royds
@ 2019-06-06  9:45 ` Burton, Ross
  2019-06-06 21:03   ` Douglas Royds
  2019-06-07  1:21 ` [PATCH v2] " Douglas Royds
  1 sibling, 1 reply; 10+ messages in thread
From: Burton, Ross @ 2019-06-06  9:45 UTC (permalink / raw)
  To: Douglas Royds; +Cc: OE-core

Considering the pain that the gcc upgrade introducing that warning
caused I'll be *very* surprised if this problem is limited to json-c.
Could the icecc class forcibly disable that warning instead?

Ross

On Thu, 6 Jun 2019 at 03:06, Douglas Royds via Openembedded-core
<openembedded-core@lists.openembedded.org> wrote:
>
> icecc preprocesses source files locally before shipping them off to be compiled
> on remote hosts. This preprocessing removes comments, including /* fallthrough */
> comments in switch statements that normally prevent the implicit-fallthrough
> warning.
>
> Rather than turning off -Werror by patching configure.ac, it is simpler to
> disable icecc completely for json-c. There are very few source files to compile,
> so the compilation is quick even without icecc.
>
> See https://github.com/icecc/icecream/issues/419
>
> Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
> ---
>  meta/recipes-devtools/json-c/json-c_0.13.1.bb | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-devtools/json-c/json-c_0.13.1.bb b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
> index 5b10e68297..8d2a20352d 100644
> --- a/meta/recipes-devtools/json-c/json-c_0.13.1.bb
> +++ b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
> @@ -21,6 +21,7 @@ RPROVIDES_${PN} = "libjson"
>  inherit autotools
>
>  EXTRA_OECONF = "--enable-rdrand"
> +ICECC_DISABLED = "1"
>
>  do_configure_prepend() {
>      # Clean up autoconf cruft that should not be in the tarball
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-06  9:45 ` Burton, Ross
@ 2019-06-06 21:03   ` Douglas Royds
  2019-06-06 21:15     ` Joshua Watt
  2019-06-06 22:04     ` Burton, Ross
  0 siblings, 2 replies; 10+ messages in thread
From: Douglas Royds @ 2019-06-06 21:03 UTC (permalink / raw)
  To: Burton, Ross; +Cc: OE-core

I struggled to find a solution that would work in the -native case, as 
we need to support gcc as old as 5.4 (Ubuntu 16.04).

The problem is somewhat specific to json-c, as -Werror is hard-coded 
into configure.ac in this package.


On 6/06/19 9:45 PM, Burton, Ross wrote:

> Considering the pain that the gcc upgrade introducing that warning
> caused I'll be *very* surprised if this problem is limited to json-c.
> Could the icecc class forcibly disable that warning instead?
>
> Ross
>
> On Thu, 6 Jun 2019 at 03:06, Douglas Royds via Openembedded-core
> <openembedded-core@lists.openembedded.org> wrote:
>> icecc preprocesses source files locally before shipping them off to be compiled
>> on remote hosts. This preprocessing removes comments, including /* fallthrough */
>> comments in switch statements that normally prevent the implicit-fallthrough
>> warning.
>>
>> Rather than turning off -Werror by patching configure.ac, it is simpler to
>> disable icecc completely for json-c. There are very few source files to compile,
>> so the compilation is quick even without icecc.
>>
>> See https://github.com/icecc/icecream/issues/419
>>
>> Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
>> ---
>>   meta/recipes-devtools/json-c/json-c_0.13.1.bb | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/meta/recipes-devtools/json-c/json-c_0.13.1.bb b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>> index 5b10e68297..8d2a20352d 100644
>> --- a/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>> +++ b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>> @@ -21,6 +21,7 @@ RPROVIDES_${PN} = "libjson"
>>   inherit autotools
>>
>>   EXTRA_OECONF = "--enable-rdrand"
>> +ICECC_DISABLED = "1"
>>
>>   do_configure_prepend() {
>>       # Clean up autoconf cruft that should not be in the tarball
>> --
>> 2.17.1
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-06 21:03   ` Douglas Royds
@ 2019-06-06 21:15     ` Joshua Watt
  2019-06-06 21:53       ` Douglas Royds
  2019-06-06 22:04     ` Burton, Ross
  1 sibling, 1 reply; 10+ messages in thread
From: Joshua Watt @ 2019-06-06 21:15 UTC (permalink / raw)
  To: Douglas Royds, Burton, Ross; +Cc: OE-core

FWIW: I've fixed a few upstream recipes that were doing this to use the 
__attribute__((fallthrough)) instead of a comment.

Anyway, usually the correct fix is to add the package to 
ICECC_SYSTEM_PACKAGE_BL in icecc.bbclass; it is maybe not ideal but 
ICECC_DISABLED is the user control for enabling and disabling icecream 
globally, not a per-recipe flag.

The current blacklist is woefully outdated, I really need to get around 
to updating it

On 6/6/19 4:03 PM, Douglas Royds via Openembedded-core wrote:
> I struggled to find a solution that would work in the -native case, as 
> we need to support gcc as old as 5.4 (Ubuntu 16.04).
>
> The problem is somewhat specific to json-c, as -Werror is hard-coded 
> into configure.ac in this package.
>
>
> On 6/06/19 9:45 PM, Burton, Ross wrote:
>
>> Considering the pain that the gcc upgrade introducing that warning
>> caused I'll be *very* surprised if this problem is limited to json-c.
>> Could the icecc class forcibly disable that warning instead?
>>
>> Ross
>>
>> On Thu, 6 Jun 2019 at 03:06, Douglas Royds via Openembedded-core
>> <openembedded-core@lists.openembedded.org> wrote:
>>> icecc preprocesses source files locally before shipping them off to 
>>> be compiled
>>> on remote hosts. This preprocessing removes comments, including /* 
>>> fallthrough */
>>> comments in switch statements that normally prevent the 
>>> implicit-fallthrough
>>> warning.
>>>
>>> Rather than turning off -Werror by patching configure.ac, it is 
>>> simpler to
>>> disable icecc completely for json-c. There are very few source files 
>>> to compile,
>>> so the compilation is quick even without icecc.
>>>
>>> See https://github.com/icecc/icecream/issues/419
>>>
>>> Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
>>> ---
>>>   meta/recipes-devtools/json-c/json-c_0.13.1.bb | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/meta/recipes-devtools/json-c/json-c_0.13.1.bb 
>>> b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>> index 5b10e68297..8d2a20352d 100644
>>> --- a/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>> +++ b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>> @@ -21,6 +21,7 @@ RPROVIDES_${PN} = "libjson"
>>>   inherit autotools
>>>
>>>   EXTRA_OECONF = "--enable-rdrand"
>>> +ICECC_DISABLED = "1"
>>>
>>>   do_configure_prepend() {
>>>       # Clean up autoconf cruft that should not be in the tarball
>>> -- 
>>> 2.17.1
>>>
>>> -- 
>>> _______________________________________________
>>> Openembedded-core mailing list
>>> Openembedded-core@lists.openembedded.org
>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-06 21:15     ` Joshua Watt
@ 2019-06-06 21:53       ` Douglas Royds
  0 siblings, 0 replies; 10+ messages in thread
From: Douglas Royds @ 2019-06-06 21:53 UTC (permalink / raw)
  To: Joshua Watt, Burton, Ross; +Cc: OE-core

__attribute__((fallthrough)) wouldn't help us with gcc 5.4 in the 
-native case, of course.

I'll resubmit the patch using ICECC_SYSTEM_PACKAGE_BL


On 7/06/19 9:15 AM, Joshua Watt wrote:

> FWIW: I've fixed a few upstream recipes that were doing this to use 
> the __attribute__((fallthrough)) instead of a comment.
>
> Anyway, usually the correct fix is to add the package to 
> ICECC_SYSTEM_PACKAGE_BL in icecc.bbclass; it is maybe not ideal but 
> ICECC_DISABLED is the user control for enabling and disabling icecream 
> globally, not a per-recipe flag.
>
> The current blacklist is woefully outdated, I really need to get 
> around to updating it
>
> On 6/6/19 4:03 PM, Douglas Royds via Openembedded-core wrote:
>> I struggled to find a solution that would work in the -native case, 
>> as we need to support gcc as old as 5.4 (Ubuntu 16.04).
>>
>> The problem is somewhat specific to json-c, as -Werror is hard-coded 
>> into configure.ac in this package.
>>
>>
>> On 6/06/19 9:45 PM, Burton, Ross wrote:
>>
>>> Considering the pain that the gcc upgrade introducing that warning
>>> caused I'll be *very* surprised if this problem is limited to json-c.
>>> Could the icecc class forcibly disable that warning instead?
>>>
>>> Ross
>>>
>>> On Thu, 6 Jun 2019 at 03:06, Douglas Royds via Openembedded-core
>>> <openembedded-core@lists.openembedded.org> wrote:
>>>> icecc preprocesses source files locally before shipping them off to 
>>>> be compiled
>>>> on remote hosts. This preprocessing removes comments, including /* 
>>>> fallthrough */
>>>> comments in switch statements that normally prevent the 
>>>> implicit-fallthrough
>>>> warning.
>>>>
>>>> Rather than turning off -Werror by patching configure.ac, it is 
>>>> simpler to
>>>> disable icecc completely for json-c. There are very few source 
>>>> files to compile,
>>>> so the compilation is quick even without icecc.
>>>>
>>>> See https://github.com/icecc/icecream/issues/419
>>>>
>>>> Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
>>>> ---
>>>>   meta/recipes-devtools/json-c/json-c_0.13.1.bb | 1 +
>>>>   1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/meta/recipes-devtools/json-c/json-c_0.13.1.bb 
>>>> b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>>> index 5b10e68297..8d2a20352d 100644
>>>> --- a/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>>> +++ b/meta/recipes-devtools/json-c/json-c_0.13.1.bb
>>>> @@ -21,6 +21,7 @@ RPROVIDES_${PN} = "libjson"
>>>>   inherit autotools
>>>>
>>>>   EXTRA_OECONF = "--enable-rdrand"
>>>> +ICECC_DISABLED = "1"
>>>>
>>>>   do_configure_prepend() {
>>>>       # Clean up autoconf cruft that should not be in the tarball
>>>> -- 
>>>> 2.17.1
>>>>
>>>> -- 
>>>> _______________________________________________
>>>> Openembedded-core mailing list
>>>> Openembedded-core@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>>
>>



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-06 21:03   ` Douglas Royds
  2019-06-06 21:15     ` Joshua Watt
@ 2019-06-06 22:04     ` Burton, Ross
  1 sibling, 0 replies; 10+ messages in thread
From: Burton, Ross @ 2019-06-06 22:04 UTC (permalink / raw)
  To: Douglas Royds; +Cc: OE-core

On Thu, 6 Jun 2019 at 22:03, Douglas Royds <douglas.royds@taitradio.com> wrote:
> The problem is somewhat specific to json-c, as -Werror is hard-coded
> into configure.ac in this package.

Which is downright evil, and to be honest we should patch that out.

Ross


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-06  2:05 [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error Douglas Royds
  2019-06-06  9:45 ` Burton, Ross
@ 2019-06-07  1:21 ` Douglas Royds
  2019-06-07 11:20   ` Burton, Ross
  2019-06-11  1:59   ` Douglas Royds
  1 sibling, 2 replies; 10+ messages in thread
From: Douglas Royds @ 2019-06-07  1:21 UTC (permalink / raw)
  To: openembedded-core

icecc preprocesses source files locally before shipping them off to be compiled
on remote hosts. This preprocessing removes comments, including /* fallthrough */
comments in switch statements that normally prevent the implicit-fallthrough
warning.

Rather than turning off -Werror by patching configure.ac, it is simpler to
disable icecc completely for json-c. There are very few source files to compile,
so the compilation is quick even without icecc.

See https://github.com/icecc/icecream/issues/419

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
---
 meta/classes/icecc.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
index edb0e10434..c0f21bdbfd 100644
--- a/meta/classes/icecc.bbclass
+++ b/meta/classes/icecc.bbclass
@@ -76,6 +76,7 @@ ICECC_ENV_DEBUG ??= ""
 # target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL
 #                             prefix" error.
 ICECC_SYSTEM_PACKAGE_BL += "\
+    json-c \
     libgcc-initial \
     target-sdk-provides-dummy \
     "
-- 
2.17.1



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-07  1:21 ` [PATCH v2] " Douglas Royds
@ 2019-06-07 11:20   ` Burton, Ross
  2019-06-09 19:56     ` Burton, Ross
  2019-06-11  1:59   ` Douglas Royds
  1 sibling, 1 reply; 10+ messages in thread
From: Burton, Ross @ 2019-06-07 11:20 UTC (permalink / raw)
  To: Douglas Royds; +Cc: OE-core

FWIW I still believe that just patching out -Werror is the correct fix
here.  To be honest I'm really close to writing a QA check that
-Werror and friends isn't being used at all...

Filed https://github.com/json-c/json-c/issues/489 in the hope that
upstream will handle it.

Ross

On Fri, 7 Jun 2019 at 02:22, Douglas Royds via Openembedded-core
<openembedded-core@lists.openembedded.org> wrote:
>
> icecc preprocesses source files locally before shipping them off to be compiled
> on remote hosts. This preprocessing removes comments, including /* fallthrough */
> comments in switch statements that normally prevent the implicit-fallthrough
> warning.
>
> Rather than turning off -Werror by patching configure.ac, it is simpler to
> disable icecc completely for json-c. There are very few source files to compile,
> so the compilation is quick even without icecc.
>
> See https://github.com/icecc/icecream/issues/419
>
> Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
> ---
>  meta/classes/icecc.bbclass | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
> index edb0e10434..c0f21bdbfd 100644
> --- a/meta/classes/icecc.bbclass
> +++ b/meta/classes/icecc.bbclass
> @@ -76,6 +76,7 @@ ICECC_ENV_DEBUG ??= ""
>  # target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL
>  #                             prefix" error.
>  ICECC_SYSTEM_PACKAGE_BL += "\
> +    json-c \
>      libgcc-initial \
>      target-sdk-provides-dummy \
>      "
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-07 11:20   ` Burton, Ross
@ 2019-06-09 19:56     ` Burton, Ross
  0 siblings, 0 replies; 10+ messages in thread
From: Burton, Ross @ 2019-06-09 19:56 UTC (permalink / raw)
  To: Douglas Royds; +Cc: OE-core

FWIW, this just landed in json-c master:

https://github.com/json-c/json-c/commit/07ea04e65193c3e5c902c5b79421d5fa48ff67c7

"build: add option --disable-werror to configure"

Ross

On Fri, 7 Jun 2019 at 12:20, Burton, Ross <ross.burton@intel.com> wrote:
>
> FWIW I still believe that just patching out -Werror is the correct fix
> here.  To be honest I'm really close to writing a QA check that
> -Werror and friends isn't being used at all...
>
> Filed https://github.com/json-c/json-c/issues/489 in the hope that
> upstream will handle it.
>
> Ross
>
> On Fri, 7 Jun 2019 at 02:22, Douglas Royds via Openembedded-core
> <openembedded-core@lists.openembedded.org> wrote:
> >
> > icecc preprocesses source files locally before shipping them off to be compiled
> > on remote hosts. This preprocessing removes comments, including /* fallthrough */
> > comments in switch statements that normally prevent the implicit-fallthrough
> > warning.
> >
> > Rather than turning off -Werror by patching configure.ac, it is simpler to
> > disable icecc completely for json-c. There are very few source files to compile,
> > so the compilation is quick even without icecc.
> >
> > See https://github.com/icecc/icecream/issues/419
> >
> > Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
> > ---
> >  meta/classes/icecc.bbclass | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass
> > index edb0e10434..c0f21bdbfd 100644
> > --- a/meta/classes/icecc.bbclass
> > +++ b/meta/classes/icecc.bbclass
> > @@ -76,6 +76,7 @@ ICECC_ENV_DEBUG ??= ""
> >  # target-sdk-provides-dummy - ${HOST_PREFIX} is empty which triggers the "NULL
> >  #                             prefix" error.
> >  ICECC_SYSTEM_PACKAGE_BL += "\
> > +    json-c \
> >      libgcc-initial \
> >      target-sdk-provides-dummy \
> >      "
> > --
> > 2.17.1
> >
> > --
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-core


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] json-c: Disable icecc to avoid implicit-fallthrough warning as error
  2019-06-07  1:21 ` [PATCH v2] " Douglas Royds
  2019-06-07 11:20   ` Burton, Ross
@ 2019-06-11  1:59   ` Douglas Royds
  1 sibling, 0 replies; 10+ messages in thread
From: Douglas Royds @ 2019-06-11  1:59 UTC (permalink / raw)
  To: openembedded-core

Please disregard this one, I've sent a recipe update to pick up the new 
--disable-werror configure option.



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-06-11  2:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-06  2:05 [PATCH] json-c: Disable icecc to avoid implicit-fallthrough warning as error Douglas Royds
2019-06-06  9:45 ` Burton, Ross
2019-06-06 21:03   ` Douglas Royds
2019-06-06 21:15     ` Joshua Watt
2019-06-06 21:53       ` Douglas Royds
2019-06-06 22:04     ` Burton, Ross
2019-06-07  1:21 ` [PATCH v2] " Douglas Royds
2019-06-07 11:20   ` Burton, Ross
2019-06-09 19:56     ` Burton, Ross
2019-06-11  1:59   ` Douglas Royds

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.