On Tue, Oct 27, 2015 at 08:57:42PM +0100, Martin Jansa wrote: > On Tue, Oct 27, 2015 at 11:26:32AM -0700, Khem Raj wrote: > > On Tue, Oct 27, 2015 at 11:21 AM, Martin Jansa <[email protected]> > > wrote: > > > On Sat, Sep 05, 2015 at 02:39:14PM +0200, Mike Looijmans wrote: > > >> I got this weird build failure from the "krb" package: > > >> > > >> | make[3]: Entering directory > > >> '/TOPDIR/build/tmp/work/mips32el-oe-linux/krb5/1.13.2-r0/krb5-1.13.2/src/lib/krb5/ccache' > > >> | mipsel-oe-linux-gcc -mel -mabi=32 -mhard-float -march=mips32 > > >> --sysroot=/TOPDIR/build/tmp/sysroots/formuler1 -fPIC -DSHARED > > >> -DHAVE_CONFIG_H -I../../../include -I../../../include -I./ccapi -I. -I. > > >> -DKRB5_DEPRECATED=1 -DKRB5_PRIVATE -Os -pipe -g > > >> -feliminate-unused-debug-types -DDESTRUCTOR_ATTR_WORKS=1 > > >> -I/TOPDIR/build/tmp/sysroots/formuler1/usr/include/et -Wall -Wcast-align > > >> -Wshadow -Wmissing-prototypes -Wno-format-zero-length -Woverflow > > >> -Wstrict-overflow -Wmissing-format-attribute -Wmissing-prototypes > > >> -Wreturn-type -Wmissing-braces -Wparentheses -Wswitch -Wunused-function > > >> -Wunused-label -Wunused-variable -Wunused-value -Wunknown-pragmas > > >> -Wsign-compare -Werror=uninitialized -Werror=pointer-arith > > >> -Werror=declaration-after-statement > > >> -Werror-implicit-function-declaration -pthread -c cc_file.c -o > > >> cc_file.so.o && mv -f cc_file.so.o cc_file.so > > >> | cc_file.c: In function 'fcc_next_cred': > > >> | cc_file.c:368:9: error: 'maxsize' may be used uninitialized in this > > >> function [-Werror=maybe-uninitialized] > > >> | ret = load_data(context, id, maxsize, buf); > > >> | ^ > > >> | cc_file.c:1091:12: note: 'maxsize' was declared here > > >> | size_t maxsize; > > >> | ^ > > >> | cc1: some warnings being treated as errors > > >> > > >> Looking at the source, this doesn't make any sense at all. The > > >> declaration of the variable isn't even in the same method body. And the > > >> line it complains about is about the fifth time it passes that variable > > >> to another method. > > >> > > >> And working around it by initializing maxsize=0 just makes the compiler > > >> choke on a similar situation elsewhere: > > >> | packet.c:50:67: error: 'id' may be used uninitialized in this function > > >> > > >> > > >> I suspect the problem here is GCC and not the krb code. Anyone seen this? > > > > > > I've seen it today in my world builds, It seems to fail only when > > > building with -Os. > > > > > > I've seen similar issue in mdadm, also only with -Os. > > > > > > > is this regression ? or seen for first time? > > krb5 fails to build like this with -Os at least since dizzy > > mdadm failure: > | raid6check.c: In function 'check_stripes': > | raid6check.c:315:8: error: 'stripe_buf' may be used uninitialized in this > function [-Werror=maybe-uninitialized] > | char *stripe_buf; > | ^ > | cc1: all warnings being treated as errors > | make: *** [raid6check.o] Error 1 > | ERROR: oe_runmake failed > > is newer (seen only in Jethro builds). > > But maybe only because this is built in do_compile_ptest_base and ptest > support was added in oe-core/jethro, it fails the same with gcc-5.2 and > gcc-4.9.
Quick grep in my last -Os world build shows 2 more recipes with similar issue (smbnetfs is failing in krb5 dependency already): physfs: | physfs/2.0.3-r0/physfs-2.0.3/archivers/zip.c: In function 'ZIP_openArchive': | physfs/2.0.3-r0/physfs-2.0.3/archivers/zip.c:944:19: error: 'data_start' may be used uninitialized in this function [-Werror=maybe-uninitialized] | entry->offset += ofs_fixup; | ^ | physfs/2.0.3-r0/physfs-2.0.3/archivers/zip.c:1116:19: note: 'data_start' was declared here | PHYSFS_uint32 data_start; | ^ | physfs/2.0.3-r0/physfs-2.0.3/archivers/zip.c: In function 'ZIP_openArchive': | physfs/2.0.3-r0/physfs-2.0.3/archivers/zip.c:944:19: error: 'data_start' may be used uninitialized in this function [-Werror=maybe-uninitialized] | entry->offset += ofs_fixup; | ^ | physfs/2.0.3-r0/physfs-2.0.3/archivers/zip.c:1116:19: note: 'data_start' was declared here | PHYSFS_uint32 data_start; | ^ | cc1: all warnings being treated as errors tvheadend: | tvheadend/3.3-r0/git/src/serviceprobe.c: In function 'serviceprobe_thread': | tvheadend/3.3-r0/git/src/serviceprobe.c:168:7: error: 's' may be used uninitialized in this function [-Werror=maybe-uninitialized] | subscription_unsubscribe(s); | ^ -- Martin 'JaMa' Jansa jabber: [email protected]
signature.asc
Description: Digital signature
-- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
