On Wed, Aug 23, 2023 at 3:00 AM Fangrui Song <maskray@xxxxxxxxxx> wrote: > > On Tue, Aug 22, 2023 at 10:49 AM Denis Nikitin <denik@xxxxxxxxxxxx> wrote: > > > > .llvm.call-graph-profile section is added by clang when the kernel is > > built with profiles (e.g. -fprofile-sample-use= or -fprofile-use=). > > > > The section contains edge information derived from text sections, > > so .llvm.call-graph-profile itself doesn't need more analysis as > > the text sections have been analyzed. > > > > This change fixes the kernel build with clang and a sample profile > > which currently fails with: > > > > "FATAL: modpost: Please add code to calculate addend for this architecture" Curious. This message is only displayed for REL. (Please not it is located in section_rel() function) I think modern architectures use RELA instead of REL. Which architecture are we talking about? What does the output of this command look like? $ llvm-readelf -S vmlinux.o | grep .llvm.call-graph-profile Is it REL? > > > > Signed-off-by: Denis Nikitin <denik@xxxxxxxxxxxx> > > Reviewed-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > > Thanks. The new commit message looks good to me. > > Reviewed-by: Fangrui Song <maskray@xxxxxxxxxx> > > > --- > > scripts/mod/modpost.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > > index b29b29707f10..64bd13f7199c 100644 > > --- a/scripts/mod/modpost.c > > +++ b/scripts/mod/modpost.c > > @@ -761,6 +761,7 @@ static const char *const section_white_list[] = > > ".fmt_slot*", /* EZchip */ > > ".gnu.lto*", > > ".discard.*", > > + ".llvm.call-graph-profile", /* call graph */ > > NULL > > }; > > > > -- > > 2.42.0.rc1.204.g551eb34607-goog > > > > > -- > 宋方睿 -- Best Regards Masahiro Yamada