Hmm, seems I spoke too soon. I tries -O0, but not -Og. -Og does throw those warnings at me.
On 20 October 2017 at 01:36, Jiří Zárevúcky <[email protected]> wrote: > The weirdest part that as far as I can tell, those are legit bugs. > > On my end, I get no warnings whatsoever. The whole build is clean. > > On 20 October 2017 at 01:17, Ondřej Hlavatý <[email protected]> wrote: >> OK, this one is just too weird. It seems GCC turns off some heuristics. >> It might be a better option to find out how to turn it back on on lower >> optimization levels. >> >> See this (command taken from make output, optimization moved to the very >> end): >> >> $ cd uspace/drv/bus/pci/pciintel >> $ $CROSS_PREFIX/amd64-unknown-elf/bin/amd64-unknown-elf-gcc >> -I../../../../lib/c/include -I../../../../lib/c/arch/amd64/include >> -I../../../../../abi/include -imacros ../../../../../config.h -ffreestanding >> -fno-builtin -nostdlib -nostdinc -fexec-charset=UTF-8 -finput-charset=UTF-8 >> -D__LE__ -Werror -fno-omit-frame-pointer -ffunction-sections -Wall -Wextra >> -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 >> -Werror-implicit-function-declaration -Wwrite-strings -pipe >> -mno-tls-direct-seg-refs -g -I../../../../lib/drv/include -c pci.c -o pci.o >> -O0 >> >> $ $CROSS_PREFIX/amd64-unknown-elf/bin/amd64-unknown-elf-gcc >> -I../../../../lib/c/include -I../../../../lib/c/arch/amd64/include >> -I../../../../../abi/include -imacros ../../../../../config.h -ffreestanding >> -fno-builtin -nostdlib -nostdinc -fexec-charset=UTF-8 -finput-charset=UTF-8 >> -D__LE__ -Werror -fno-omit-frame-pointer -ffunction-sections -Wall -Wextra >> -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 >> -Werror-implicit-function-declaration -Wwrite-strings -pipe >> -mno-tls-direct-seg-refs -g -I../../../../lib/drv/include -c pci.c -o pci.o >> -O1 >> >> pci.c: In function 'pci_conf_write': >> pci.c:322:7: error: 'val' may be used uninitialized in this function >> [-Werror=maybe-uninitialized] >> val &= ~(0xffU << ((reg & 3) * 8)); >> ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> cc1: all warnings being treated as errors >> $ $CROSS_PREFIX/amd64-unknown-elf/bin/amd64-unknown-elf-gcc >> -I../../../../lib/c/include -I../../../../lib/c/arch/amd64/include >> -I../../../../../abi/include -imacros ../../../../../config.h -ffreestanding >> -fno-builtin -nostdlib -nostdinc -fexec-charset=UTF-8 -finput-charset=UTF-8 >> -D__LE__ -Werror -fno-omit-frame-pointer -ffunction-sections -Wall -Wextra >> -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 >> -Werror-implicit-function-declaration -Wwrite-strings -pipe >> -mno-tls-direct-seg-refs -g -I../../../../lib/drv/include -c pci.c -o pci.o >> -O2 >> >> $ $CROSS_PREFIX/amd64-unknown-elf/bin/amd64-unknown-elf-gcc >> -I../../../../lib/c/include -I../../../../lib/c/arch/amd64/include >> -I../../../../../abi/include -imacros ../../../../../config.h -ffreestanding >> -fno-builtin -nostdlib -nostdinc -fexec-charset=UTF-8 -finput-charset=UTF-8 >> -D__LE__ -Werror -fno-omit-frame-pointer -ffunction-sections -Wall -Wextra >> -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 >> -Werror-implicit-function-declaration -Wwrite-strings -pipe >> -mno-tls-direct-seg-refs -g -I../../../../lib/drv/include -c pci.c -o pci.o >> -O3 >> >> $ $CROSS_PREFIX/amd64-unknown-elf/bin/amd64-unknown-elf-gcc >> -I../../../../lib/c/include -I../../../../lib/c/arch/amd64/include >> -I../../../../../abi/include -imacros ../../../../../config.h -ffreestanding >> -fno-builtin -nostdlib -nostdinc -fexec-charset=UTF-8 -finput-charset=UTF-8 >> -D__LE__ -Werror -fno-omit-frame-pointer -ffunction-sections -Wall -Wextra >> -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 >> -Werror-implicit-function-declaration -Wwrite-strings -pipe >> -mno-tls-direct-seg-refs -g -I../../../../lib/drv/include -c pci.c -o pci.o >> -Ofast >> >> $ $CROSS_PREFIX/amd64-unknown-elf/bin/amd64-unknown-elf-gcc >> -I../../../../lib/c/include -I../../../../lib/c/arch/amd64/include >> -I../../../../../abi/include -imacros ../../../../../config.h -ffreestanding >> -fno-builtin -nostdlib -nostdinc -fexec-charset=UTF-8 -finput-charset=UTF-8 >> -D__LE__ -Werror -fno-omit-frame-pointer -ffunction-sections -Wall -Wextra >> -Wno-clobbered -Wno-unused-parameter -Wmissing-prototypes -std=gnu99 >> -Werror-implicit-function-declaration -Wwrite-strings -pipe >> -mno-tls-direct-seg-refs -g -I../../../../lib/drv/include -c pci.c -o pci.o >> -Og >> >> pci.c: In function 'pci_conf_write': >> pci.c:322:7: error: 'val' may be used uninitialized in this function >> [-Werror=maybe-uninitialized] >> val &= ~(0xffU << ((reg & 3) * 8)); >> >> How does this behave on your end? >> >> OH >> >> On 20.10., Jiří Zárevúcky wrote: >>> Weird! >>> >>> Whatever the reason for suspicious silence here, this needs to be fixed. >>> It would be great if you could fix all the warnings you are getting. >>> I'll merge your directive as soon as you have it. >>> >>> Thanks! >>> >>> >>> On 20 October 2017 at 00:20, Ondřej Hlavatý <[email protected]> wrote: >>> > Hi, >>> > >>> > On 19.10., Jiří Zárevúcky wrote: >>> >> Could you elaborate on your setup? >>> >> In particular, do you use the proper cross-compiler, as built using >>> >> toolchain.sh? >>> > >>> > I just installed fresh toolchain, distclean, loaded amd64 defaults and >>> > it happened. Strangely, no warnings are reported with -O2. >>> > >>> >> Also, did you add any additional compiler flags? >>> > >>> > No. >>> > >>> >> Any other changes? Differences from default settings? >>> > >>> > My CROSS_PREFIX is set to dir in my home, not the system default. It >>> > still contains the old toolchain, if that could matter. >>> > >>> > I can't think of any other difference - I don't even use the mainline >>> > checkout while working on xhci. >>> > >>> > OH >>> > >>> >> On 19 October 2017 at 23:40, Ondřej Hlavatý <[email protected]> wrote: >>> >> > Well, it seems that the patch is sufficient only when compiling with >>> >> > -O3. There are a lot of other warnings with -Og. It is probably worth >>> >> > checking them all (possibly with -O0) and fixing/muting them at once. >>> >> > >>> >> > Shall I prepare that? >>> >> > >>> >> > OH >>> >> > >>> >> > On 19.10., Ondra Hlavatý wrote: >>> >> >> Hi all, >>> >> >> >>> >> >> When building current mainline with freshly downloaded toolchain, GCC >>> >> >> 7.1.0 complains about uninitialized variables. First of them is real >>> >> >> (extent.c), the second is not, but it's probably too hard for GCC to >>> >> >> infer. >>> >> >> >>> >> >> Hope you're enjoing the hangout. >>> >> >> Ondra Hlavatý >>> >> > >>> >> >> # Bazaar merge directive format 2 (Bazaar 0.90) >>> >> >> # revision_id: [email protected] >>> >> >> # target_branch: bzr://bzr.helenos.org/mainline/ >>> >> >> # testament_sha1: 5343d00f1a73b4b8864f22d5e19dae0f155642cd >>> >> >> # timestamp: 2017-10-19 22:32:34 +0200 >>> >> >> # base_revision_id: [email protected]\ >>> >> >> # ndrkufle1quqodg8 >>> >> >> # >>> >> >> # Begin patch >>> >> >> === modified file 'uspace/lib/ext4/src/extent.c' >>> >> >> --- uspace/lib/ext4/src/extent.c 2017-05-11 22:07:09 +0000 >>> >> >> +++ uspace/lib/ext4/src/extent.c 2017-10-19 20:30:01 +0000 >>> >> >> @@ -374,7 +374,7 @@ >>> >> >> int ext4_extent_find_block(ext4_inode_ref_t *inode_ref, uint32_t >>> >> >> iblock, >>> >> >> uint32_t *fblock) >>> >> >> { >>> >> >> - int rc; >>> >> >> + int rc = EOK; >>> >> >> /* Compute bound defined by i-node size */ >>> >> >> uint64_t inode_size = >>> >> >> ext4_inode_get_size(inode_ref->fs->superblock, >>> >> >> inode_ref->inode); >>> >> >> >>> >> >> === modified file 'uspace/lib/trackmod/xm.c' >>> >> >> --- uspace/lib/trackmod/xm.c 2014-10-13 17:31:01 +0000 >>> >> >> +++ uspace/lib/trackmod/xm.c 2017-10-19 20:30:01 +0000 >>> >> >> @@ -288,7 +288,7 @@ >>> >> >> size_t samples; >>> >> >> size_t instr_size; >>> >> >> size_t smp_size; >>> >> >> - size_t smp_hdr_size; >>> >> >> + size_t smp_hdr_size = 0; /* GCC false alarm on uninitialized */ >>> >> >> ssize_t nread; >>> >> >> uint8_t ltype; >>> >> >> trackmod_sample_t *sample; >>> >> >> >>> >> >> # Begin bundle >>> >> >> IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWe8h8/IAAhpfrAAwUPf//17I >>> >> >> lAC////wACAAAgoAUASu73TT2tb13oim3qnhJQgp4m1T0mnqemTVPyp+o9Sfoo9qn6oMh6jQbRBl >>> >> >> GhGJpo0mkPU0A0AAAAABKEBRoyCbRMTT1GjQAAaNGgAaaoCbKNAAGjQaA0AGg0ABJJNGmpgTET0n >>> >> >> oENNI8pkaDQGgNGE5ypN3TW0+0R5HZU5WV9U0/YwFtIdsdkMEzXS50UmZKCSSkkO9B2beBJRTDBB >>> >> >> fETXzctT0PJvAt9bQk9U2VMYCzRs2vIqiyYKGc07734syjxSqw1mJBlQLfHZxNdkb7RszqhmPmzY >>> >> >> L+AbSq+tfe9BqrcUtO2E5Qwx5KxA6RX9ae6s2j4UjvnbmBv+Os3l0ewCIY0HDDAwyEwkwiQgTGkd >>> >> >> KppsRtJPGLIgqLCIPGf4Hd+wIEgyM41hteE6Rc3XdQUl7SltqQ4ZMpgvzIFuLoRaG/aXCyu7yFNq >>> >> >> EKwVI2HxRJwt7cSbcSIBfIUyLiwFZAzLDzWjgByvVSmxSDIDpMtldhLoyjaTq6dDxziYCQpNxcUA >>> >> >> UmyadFcQgM8Z7FprqSghIN+hLJSmhwAVsxF1ZCBRZcsz0BszFVp0V3idomXU0lZuwRhYSLg5lRbT >>> >> >> W7moCZEk9rTjBzCsXpFIt0BT6MD1DVZbXkFyiBWWCnyI54CE77CwZkiS11pEdNQSZ9rUQi5ixt7i >>> >> >> 64JiBZkBTqzC4Jg6TLDgFBZTAPaHSnVODxBYzGXDRyohYsvMQDPpKyV8nSMUH2OMlu5QxVezVOfk >>> >> >> esUalyPYFiraTEDjpdSVy1tQiCiFjKLLJQmGMRRoBdQOLBBJOzsPY1PqDbF8jGdJengFEu5nHMKP >>> >> >> qMpAM6leHOdcNhXTspYxNSYw+10EcO1dTVZMHrtxMY9/O9LSoU4INE9QQOOGNnFjaK3tget7SInN >>> >> >> hFFtpv6sEqdEmXGoi1DjkG8fSdheYa7pWaRVLPn2SIKw5mfxklL99FMvbWEwM8SlnW9XAX9pBdBP >>> >> >> CTGrcaJ5HvLTTl3vWgrAqphfE19OB3lZ2GM3Bh1haia+KDOdA/bncX4a37tDPd+kHOz3Qzsq5NMK >>> >> >> gYRJgaCNcF2Fd9p/ZALzoRjx8yPWbpRh0YHXcS9vdldGpiZcTeSFqvaSEpYsRWHtWOIErYBVHnLk >>> >> >> d50omtMjGwvR7xnjEm9wyrjQiRA7yh1mKrW0TzI8kPquqJX+f63Yw6UYIZBzRHMsvoPiQ8KfhJXo >>> >> >> nm4zwkKW2on1O9iYueSgChEjQpNc3OMLUwz8dK4w8C3g57O0DZ4LcruCthUY2ghjK4cZFH9pIacG >>> >> >> Q4CUEOVNfQ4ir74wNI0u3hBVDuZZf16C7erepZMURR2SnJFC63Kcz2gZfACtU6mGAWXai4Y9Tr0K >>> >> >> F2AcqItgRvWZXPJlttKHEhUeCwpFWVS1yoITAzidBNU/qjVQYOVJFGlA4PZQELCWmQgClk6RXJCP >>> >> >> zSKkCwKKItkBRz3m+QeRAzUxglsnxIgeF29VP4LNstLNyukyIpcZCySKtRjByqAgrj3nia6Dnjyb >>> >> >> MkajQmgcewDuAbNsVYiePp6YwfxdyRThQkO8h8/I >>> >> > >>> >> >> _______________________________________________ >>> >> >> HelenOS-devel mailing list >>> >> >> [email protected] >>> >> >> http://lists.modry.cz/listinfo/helenos-devel >>> >> > >>> >> > >>> >> > _______________________________________________ >>> >> > HelenOS-devel mailing list >>> >> > [email protected] >>> >> > http://lists.modry.cz/listinfo/helenos-devel >>> >> >>> >> _______________________________________________ >>> >> HelenOS-devel mailing list >>> >> [email protected] >>> >> http://lists.modry.cz/listinfo/helenos-devel >>> > >>> > _______________________________________________ >>> > HelenOS-devel mailing list >>> > [email protected] >>> > http://lists.modry.cz/listinfo/helenos-devel >>> >>> _______________________________________________ >>> HelenOS-devel mailing list >>> [email protected] >>> http://lists.modry.cz/listinfo/helenos-devel >> >> _______________________________________________ >> HelenOS-devel mailing list >> [email protected] >> http://lists.modry.cz/listinfo/helenos-devel _______________________________________________ HelenOS-devel mailing list [email protected] http://lists.modry.cz/listinfo/helenos-devel
