Buildresult: linus/ppc64_defconfig/powerpc-gcc5 built on Jul 27, 11:07
kisskb
Revisions
|
Branches
|
Compilers
|
Configs
|
Build Results
|
Build Failures
|
Status:
OK
Date/Time:
Jul 27, 11:07
Duration:
0:02:06.708170
Builder:
ka4
Revision:
minmax: avoid overly complicated constant expressions in VM code (
3a7e02c040b130b5545e4b115aada7bacd80a2b6)
Target:
linus/ppc64_defconfig/powerpc-gcc5
Branch:
linus
Compiler:
powerpc-gcc5
(powerpc64-linux-gcc (GCC) 5.5.0 / GNU ld (GNU Binutils) 2.29.1.20170915)
Config:
ppc64_defconfig
(
download
)
Log:
Download original
Possible warnings (5)
fs/btrfs/inode.c:5603:9: warning: 'location.objectid' may be used uninitialized in this function [-Wmaybe-uninitialized] fs/btrfs/inode.c:5674:5: warning: 'location.type' may be used uninitialized in this function [-Wmaybe-uninitialized] cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-stringop-overflow'
Full Log
# git rev-parse -q --verify 3a7e02c040b130b5545e4b115aada7bacd80a2b6^{commit} 3a7e02c040b130b5545e4b115aada7bacd80a2b6 already have revision, skipping fetch # git checkout -q -f -B kisskb 3a7e02c040b130b5545e4b115aada7bacd80a2b6 # git clean -qxdf # < git log -1 # commit 3a7e02c040b130b5545e4b115aada7bacd80a2b6 # Author: Linus Torvalds <torvalds@linux-foundation.org> # Date: Fri Jul 26 15:32:27 2024 -0700 # # minmax: avoid overly complicated constant expressions in VM code # # The minmax infrastructure is overkill for simple constants, and can # cause huge expansions because those simple constants are then used by # other things. # # For example, 'pageblock_order' is a core VM constant, but because it was # implemented using 'min_t()' and all the type-checking that involves, it # actually expanded to something like 2.5kB of preprocessor noise. # # And when that simple constant was then used inside other expansions: # # #define pageblock_nr_pages (1UL << pageblock_order) # #define pageblock_start_pfn(pfn) ALIGN_DOWN((pfn), pageblock_nr_pages) # # and we then use that inside a 'max()' macro: # # case ISOLATE_SUCCESS: # update_cached = false; # last_migrated_pfn = max(cc->zone->zone_start_pfn, # pageblock_start_pfn(cc->migrate_pfn - 1)); # # the end result was that one statement expanding to 253kB in size. # # There are probably other cases of this, but this one case certainly # stood out. # # I've added 'MIN_T()' and 'MAX_T()' macros for this kind of "core simple # constant with specific type" use. These macros skip the type checking, # and as such need to be very sparingly used only for obvious cases that # have active issues like this. # # Reported-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> # Link: https://lore.kernel.org/all/36aa2cad-1db1-4abf-8dd2-fb20484aabc3@lucifer.local/ # Cc: David Laight <David.Laight@aculab.com> # Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 3a7e02c040b130b5545e4b115aada7bacd80a2b6 # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc64_defconfig # < make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 40 ARCH=powerpc O=/kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/fs/btrfs/inode.c: In function 'btrfs_lookup_dentry': /kisskb/src/fs/btrfs/inode.c:5603:9: warning: 'location.objectid' may be used uninitialized in this function [-Wmaybe-uninitialized] return btrfs_iget_path(ino, root, NULL); ^ /kisskb/src/fs/btrfs/inode.c:5663:19: note: 'location.objectid' was declared here struct btrfs_key location; ^ /kisskb/src/fs/btrfs/inode.c:5674:5: warning: 'location.type' may be used uninitialized in this function [-Wmaybe-uninitialized] if (location.type == BTRFS_INODE_ITEM_KEY) { ^ /kisskb/src/fs/btrfs/inode.c: At top level: cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-shift-negative-value' cc1: warning: unrecognized command line option '-Wno-stringop-overflow' Completed OK # rm -rf /kisskb/build/linus_ppc64_defconfig_powerpc-gcc5 # Build took: 0:02:06.708170
© Michael Ellerman 2006-2018.