On Wed, Feb 27, 2019 at 2:01 PM Andre McCurdy <armccu...@gmail.com> wrote: > > On Wed, Feb 27, 2019 at 12:51 PM Khem Raj <raj.k...@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.k...@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