Message ID | 20190227205042.44813-2-raj.khem@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [V2,1/2] bitbake.conf: Use -Og in DEBUG_OPTIMIZATION | expand |
On Wed, Feb 27, 2019 at 12:51 PM Khem Raj <raj.khem@gmail.com> wrote: > > Since compiler does not optimize away a lot of stuff we end up with > Werrors e.g. > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] > 114 | + (k * ln2_lo + c))) - f); > | ~~~~~~~~~~~~^~~~ > > which otherwise wont happen, so lets build with warnings-as-errors > disabled in debug mode > > given we disable werror, now we don't have to restrict user to compile > without -O0 Did you actually test with -O0? Even if it builds, there may be issues at runtime: https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > meta/recipes-core/glibc/glibc.inc | 9 --------- > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > 2 files changed, 1 insertion(+), 9 deletions(-) > > diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc > index 67af396133..a382a22b73 100644 > --- a/meta/recipes-core/glibc/glibc.inc > +++ b/meta/recipes-core/glibc/glibc.inc > @@ -2,15 +2,6 @@ require glibc-common.inc > require glibc-ld.inc > require glibc-testing.inc > > -python () { > - opt_effective = "-O" > - for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > - if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > - opt_effective = opt > - if opt_effective == "-O0": > - bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) > -} > - > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > PROVIDES = "virtual/libc" > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb > index bd8aa6d503..9b6fab066b 100644 > --- a/meta/recipes-core/glibc/glibc_2.29.bb > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > --disable-crypt \ > --with-default-link \ > --enable-nscd \ > + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ > ${GLIBCPIE} \ > ${GLIBC_EXTRA_OECONF}" > > -- > 2.21.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > Since compiler does not optimize away a lot of stuff we end up with > > Werrors e.g. > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > 114 | + (k * ln2_lo + c))) - f); > > | ~~~~~~~~~~~~^~~~ > > > > which otherwise wont happen, so lets build with warnings-as-errors > > disabled in debug mode > > > > given we disable werror, now we don't have to restrict user to compile > > without -O0 > > Did you actually test with -O0? Even if it builds, there may be issues > at runtime: > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F Agreed, last time I've tried it still didn't work in runtime with -O0. If this is the only place where it now fails, can we please work around it like in: https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d and pending: https://patches-gcc.linaro.org/patch/13529/ > > meta/recipes-core/glibc/glibc.inc | 9 --------- > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc > > index 67af396133..a382a22b73 100644 > > --- a/meta/recipes-core/glibc/glibc.inc > > +++ b/meta/recipes-core/glibc/glibc.inc > > @@ -2,15 +2,6 @@ require glibc-common.inc > > require glibc-ld.inc > > require glibc-testing.inc > > > > -python () { > > - opt_effective = "-O" > > - for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > - if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > - opt_effective = opt > > - if opt_effective == "-O0": > > - bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) > > -} > > - > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > PROVIDES = "virtual/libc" > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb > > index bd8aa6d503..9b6fab066b 100644 > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > --disable-crypt \ > > --with-default-link \ > > --enable-nscd \ > > + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ > > ${GLIBCPIE} \ > > ${GLIBC_EXTRA_OECONF}" > > > > -- > > 2.21.0 > > > > -- > > _______________________________________________ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Wed, Feb 27, 2019 at 2:01 PM Andre McCurdy <armccurdy@gmail.com> wrote: > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > Since compiler does not optimize away a lot of stuff we end up with > > Werrors e.g. > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > 114 | + (k * ln2_lo + c))) - f); > > | ~~~~~~~~~~~~^~~~ > > > > which otherwise wont happen, so lets build with warnings-as-errors > > disabled in debug mode > > > > given we disable werror, now we don't have to restrict user to compile > > without -O0 > > Did you actually test with -O0? Even if it builds, there may be issues > at runtime: Yes I did, and it does not build with -O0 and glibc build system gives in file included from <command-line>: ./../include/libc-symbols.h:75:3: error: #error "glibc cannot be compiled without optimization" 75 | # error "glibc cannot be compiled without optimization" | ^~~~~ In file included from <command-line>: ./../include/libc-symbols.h:75:3: error: #error "glibc cannot be compiled without optimization" 75 | # error "glibc cannot be compiled without optimization" | ^~~~~ In file included from <command-line>: ./../include/libc-symbols.h:75:3: error: #error "glibc cannot be compiled without optimization" 75 | # error "glibc cannot be compiled without optimization" | ^~~~~ this is user friendly message, that we can rely on, there is no need to have code in metadata to detect it. > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > > --- > > meta/recipes-core/glibc/glibc.inc | 9 --------- > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc > > index 67af396133..a382a22b73 100644 > > --- a/meta/recipes-core/glibc/glibc.inc > > +++ b/meta/recipes-core/glibc/glibc.inc > > @@ -2,15 +2,6 @@ require glibc-common.inc > > require glibc-ld.inc > > require glibc-testing.inc > > > > -python () { > > - opt_effective = "-O" > > - for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > - if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > - opt_effective = opt > > - if opt_effective == "-O0": > > - bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) > > -} > > - > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > PROVIDES = "virtual/libc" > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb > > index bd8aa6d503..9b6fab066b 100644 > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > --disable-crypt \ > > --with-default-link \ > > --enable-nscd \ > > + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ > > ${GLIBCPIE} \ > > ${GLIBC_EXTRA_OECONF}" > > > > -- > > 2.21.0 > > > > -- > > _______________________________________________ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Wed, Feb 27, 2019 at 2:32 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > > > Since compiler does not optimize away a lot of stuff we end up with > > > Werrors e.g. > > > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > > 114 | + (k * ln2_lo + c))) - f); > > > | ~~~~~~~~~~~~^~~~ > > > > > > which otherwise wont happen, so lets build with warnings-as-errors > > > disabled in debug mode > > > > > > given we disable werror, now we don't have to restrict user to compile > > > without -O0 > > > > Did you actually test with -O0? Even if it builds, there may be issues > > at runtime: > > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > Agreed, last time I've tried it still didn't work in runtime with -O0. > intention is not to state that it should be working with -O0, but let glibc complain that it can not be compiled with out optimization which it does nicely. > If this is the only place where it now fails, can we please work around No, this is just a representative, there are several such warnings in tests especially, so disabling werror is only sane here. > it like in: > https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 > https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d > and pending: > https://patches-gcc.linaro.org/patch/13529/ > > > > meta/recipes-core/glibc/glibc.inc | 9 --------- > > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > > > diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc > > > index 67af396133..a382a22b73 100644 > > > --- a/meta/recipes-core/glibc/glibc.inc > > > +++ b/meta/recipes-core/glibc/glibc.inc > > > @@ -2,15 +2,6 @@ require glibc-common.inc > > > require glibc-ld.inc > > > require glibc-testing.inc > > > > > > -python () { > > > - opt_effective = "-O" > > > - for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > > - if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > > - opt_effective = opt > > > - if opt_effective == "-O0": > > > - bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) > > > -} > > > - > > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > > > PROVIDES = "virtual/libc" > > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb > > > index bd8aa6d503..9b6fab066b 100644 > > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > > --disable-crypt \ > > > --with-default-link \ > > > --enable-nscd \ > > > + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ > > > ${GLIBCPIE} \ > > > ${GLIBC_EXTRA_OECONF}" > > > > > > -- > > > 2.21.0 > > > > > > -- > > > _______________________________________________ > > > Openembedded-core mailing list > > > Openembedded-core@lists.openembedded.org > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > -- > > _______________________________________________ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > -- > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Wed, Feb 27, 2019 at 4:31 PM Khem Raj <raj.khem@gmail.com> wrote: > > On Wed, Feb 27, 2019 at 2:32 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > > > On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > > > > > Since compiler does not optimize away a lot of stuff we end up with > > > > Werrors e.g. > > > > > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > > > 114 | + (k * ln2_lo + c))) - f); > > > > | ~~~~~~~~~~~~^~~~ > > > > > > > > which otherwise wont happen, so lets build with warnings-as-errors > > > > disabled in debug mode > > > > > > > > given we disable werror, now we don't have to restrict user to compile > > > > without -O0 > > > > > > Did you actually test with -O0? Even if it builds, there may be issues > > > at runtime: > > > > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > > > Agreed, last time I've tried it still didn't work in runtime with -O0. > > > > intention is not to state that it should be working with -O0, but let > glibc complain that it can not be compiled with out optimization which > it does nicely. Doesn't glibc complain about -O0 regardless of --disable-werror? If so then I don't see any advantage in specifically passing --disable-werror in the -O0 case. > > If this is the only place where it now fails, can we please work around > > No, this is just a representative, there are several such warnings in > tests especially, so disabling werror is only sane here. > > > it like in: > > https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 > > https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d > > and pending: > > https://patches-gcc.linaro.org/patch/13529/ > > > > > > meta/recipes-core/glibc/glibc.inc | 9 --------- > > > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > > > > > diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc > > > > index 67af396133..a382a22b73 100644 > > > > --- a/meta/recipes-core/glibc/glibc.inc > > > > +++ b/meta/recipes-core/glibc/glibc.inc > > > > @@ -2,15 +2,6 @@ require glibc-common.inc > > > > require glibc-ld.inc > > > > require glibc-testing.inc > > > > > > > > -python () { > > > > - opt_effective = "-O" > > > > - for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > > > - if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > > > - opt_effective = opt > > > > - if opt_effective == "-O0": > > > > - bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) > > > > -} > > > > - > > > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > > > > > PROVIDES = "virtual/libc" > > > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb > > > > index bd8aa6d503..9b6fab066b 100644 > > > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > > > --disable-crypt \ > > > > --with-default-link \ > > > > --enable-nscd \ > > > > + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ > > > > ${GLIBCPIE} \ > > > > ${GLIBC_EXTRA_OECONF}" > > > > > > > > -- > > > > 2.21.0 > > > > > > > > -- > > > > _______________________________________________ > > > > Openembedded-core mailing list > > > > Openembedded-core@lists.openembedded.org > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > -- > > > _______________________________________________ > > > Openembedded-core mailing list > > > Openembedded-core@lists.openembedded.org > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > > -- > > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Wed, Feb 27, 2019 at 4:46 PM Andre McCurdy <armccurdy@gmail.com> wrote: > > On Wed, Feb 27, 2019 at 4:31 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > On Wed, Feb 27, 2019 at 2:32 PM Martin Jansa <martin.jansa@gmail.com> wrote: > > > > > > On Wed, Feb 27, 2019 at 02:01:06PM -0800, Andre McCurdy wrote: > > > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj <raj.khem@gmail.com> wrote: > > > > > > > > > > Since compiler does not optimize away a lot of stuff we end up with > > > > > Werrors e.g. > > > > > > > > > > ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': > > > > > ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] > > > > > 114 | + (k * ln2_lo + c))) - f); > > > > > | ~~~~~~~~~~~~^~~~ > > > > > > > > > > which otherwise wont happen, so lets build with warnings-as-errors > > > > > disabled in debug mode > > > > > > > > > > given we disable werror, now we don't have to restrict user to compile > > > > > without -O0 > > > > > > > > Did you actually test with -O0? Even if it builds, there may be issues > > > > at runtime: > > > > > > > > https://sourceware.org/glibc/wiki/FAQ#Why_do_I_get:.60.23error_.22glibc_cannot_be_compiled_without_optimization.22.27.2C_when_trying_to_compile_GNU_libc_with_GNU_CC.3F > > > > > > Agreed, last time I've tried it still didn't work in runtime with -O0. > > > > > > > intention is not to state that it should be working with -O0, but let > > glibc complain that it can not be compiled with out optimization which > > it does nicely. > > Doesn't glibc complain about -O0 regardless of --disable-werror? > No, it gets stuck in warnings being treated as errors and that can misguide the user. > If so then I don't see any advantage in specifically passing > --disable-werror in the -O0 case. > > > > If this is the only place where it now fails, can we please work around > > > > No, this is just a representative, there are several such warnings in > > tests especially, so disabling werror is only sane here. > > > > > it like in: > > > https://sourceware.org/git/?p=glibc.git;a=commit;h=27c5e756a2a8495d77480a103081a86c1ca9a1e8 > > > https://sourceware.org/git/?p=glibc.git;a=commit;h=4a06ceea33ecc220bbfe264d8f1e74de2f04e90d > > > and pending: > > > https://patches-gcc.linaro.org/patch/13529/ > > > > > > > > meta/recipes-core/glibc/glibc.inc | 9 --------- > > > > > meta/recipes-core/glibc/glibc_2.29.bb | 1 + > > > > > 2 files changed, 1 insertion(+), 9 deletions(-) > > > > > > > > > > diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc > > > > > index 67af396133..a382a22b73 100644 > > > > > --- a/meta/recipes-core/glibc/glibc.inc > > > > > +++ b/meta/recipes-core/glibc/glibc.inc > > > > > @@ -2,15 +2,6 @@ require glibc-common.inc > > > > > require glibc-ld.inc > > > > > require glibc-testing.inc > > > > > > > > > > -python () { > > > > > - opt_effective = "-O" > > > > > - for opt in d.getVar('SELECTED_OPTIMIZATION').split(): > > > > > - if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): > > > > > - opt_effective = opt > > > > > - if opt_effective == "-O0": > > > > > - bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) > > > > > -} > > > > > - > > > > > DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" > > > > > > > > > > PROVIDES = "virtual/libc" > > > > > diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb > > > > > index bd8aa6d503..9b6fab066b 100644 > > > > > --- a/meta/recipes-core/glibc/glibc_2.29.bb > > > > > +++ b/meta/recipes-core/glibc/glibc_2.29.bb > > > > > @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ > > > > > --disable-crypt \ > > > > > --with-default-link \ > > > > > --enable-nscd \ > > > > > + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ > > > > > ${GLIBCPIE} \ > > > > > ${GLIBC_EXTRA_OECONF}" > > > > > > > > > > -- > > > > > 2.21.0 > > > > > > > > > > -- > > > > > _______________________________________________ > > > > > Openembedded-core mailing list > > > > > Openembedded-core@lists.openembedded.org > > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > > -- > > > > _______________________________________________ > > > > Openembedded-core mailing list > > > > Openembedded-core@lists.openembedded.org > > > > http://lists.openembedded.org/mailman/listinfo/openembedded-core > > > > > > -- > > > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc index 67af396133..a382a22b73 100644 --- a/meta/recipes-core/glibc/glibc.inc +++ b/meta/recipes-core/glibc/glibc.inc @@ -2,15 +2,6 @@ require glibc-common.inc require glibc-ld.inc require glibc-testing.inc -python () { - opt_effective = "-O" - for opt in d.getVar('SELECTED_OPTIMIZATION').split(): - if opt in ("-O0", "-O", "-O1", "-O2", "-O3", "-Os"): - opt_effective = opt - if opt_effective == "-O0": - bb.fatal("%s can't be built with %s, try -O1 instead" % (d.getVar('PN'), opt_effective)) -} - DEPENDS = "virtual/${TARGET_PREFIX}gcc libgcc-initial linux-libc-headers" PROVIDES = "virtual/libc" diff --git a/meta/recipes-core/glibc/glibc_2.29.bb b/meta/recipes-core/glibc/glibc_2.29.bb index bd8aa6d503..9b6fab066b 100644 --- a/meta/recipes-core/glibc/glibc_2.29.bb +++ b/meta/recipes-core/glibc/glibc_2.29.bb @@ -90,6 +90,7 @@ EXTRA_OECONF = "--enable-kernel=${OLDEST_KERNEL} \ --disable-crypt \ --with-default-link \ --enable-nscd \ + ${@bb.utils.contains_any('SELECTED_OPTIMIZATION', '-O0 -Og', '--disable-werror', '', d)} \ ${GLIBCPIE} \ ${GLIBC_EXTRA_OECONF}"
Since compiler does not optimize away a lot of stuff we end up with Werrors e.g. ./sysdeps/ieee754/flt-32/s_log1pf.c: In function '__log1pf': ../sysdeps/ieee754/flt-32/s_log1pf.c:114:22: error: 'c' may be used uninitialized in this function [-Werror=maybe-uninitialized] 114 | + (k * ln2_lo + c))) - f); | ~~~~~~~~~~~~^~~~ which otherwise wont happen, so lets build with warnings-as-errors disabled in debug mode given we disable werror, now we don't have to restrict user to compile without -O0 Signed-off-by: Khem Raj <raj.khem@gmail.com> --- meta/recipes-core/glibc/glibc.inc | 9 --------- meta/recipes-core/glibc/glibc_2.29.bb | 1 + 2 files changed, 1 insertion(+), 9 deletions(-) -- 2.21.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core