lkml.org 
[lkml]   [2020]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [GIT PULL] fallthrough pseudo-keyword macro conversions for 5.9-rc3
    On Sun, Aug 23, 2020 at 10:48:41PM -0500, Gustavo A. R. Silva wrote:
    > Hi Linus,
    >
    > Not sure what the problem was with my pull-request for -rc2. So, I'm giving
    > this a second try because I think it is worth it.
    >
    > I have build-tested this patch on 10 different architectures: x86_64, i386,
    > arm64, powerpc, s390, sparc64, sh, m68k, powerpc64 and alpha (allyesconfig/
    > allmodconfig for all of them). This is in linux-next already and kernel
    > test robot has also helped me to successfully build-test early versions
    > of this patch[2][3][4][5]. This patch does not introduce any new warnings.
    >
    > Thank you
    > --
    > Gustavo
    >
    > [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
    > [2] https://lore.kernel.org/lkml/5f3cc99a.HgvOW3rH0mD0RmkM%25lkp@intel.com/
    > [3] https://lore.kernel.org/lkml/5f3dd1d2.l1axczH+t4hMBZ63%25lkp@intel.com/
    > [4] https://lore.kernel.org/lkml/5f3e977a.mwYHUIObbR4SHr0B%25lkp@intel.com/
    > [5] https://lore.kernel.org/lkml/5f3f9e1c.qsyb%2FaySkiXNpkO4%25lkp@intel.com/
    >
    >
    > The following changes since commit d012a7190fc1fd72ed48911e77ca97ba4521bccd:
    >
    > Linux 5.9-rc2 (2020-08-23 14:08:43 -0700)
    >
    > are available in the Git repository at:
    >
    > git://git.kernel.org/pub/scm/linux/kernel/git/gustavoars/linux.git tags/fallthrough-pseudo-keyword-5.9-rc3
    >
    > for you to fetch changes up to df561f6688fef775baa341a0f5d960becd248b11:
    >
    > treewide: Use fallthrough pseudo-keyword (2020-08-23 17:36:59 -0500)
    >
    > ----------------------------------------------------------------
    > fallthrough pseudo-keyword macro conversions for 5.9-rc3
    >
    > Hi Linus,
    >
    > Please, pull the following tree-wide patch that replaces tons (2484) of
    > /* fall through */ comments, and its variants, with the new pseudo-keyword
    > macro fallthrough[1]. Also, remove unnecessary fall-through markings when
    > it is the case.
    >
    > There are currently 1167 intances of this fallthrough pseudo-keyword
    > macro in mainline (5.9-rc2), that have been introduced over the last
    > couple of development cycles:
    >
    > $ git grep -nw 'fallthrough;' | wc -l
    > 1167
    >
    > The global adoption of the fallthrough pseudo-keyword is something certain
    > to happen; so, better sooner than later. :) This will also save everybody's
    > time and thousands of lines of unnecessarily repetitive changelog text.
    >
    > After applying this patch on top of 5.9-rc2, we'll have a total of 3651
    > instances of this macro:
    >
    > $ git grep -nw 'fallthrough;' | wc -l
    > 3651
    >
    > This treewide patch doesn't address ALL fall-through markings in all
    > subsystems at once because I have previously sent out patches for some of
    > such subsystems separately, and I will follow up on them; however, this
    > definitely contributes most of the work needed to replace all the
    > fall-through markings with the fallthrough pseudo-keyword macro in the
    > whole codebase.
    >
    > I have build-tested this patch on 10 different architectures: x86_64, i386,
    > arm64, powerpc, s390, sparc64, sh, m68k, powerpc64 and alpha (allyesconfig
    > for all of them). This is in linux-next already and kernel test robot has
    > also helped me to successfully build-test early versions of this
    > patch[2][3][4][5].
    >
    > Thanks
    > --
    > [1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
    > [2] https://lore.kernel.org/lkml/5f3cc99a.HgvOW3rH0mD0RmkM%25lkp@intel.com/
    > [3] https://lore.kernel.org/lkml/5f3dd1d2.l1axczH+t4hMBZ63%25lkp@intel.com/
    > [4] https://lore.kernel.org/lkml/5f3e977a.mwYHUIObbR4SHr0B%25lkp@intel.com/
    > [5] https://lore.kernel.org/lkml/5f3f9e1c.qsyb%2FaySkiXNpkO4%25lkp@intel.com/
    >
    > ----------------------------------------------------------------
    > Gustavo A. R. Silva (1):
    > treewide: Use fallthrough pseudo-keyword

    $ scripts/config --file arch/powerpc/configs/powernv_defconfig -e KERNEL_XZ

    $ make -skj"$(nproc)" ARCH=powerpc CROSS_COMPILE=powerpc64le-linux- distclean powernv_defconfig zImage
    ...
    In file included from arch/powerpc/boot/../../../lib/decompress_unxz.c:234,
    from arch/powerpc/boot/decompress.c:38:
    arch/powerpc/boot/../../../lib/xz/xz_dec_stream.c: In function 'dec_main':
    arch/powerpc/boot/../../../lib/xz/xz_dec_stream.c:586:4: error: 'fallthrough' undeclared (first use in this function)
    586 | fallthrough;
    | ^~~~~~~~~~~
    arch/powerpc/boot/../../../lib/xz/xz_dec_stream.c:586:4: note: each undeclared identifier is reported only once for each function it appears in
    In file included from arch/powerpc/boot/../../../lib/decompress_unxz.c:235,
    from arch/powerpc/boot/decompress.c:38:
    arch/powerpc/boot/../../../lib/xz/xz_dec_lzma2.c: In function 'xz_dec_lzma2_run':
    arch/powerpc/boot/../../../lib/xz/xz_dec_lzma2.c:1046:4: error: 'fallthrough' undeclared (first use in this function)
    1046 | fallthrough;
    | ^~~~~~~~~~~
    make[2]: *** [arch/powerpc/boot/Makefile:215: arch/powerpc/boot/decompress.o] Error 1
    make[2]: Target 'arch/powerpc/boot/zImage' not remade because of errors.
    make[1]: *** [arch/powerpc/Makefile:295: zImage] Error 2
    make: *** [Makefile:335: __build_one_by_one] Error 2
    make: Target 'distclean' not remade because of errors.
    make: Target 'powernv_defconfig' not remade because of errors.
    make: Target 'zImage' not remade because of errors.

    This will end up affecting distribution configurations such as Debian
    and OpenSUSE according to my testing. I am not sure what the solution
    is, the PowerPC wrapper does not set -D__KERNEL__ so I am not sure that
    compiler_attributes.h can be safely included. Adding Michael and
    linuxppc-dev to CC.

    Cheers,
    Nathan

    \
     
     \ /
      Last update: 2020-08-24 21:45    [W:6.069 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site