[PATCH] D72222: [Driver][CodeGen] Add -fpatchable-function-entry=N[,0]

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 23 10:38:17 PST 2020


MaskRay added a comment.

In D72222#1836669 <https://reviews.llvm.org/D72222#1836669>, @hans wrote:

> In D72222#1836643 <https://reviews.llvm.org/D72222#1836643>, @peter.smith wrote:
>
> > >> 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.
> > >  (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?`)
> > > 
> > > @peter.smith @nickdesaulniers What do you think?
> >
> > Revert on the 10.0 release sounds reasonable to me. That would prevent the kernel from enabling the option and would prevent the build failure.
>
>
> But if trunk is broken, shouldn't it be reverted there first, and then we can merge the revert to 10.x (and then trunk can be fixed eventually)?


I don't think the commit is to be blamed. The availability of the driver option -fpatchable-function-entry= enables `CONFIG_DYNAMIC_FTRACE_WITH_REGS` and `CONFIG_LIVEPATCH`, which were not tested before. There could be other issues in the code path.

  % rg fpatchable-function-entry
  arch/arm64/Kconfig
  147:            if $(cc-option,-fpatchable-function-entry=2)
  
  arch/arm64/Makefile
  100:  CC_FLAGS_FTRACE := -fpatchable-function-entry=2

If we can explicitly disable the options in the CI, that will be very nice.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D72222





More information about the cfe-commits mailing list