scripts/mod/modpost.c | 1 + 1 file changed, 1 insertion(+)
.llvm.call-graph-profile section is added by clang when the kernel is
built with profiles (e.g. -fprofile-sample-use= or -fprofile-use=).
Note that .llvm.call-graph-profile intentionally uses REL relocations
to decrease the object size, for more details see
https://reviews.llvm.org/D104080.
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"
Signed-off-by: Denis Nikitin <denik@chromium.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Reviewed-by: Fangrui Song <maskray@google.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
On Mon, Aug 28, 2023 at 5:15 AM Denis Nikitin <denik@chromium.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=). > Note that .llvm.call-graph-profile intentionally uses REL relocations > to decrease the object size, for more details see > https://reviews.llvm.org/D104080. > > 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" > > Signed-off-by: Denis Nikitin <denik@chromium.org> > Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> > Reviewed-by: Fangrui Song <maskray@google.com> > --- Applied to linux-kbuild. Thanks. > 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
© 2016 - 2025 Red Hat, Inc.