[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNASstNj2HEfJHcRzqt7hay65T-yEgzaAuXbEQPuCS+yC6w@mail.gmail.com>
Date: Thu, 24 Aug 2023 08:01:43 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Fangrui Song <maskray@...gle.com>
Cc: Denis Nikitin <denik@...omium.org>, linux-kbuild@...r.kernel.org,
Nick Desaulniers <ndesaulniers@...gle.com>,
Nathan Chancellor <nathan@...nel.org>,
Nicolas Schier <nicolas@...sle.eu>, Tom Rix <trix@...hat.com>,
linux-kernel@...r.kernel.org, llvm@...ts.linux.dev
Subject: Re: [PATCH v2] modpost: Skip .llvm.call-graph-profile section check
On Wed, Aug 23, 2023 at 3:00 AM Fangrui Song <maskray@...gle.com> wrote:
>
> On Tue, Aug 22, 2023 at 10:49 AM Denis Nikitin <denik@...omium.org> 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@...omium.org>
> > Reviewed-by: Nick Desaulniers <ndesaulniers@...gle.com>
>
> Thanks. The new commit message looks good to me.
>
> Reviewed-by: Fangrui Song <maskray@...gle.com>
>
> > ---
> > 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
Powered by blists - more mailing lists