arch/arm/probes/kprobes/core.c:409:30: error: .fnstart must precede .save or .vsave directives

Nick Desaulniers ndesaulniers at google.com
Mon Sep 26 10:42:45 PDT 2022


On Mon, Sep 26, 2022 at 8:46 AM Nathan Chancellor <nathan at kernel.org> wrote:
>
> + our mailing list, I should have added it with that message.
>
> On Mon, Sep 26, 2022 at 08:44:05AM -0700, Nathan Chancellor wrote:
> > Hi Naresh,
> >
> > On Mon, Sep 26, 2022 at 06:57:00PM +0530, Naresh Kamboju wrote:
> > > Following build warnings / errors noticed on arm with clang-13 / 14
> > > on Linux next-20220923.
> > >
> > > Reported-by: Linux Kernel Functional Testing <lkft at linaro.org>
> > >
> > > Regressions found on arm:
> > >
> > >    - build-clang-13-bcm2835_defconfig
> > >    - build-clang-nightly-imx_v6_v7_defconfig
> > >    - build-clang-nightly-orion5x_defconfig
> > >    - build-clang-13-keystone_defconfig
> > >    - build-clang-13-omap2plus_defconfig
> > >    - build-clang-14-imx_v6_v7_defconfig
> > >    - build-clang-nightly-omap2plus_defconfig
> > >    - build-clang-nightly-multi_v5_defconfig
> > >    - build-clang-nightly-bcm2835_defconfig
> > >    - build-clang-13-imx_v6_v7_defconfig
> > >    - build-clang-13-imx_v4_v5_defconfig
> > >    - build-clang-14-imx_v4_v5_defconfig
> > >    - build-clang-13-orion5x_defconfig
> > >    - build-clang-14-multi_v5_defconfig-65236a87
> > >    - build-clang-14-lkftconfig
> > >    - build-clang-nightly-imx_v4_v5_defconfig
> > >    - build-clang-13-multi_v5_defconfig
> > >    - build-clang-13-lkftconfig
> > >    - build-clang-nightly-keystone_defconfig
> > >    - build-clang-14-multi_v5_defconfig
> > >    - build-clang-14-orion5x_defconfig
> > >    - build-clang-14-omap2plus_defconfig
> > >    - build-clang-nightly-multi_v5_defconfig-65236a87
> > >    - build-clang-14-bcm2835_defconfig
> > >    - build-clang-14-keystone_defconfig
> > >    - build-clang-nightly-lkftconfig
> > >
> > > arch/arm/probes/kprobes/core.c:409:30: error: .fnstart must precede
> > > .save or .vsave directives
> > >                 "stmdb  sp, {sp, lr, pc}        \n\t"
> > >                                                   ^
> > > <inline asm>:3:2: note: instantiated into assembly here
> > >         .save   {sp, lr, pc}
> > >         ^
> > > /builds/linux/arch/arm/probes/kprobes/core.c:412:29: error: .fnstart
> > > must precede .pad directive
> > >                 "stmdb  sp!, {r0 - r11}         \n\t"
> > >                                                   ^
> > > <inline asm>:6:2: note: instantiated into assembly here
> > >         .pad    #52
> > >         ^
> > > 2 errors generated.
> > > make[5]: *** [/builds/linux/scripts/Makefile.build:250:
> > > arch/arm/probes/kprobes/core.o] Error 1
> > >
> > > build log:
> > > https://builds.tuxbuild.com/2FAyD1qcTlzjIYE7mjrugjCsxu1/
> >
> > Thank you for the testing and report! I brought this up on GitHub on
> > Friday as I noticed this as well:
> >
> > https://github.com/ClangBuiltLinux/linux/issues/1718

Thanks for the reports. I'll take a look at filing additional bug
reports against clang, then moving the definition of
__kretprobe_trampoline to out of line assembler.

> >
> > It sounds like we can avoid this by rewriting __kretprobe_trampoline()
> > in out of line assembly but I have not had a chance to sit down and try
> > it.
> >
> > Cheers,
> > Nathan
>


-- 
Thanks,
~Nick Desaulniers



More information about the linux-arm-kernel mailing list