MaskRay added a comment.

In D72222#1836645 <https://reviews.llvm.org/D72222#1836645>, @nickdesaulniers 
wrote:

> In D72222#1836610 <https://reviews.llvm.org/D72222#1836610>, @MaskRay wrote:
>
> > In D72222#1836409 <https://reviews.llvm.org/D72222#1836409>, @peter.smith 
> > wrote:
> >
> > > Although this particular commit will not be at fault, it is the option 
> > > that enables the feature which is the earliest I can bisect the fault to. 
> > > There are 3 files in linux that assert fail on the Implement the 
> > > 'patchable-function attribute'. The files in question are 
> > > kasan/quarantine.c, mm/slab_common.c and mm/slub.c .
> > >
> > > I reproduced with
> > >
> > >   make CC=/path/to/clang/install/clang ARCH=arm64 
> > > CROSS_COMPILE=aarch64-linux-gnu- HOSTGCC=gcc allmodconfig
> > >
> > >
> > > You can get the log files for the build, which is from clang-10
> > >  
> > > https://git.linaro.org/toolchain/ci/base-artifacts.git/log/?h=linaro-local/ci/tcwg_kernel/llvm-release-aarch64-mainline-allmodconfig
> > >  (4: update: llvm-linux: 19676)
> > >
> > > If the patchable functions is intended for clang-10 we'll need to make 
> > > sure any fix is merged to clang-10.
> >
> >
> > This commit was made before release/10.x branch. Maybe the easiest thing is 
> > to revert the driver change in release/10.x (CC @hans), before we had a 
> > better understanding of the problem.
>
>
> If you have cycles to debug the assertions quickly, maybe it's a simple fix 
> that doesn't require a revert?
>
> > (Eventually I think the Linux kernel should have a better configure time 
> > test than a simple `whether the compiler accepts 
> > -fpatchable-function-entry=2,0?`)
>
> Maybe, but I would prefer to avoid such autoconf like detection. `cc-option` 
> in the kernel is relatively simple and hardened at this point.


I will need to read your other qemu command lines to learn how to debug.

The problem may be that the Linux kernel expects a different behavior from 
Clang's. We don't have to be hurry. If we decide to revert it in release/10.x, 
we can do that just a few days before 10.0.0 is released. (That was why I 
separated these patches...) I am more concerned of whether the GCC side will 
eventually fix the flaws (https://gcc.gnu.org/ml/gcc/2020-01/msg00067.html).
(I really dislike how the feature was developed on the GCC side. Yet another 
Linux-kernel specific GCC option when there are already 4 existing options for 
the same feature)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D72222/new/

https://reviews.llvm.org/D72222



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to